Object iterator = containerPolicy.iteratorFor(value);
while(containerPolicy.hasNext(iterator)) {
Object next = containerPolicy.next(iterator, null);
if(next instanceof JAXBElement) {
JAXBElement element = (JAXBElement)next;
XMLRoot root = new XMLRoot();
root.setLocalName(element.getName().getLocalPart());
root.setNamespaceURI(element.getName().getNamespaceURI());
root.setObject(element.getValue());
containerPolicy.addInto(root, results, null);
} else {
containerPolicy.addInto(next, results, null);
}
}
value = results;
} else {
if(value instanceof JAXBElement) {
JAXBElement element = (JAXBElement)value;
XMLRoot root = new XMLRoot();
root.setLocalName(element.getName().getLocalPart());
root.setNamespaceURI(element.getName().getNamespaceURI());
root.setObject(element.getValue());
value = root;
}
}
return value;
}