/** * Merges all consecutive comments recursively. * * @param recurse If {@code true}, then this is applied recursively. */ public default void mergeComments(boolean recurse) { mergeComments(); if (recurse) { for (final Element child : getElements()) { child.mergeComments(true); } } }
root.addComment("Foo", false); assertEquals(2, root.getChildrenCount(Comment.class)); root.mergeComments(); assertEquals(1, root.getChildrenCount(Comment.class)); root.mergeComments(); assertEquals(3, root.getChildrenCount(Comment.class)); assertEquals(3, root.getChildrenCount(Text.class)); root.addText("Hello", false); root.mergeComments(true); root.mergeTexts(true); assertEquals(4, root.getChildrenCount(Comment.class));