input.nextTag();
return null;
}
if( !nextTag.isStartElement() || !"array".equals( nextTag.asStartElement().getName().getLocalPart() ) )
{
throw new ValueSerializationException( "Expected an <array/> but got: " + nextTag );
}
XMLEvent currentTag = input.nextTag(); // <object>
while( !currentTag.isEndElement() || !"array".equals( currentTag.asEndElement().getName().getLocalPart() ) )
{
if( !currentTag.isStartElement() || !"object".equals( currentTag.asStartElement().getName().getLocalPart() ) )
{
throw new ValueSerializationException( "Expected an <object/> but got: " + nextTag );
}
currentTag = input.nextTag(); // <field>
K key = null;
V value = null;
while( !currentTag.isEndElement() || !"object".equals( currentTag.asEndElement().getName().getLocalPart() ) )