+ } else if (node instanceof AnyxmlNode) {
+ final AnyxmlNode<?> anyxmlNode = (AnyxmlNode<?>)node;
+ final Class<?> model = anyxmlNode.bodyObjectModel();
+ if (writer.startAnyxmlNode(anyxmlNode.getIdentifier(), model)) {
+ final Object value = node.body();
+ if (DOMSource.class.isAssignableFrom(model)) {
+ verify(value instanceof DOMSource, "Inconsistent anyxml node %s", anyxmlNode);
+ writer.domSourceValue((DOMSource) value);
+ } else {
+ writer.scalarValue(value);
+ }
+ writer.endNode();
+ return true;
+ }
+
+ LOG.debug("Ignoring unhandled anyxml node {}", anyxmlNode);
+ } else if (node instanceof AnydataNode) {
+ final AnydataNode<?> anydata = (AnydataNode<?>) node;
+ final Class<?> model = anydata.bodyObjectModel();
+ if (writer.startAnydataNode(anydata.getIdentifier(), model)) {
+ writer.scalarValue(anydata.body());
+ writer.endNode();
+ return true;
+ }
+
+ LOG.debug("Writer {} does not support anydata in form of {}", writer, model);