throws XMLStreamException
{
if (XMLUtil.ESB_QNAME_BODY_CONTENT.equals(elementName))
{
StreamHelper.checkNextStartTag(in, XMLUtil.ESB_QNAME_BODY_CONTENT_KEY) ;
final TextElement keyElement = new TextElement(in) ;
final String key = new String(Encoding.decodeToBytes(keyElement.getText())) ;
StreamHelper.checkNextStartTag(in, XMLUtil.ESB_QNAME_BODY_CONTENT_VALUE) ;
final MarshalValueImpl value = MarshalUnmarshalManager.getInstance().unmarshal(in) ;
StreamHelper.checkParentFinished(in) ;
StreamHelper.checkParentFinished(in) ;
if (value == null)
throw new XMLStreamException("Cannot unpack object: " + key) ;
else
_objects.put(key, value) ;
}
else if (XMLUtil.ESB_QNAME_BODY_BYTES_CONTENT.equals(elementName))
{
final TextElement textElement = new TextElement(in) ;
final String value = textElement.getText();
if (value != null)
{
setByteArray(Encoding.decodeToBytes(value)) ;
}
else