NoTag extends AbstractHtml { public void addChild(final AbstractHtml child) { super.appendChild(child); } NoTag(final AbstractHtml base, final AbstractHtml... children);  NoTag(final AbstractHtml base,
            final Collection<? extends AbstractHtml> children);  NoTag(final AbstractHtml base, final String childContent);  NoTag(final AbstractHtml base, final String childContent,
            final boolean contentTypeHtml); void addChildren(final List<AbstractHtml> children); void addChild(final AbstractHtml child); void removeChildren(final List<AbstractHtml> children); @Override boolean removeChild(final AbstractHtml child); void removeChild(final String child); void addChild(final String child); String getChildContent(); boolean isChildContentTypeHtml(); @Deprecated @Override boolean removeSharedTagContent(final boolean removeContent); @Deprecated @Override void subscribeTo(final boolean updateClient,
            final SharedTagContent<T> sharedTagContent,
            final ContentFormatter<T> formatter); @Deprecated @Override void addInnerHtml(final boolean updateClient,
            final SharedTagContent<T> sharedTagContent,
            final ContentFormatter<T> formatter); @Deprecated @Override T give(final Consumer<T> consumer); @Deprecated @Override R give(
            final BiFunction<R, C, R> consumer, final C input);  }
@Test public void testAddChildAbstractHtml() { Div div = new Div(null, new Id("one")) { { NoTag noTag = new NoTag(this); Div child = new Div(null, new Id("two")) { { new Div(this, new Id("three")); } }; noTag.addChild(child); } }; Assert.assertEquals( "<div id=\"one\"><div id=\"two\"><div id=\"three\"></div></div></div>", div.toHtmlString()); }