ItemT item = itr.next();
if (item != null) {
if(isMixed && item.getClass()==String.class) {
w.text((String)item,null);
} else {
JaxBeanInfo bi = w.grammar.getBeanInfo(item,true);
if(bi.jaxbType==Object.class && domHandler!=null)
// even if 'v' is a DOM node, it always derive from Object,
// so the getBeanInfo returns BeanInfo for Object
w.writeDom(item,domHandler,o,fieldName);
else
bi.serializeRoot(item,w);
}
}
} catch (JAXBException e) {
w.reportError(fieldName,e);
// recover by ignoring this item