Program: 148244
Project: 148244
Buggy source:
public Object doDeserialize(XMLReader reader,SOAPDeserializationContext context) throws Exception {
  com.amalto.workbench.webservices.WSItem instance=new com.amalto.workbench.webservices.WSItem();
  Object member=null;
  QName elementName;
  List values;
  Object value;
  reader.nextElementContent();
  elementName=reader.getName();
  if (reader.getState() == XMLReader.START) {
    if (elementName.equals(ns1_wsDataClusterPK_QNAME)) {
      member=ns2_myWSDataClusterPK_LiteralSerializer.deserialize(ns1_wsDataClusterPK_QNAME,reader,context);
      if (member == null) {
        throw new DeserializationException("String_Node_Str");
      }
      instance.setWsDataClusterPK((com.amalto.workbench.webservices.WSDataClusterPK)member);
      reader.nextElementContent();
    }
 else {
      throw new DeserializationException("String_Node_Str",new Object[]{ns1_wsDataClusterPK_QNAME,reader.getName()});
    }
  }
 else {
    throw new DeserializationException("String_Node_Str",reader.getName().toString());
  }
  elementName=reader.getName();
  if (reader.getState() == XMLReader.START) {
    if (elementName.equals(ns1_dataModelName_QNAME)) {
      member=ns3_myns3_string__java_lang_String_String_Serializer.deserialize(ns1_dataModelName_QNAME,reader,context);
      instance.setDataModelName((java.lang.String)member);
      reader.nextElementContent();
    }
 else {
      throw new DeserializationException("String_Node_Str",new Object[]{ns1_dataModelName_QNAME,reader.getName()});
    }
  }
 else {
    throw new DeserializationException("String_Node_Str",reader.getName().toString());
  }
  elementName=reader.getName();
  if (reader.getState() == XMLReader.START) {
    if (elementName.equals(ns1_dataModelRevision_QNAME)) {
      member=ns3_myns3_string__java_lang_String_String_Serializer.deserialize(ns1_dataModelRevision_QNAME,reader,context);
      instance.setDataModelRevision((java.lang.String)member);
      reader.nextElementContent();
    }
 else {
      throw new DeserializationException("String_Node_Str",new Object[]{ns1_dataModelRevision_QNAME,reader.getName()});
    }
  }
 else {
    throw new DeserializationException("String_Node_Str",reader.getName().toString());
  }
  elementName=reader.getName();
  if (reader.getState() == XMLReader.START) {
    if (elementName.equals(ns1_conceptName_QNAME)) {
      member=ns3_myns3_string__java_lang_String_String_Serializer.deserialize(ns1_conceptName_QNAME,reader,context);
      if (member == null) {
        throw new DeserializationException("String_Node_Str");
      }
      instance.setConceptName((java.lang.String)member);
      reader.nextElementContent();
    }
 else {
      throw new DeserializationException("String_Node_Str",new Object[]{ns1_conceptName_QNAME,reader.getName()});
    }
  }
 else {
    throw new DeserializationException("String_Node_Str",reader.getName().toString());
  }
  elementName=reader.getName();
  if ((reader.getState() == XMLReader.START) && (elementName.equals(ns1_ids_QNAME))) {
    values=new ArrayList();
    for (; ; ) {
      elementName=reader.getName();
      if ((reader.getState() == XMLReader.START) && (elementName.equals(ns1_ids_QNAME))) {
        value=ns3_myns3_string__java_lang_String_String_Serializer.deserialize(ns1_ids_QNAME,reader,context);
        if (value == null) {
          throw new DeserializationException("String_Node_Str");
        }
        values.add(value);
        reader.nextElementContent();
      }
 else {
        break;
      }
    }
    member=new java.lang.String[values.size()];
    member=values.toArray((Object[])member);
    instance.setIds((java.lang.String[])member);
  }
 else   if (!(reader.getState() == XMLReader.END)) {
    throw new DeserializationException("String_Node_Str",reader.getName().toString());
  }
  elementName=reader.getName();
  if (reader.getState() == XMLReader.START) {
    if (elementName.equals(ns1_insertionTime_QNAME)) {
      member=ns3_myns3__long__long_Long_Serializer.deserialize(ns1_insertionTime_QNAME,reader,context);
      if (member == null) {
        throw new DeserializationException("String_Node_Str");
      }
      instance.setInsertionTime(((Long)member).longValue());
      reader.nextElementContent();
    }
 else {
      throw new DeserializationException("String_Node_Str",new Object[]{ns1_insertionTime_QNAME,reader.getName()});
    }
  }
 else {
    throw new DeserializationException("String_Node_Str",reader.getName().toString());
  }
  elementName=reader.getName();
  if (reader.getState() == XMLReader.START) {
    if (elementName.equals(ns1_taskId_QNAME)) {
      member=ns3_myns3_string__java_lang_String_String_Serializer.deserialize(ns1_taskId_QNAME,reader,context);
      if (member == null) {
        throw new DeserializationException("String_Node_Str");
      }
      instance.setTaskId((java.lang.String)member);
      reader.nextElementContent();
    }
 else {
      throw new DeserializationException("String_Node_Str",new Object[]{ns1_taskId_QNAME,reader.getName()});
    }
  }
 else {
    throw new DeserializationException("String_Node_Str",reader.getName().toString());
  }
  elementName=reader.getName();
  if (reader.getState() == XMLReader.START) {
    if (elementName.equals(ns1_content_QNAME)) {
      member=ns3_myns3_string__java_lang_String_String_Serializer.deserialize(ns1_content_QNAME,reader,context);
      if (member == null) {
        throw new DeserializationException("String_Node_Str");
      }
      instance.setContent((java.lang.String)member);
      reader.nextElementContent();
    }
 else {
      throw new DeserializationException("String_Node_Str",new Object[]{ns1_content_QNAME,reader.getName()});
    }
  }
 else {
    throw new DeserializationException("String_Node_Str",reader.getName().toString());
  }
  XMLReaderUtil.verifyReaderState(reader,XMLReader.END);
  return (Object)instance;
}

