+ @Override
+ public Content getParent() {
+ Node parent = element.getParentNode();
+ if (parent == null)
+ return null;
+ if (!(parent instanceof Element))
+ throw new IllegalStateException("Parent is not an element");
+ return new DomContent(contentProvider, (Element) parent);
+ }
+
+ @Override
+ public Content add(String name, ContentName... classes) {
+ // TODO consider classes
+ Element child = contentProvider.createElement(name);
+ return new DomContent(contentProvider, child);
+ }
+
+ @Override
+ public void remove() {
+ // TODO make it more robust
+ element.getParentNode().removeChild(element);
+
+ }
+
+ @Override
+ protected void removeAttr(String key) {
+ element.removeAttribute(key);
+
+ }
+