Fixed version (ground truth):
public Object doDeserialize(XMLReader reader,SOAPDeserializationContext context) throws Exception {
  com.amalto.workbench.webservices.WSItem instance=new com.amalto.workbench.webservices.WSItem();
  Object member=null;
  QName elementName;
  List values;
  Object value;
  reader.nextElementContent();
  elementName=reader.getName();
  if (reader.getState() == XMLReader.START) {
    if (elementName.equals(ns1_wsDataClusterPK_QNAME)) {
      member=ns2_myWSDataClusterPK_LiteralSerializer.deserialize(ns1_wsDataClusterPK_QNAME,reader,context);
      if (member == null) {
        throw new DeserializationException("String_Node_Str");
      }
      instance.setWsDataClusterPK((com.amalto.workbench.webservices.WSDataClusterPK)member);
      reader.nextElementContent();
    }
 else {
      throw new DeserializationException("String_Node_Str",new Object[]{ns1_wsDataClusterPK_QNAME,reader.getName()});
    }
  }
 else {
    throw new DeserializationException("String_Node_Str",reader.getName().toString());
  }
  elementName=reader.getName();
  if (reader.getState() == XMLReader.START) {
    if (elementName.equals(ns1_dataModelName_QNAME)) {
      member=ns3_myns3_string__java_lang_String_String_Serializer.deserialize(ns1_dataModelName_QNAME,reader,context);
      instance.setDataModelName((java.lang.String)member);
      reader.nextElementContent();
    }
 else {
      throw new DeserializationException("String_Node_Str",new Object[]{ns1_dataModelName_QNAME,reader.getName()});
    }
  }
 else {
    throw new DeserializationException("String_Node_Str",reader.getName().toString());
  }
  elementName=reader.getName();
  if (reader.getState() == XMLReader.START) {
    if (elementName.equals(ns1_dataModelRevision_QNAME)) {
      member=ns3_myns3_string__java_lang_String_String_Serializer.deserialize(ns1_dataModelRevision_QNAME,reader,context);
      instance.setDataModelRevision((java.lang.String)member);
      reader.nextElementContent();
    }
 else {
      throw new DeserializationException("String_Node_Str",new Object[]{ns1_dataModelRevision_QNAME,reader.getName()});
    }
  }
 else {
    throw new DeserializationException("String_Node_Str",reader.getName().toString());
  }
  elementName=reader.getName();
  if (reader.getState() == XMLReader.START) {
    if (elementName.equals(ns1_conceptName_QNAME)) {
      member=ns3_myns3_string__java_lang_String_String_Serializer.deserialize(ns1_conceptName_QNAME,reader,context);
      if (member == null) {
        throw new DeserializationException("String_Node_Str");
      }
      instance.setConceptName((java.lang.String)member);
      reader.nextElementContent();
    }
 else {
      throw new DeserializationException("String_Node_Str",new Object[]{ns1_conceptName_QNAME,reader.getName()});
    }
  }
 else {
    throw new DeserializationException("String_Node_Str",reader.getName().toString());
  }
  elementName=reader.getName();
  if ((reader.getState() == XMLReader.START) && (elementName.equals(ns1_ids_QNAME))) {
    values=new ArrayList();
    for (; ; ) {
      elementName=reader.getName();
      if ((reader.getState() == XMLReader.START) && (elementName.equals(ns1_ids_QNAME))) {
        value=ns3_myns3_string__java_lang_String_String_Serializer.deserialize(ns1_ids_QNAME,reader,context);
        if (value == null) {
          throw new DeserializationException("String_Node_Str");
        }
        values.add(value);
        reader.nextElementContent();
      }
 else {
        break;
      }
    }
    member=new java.lang.String[values.size()];
    member=values.toArray((Object[])member);
    instance.setIds((java.lang.String[])member);
  }
 else   if (!(reader.getState() == XMLReader.END)) {
    throw new DeserializationException("String_Node_Str",reader.getName().toString());
  }
  elementName=reader.getName();
  if (reader.getState() == XMLReader.START) {
    if (elementName.equals(ns1_insertionTime_QNAME)) {
      member=ns3_myns3__long__long_Long_Serializer.deserialize(ns1_insertionTime_QNAME,reader,context);
      if (member == null) {
        throw new DeserializationException("String_Node_Str");
      }
      instance.setInsertionTime(((Long)member).longValue());
      reader.nextElementContent();
    }
 else {
      throw new DeserializationException("String_Node_Str",new Object[]{ns1_insertionTime_QNAME,reader.getName()});
    }
  }
 else {
    throw new DeserializationException("String_Node_Str",reader.getName().toString());
  }
  elementName=reader.getName();
  if (reader.getState() == XMLReader.START) {
    if (elementName.equals(ns1_taskId_QNAME)) {
      member=ns3_myns3_string__java_lang_String_String_Serializer.deserialize(ns1_taskId_QNAME,reader,context);
      instance.setTaskId((java.lang.String)member);
      reader.nextElementContent();
    }
  }
  elementName=reader.getName();
  if (reader.getState() == XMLReader.START) {
    if (elementName.equals(ns1_content_QNAME)) {
      member=ns3_myns3_string__java_lang_String_String_Serializer.deserialize(ns1_content_QNAME,reader,context);
      if (member == null) {
        throw new DeserializationException("String_Node_Str");
      }
      instance.setContent((java.lang.String)member);
      reader.nextElementContent();
    }
 else {
      throw new DeserializationException("String_Node_Str",new Object[]{ns1_content_QNAME,reader.getName()});
    }
  }
 else {
    throw new DeserializationException("String_Node_Str",reader.getName().toString());
  }
  XMLReaderUtil.verifyReaderState(reader,XMLReader.END);
  return (Object)instance;
}