Program: 172222
Project: 172222
Buggy source:
/** 
 * End Element
 */
@SuppressWarnings("String_Node_Str") public void endElement(String uri,String localName,String prefixName) throws SAXException {
  namespaces.removeFirst();
  QName elementQName=QName.resolveToQName(this,prefixName);
  if (elementQName == null) {
    return;
  }
  if (elementQName.getNamespaceURI().equals(TRANSFER_URI))   ;
{
    String elementName=elementQName.getLocalName();
    if (elementName.equals(ManifestModel.LOCALNAME_TRANSFER_MAINIFEST)) {
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_TRANSFER_HEADER)) {
      TransferManifestHeader header=(TransferManifestHeader)props.get("String_Node_Str");
      processor.processTransferManifiestHeader(header);
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_NODE)) {
      TransferManifestNormalNode node=(TransferManifestNormalNode)props.get("String_Node_Str");
      processor.processTransferManifestNode(node);
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_DELETED_NODE)) {
      TransferManifestDeletedNode node=(TransferManifestDeletedNode)props.get("String_Node_Str");
      processor.processTransferManifestNode(node);
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_ASPECTS)) {
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_ASPECT)) {
      TransferManifestNormalNode node=(TransferManifestNormalNode)props.get("String_Node_Str");
      node.getAspects().add(QName.createQName(buffer.toString()));
      buffer=null;
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_PROPERTIES)) {
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_PROPERTY)) {
      TransferManifestNormalNode node=(TransferManifestNormalNode)props.get("String_Node_Str");
      QName name=(QName)props.get("String_Node_Str");
      Serializable value=(Serializable)props.get("String_Node_Str");
      node.getProperties().put(name,value);
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_HEADER_CREATED_DATE)) {
      TransferManifestHeader header=(TransferManifestHeader)props.get("String_Node_Str");
      header.setCreatedDate(ISO8601DateFormat.parse(buffer.toString()));
      buffer=null;
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_HEADER_NODE_COUNT)) {
      TransferManifestHeader header=(TransferManifestHeader)props.get("String_Node_Str");
      header.setNodeCount(Integer.parseInt(buffer.toString()));
      buffer=null;
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_PARENT_ASSOCS)) {
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_CHILD_ASSOCS)) {
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_CHILD_ASSOC)) {
      String value=buffer.toString();
      QName name=QName.createQName(value);
      NodeRef to=(NodeRef)props.get("String_Node_Str");
      QName type=(QName)props.get("String_Node_Str");
      Boolean isPrimary=(Boolean)props.get("String_Node_Str");
      TransferManifestNormalNode node=(TransferManifestNormalNode)props.get("String_Node_Str");
      ChildAssociationRef childAssociationRef=new ChildAssociationRef(type,node.getNodeRef(),name,to,isPrimary,-1);
      node.getChildAssocs().add(childAssociationRef);
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_PARENT_ASSOC)) {
      String value=buffer.toString();
      QName name=QName.createQName(value);
      NodeRef from=(NodeRef)props.get("String_Node_Str");
      QName type=(QName)props.get("String_Node_Str");
      Boolean isPrimary=(Boolean)props.get("String_Node_Str");
      TransferManifestNode node=(TransferManifestNode)props.get("String_Node_Str");
      ChildAssociationRef childAssociationRef=new ChildAssociationRef(type,from,name,node.getNodeRef(),isPrimary,-1);
      if (TransferManifestNormalNode.class.isAssignableFrom(node.getClass())) {
        TransferManifestNormalNode normalNode=(TransferManifestNormalNode)node;
        List<ChildAssociationRef> parents=normalNode.getParentAssocs();
        if (parents == null) {
          parents=new ArrayList<ChildAssociationRef>();
          normalNode.setParentAssocs(parents);
        }
        parents.add(childAssociationRef);
      }
      if (isPrimary) {
        node.setPrimaryParentAssoc(childAssociationRef);
      }
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_TARGET_ASSOCS)) {
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_SOURCE_ASSOCS)) {
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_ASSOC)) {
      NodeRef source=(NodeRef)props.get("String_Node_Str");
      NodeRef target=(NodeRef)props.get("String_Node_Str");
      QName type=(QName)props.get("String_Node_Str");
      List<AssociationRef> assocs=(List<AssociationRef>)props.get("String_Node_Str");
      AssociationRef assoc=new AssociationRef(null,source,type,target);
      assocs.add(assoc);
      props.put("String_Node_Str",new AssociationRef(null,source,type,target));
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_PRIMARY_PATH)) {
      TransferManifestNode node=(TransferManifestNode)props.get("String_Node_Str");
      String value=buffer.toString();
      Path path=PathHelper.stringToPath(value);
      node.setParentPath(path);
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_VALUES)) {
      props.put("String_Node_Str",props.get("String_Node_Str"));
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_VALUE_STRING)) {
      Collection<Serializable> values=(Collection<Serializable>)props.get("String_Node_Str");
      String value=buffer.toString();
      if (values != null) {
        values.add(value);
      }
 else {
        props.put("String_Node_Str",value);
      }
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_VALUE_NULL)) {
      Collection<Serializable> values=(Collection<Serializable>)props.get("String_Node_Str");
      if (values != null) {
        values.add(null);
      }
 else {
        props.put("String_Node_Str",null);
      }
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_VALUE_SERIALIZED)) {
      Collection<Serializable> values=(Collection<Serializable>)props.get("String_Node_Str");
      String strValue=buffer.toString();
      Object value=null;
      try {
        byte[] data=Base64.decode(strValue.getBytes("String_Node_Str"));
        ObjectInputStream ois=new ObjectInputStream(new ByteArrayInputStream(data));
        value=ois.readObject();
      }
 catch (      IOException error) {
        error.printStackTrace();
      }
catch (      ClassNotFoundException error) {
        error.printStackTrace();
      }
      if (values != null) {
        values.add((Serializable)value);
      }
 else {
        props.put("String_Node_Str",value);
      }
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_MLVALUE)) {
      MLText mltext=(MLText)props.get("String_Node_Str");
      Locale locale=(Locale)props.get("String_Node_Str");
      String value=buffer.toString();
      mltext.addValue(locale,value);
      props.put("String_Node_Str",mltext);
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_CONTENT_HEADER)) {
      TransferManifestNode node=(TransferManifestNode)props.get("String_Node_Str");
      ContentData data=(ContentData)props.get("String_Node_Str");
      props.put("String_Node_Str",data);
    }
  }
}

Fixed version (ground truth):
/** 
 * End Element
 */
@SuppressWarnings("String_Node_Str") public void endElement(String uri,String localName,String prefixName) throws SAXException {
  namespaces.removeFirst();
  QName elementQName=QName.resolveToQName(this,prefixName);
  if (elementQName == null) {
    return;
  }
  if (elementQName.getNamespaceURI().equals(TRANSFER_URI))   ;
{
    String elementName=elementQName.getLocalName();
    if (elementName.equals(ManifestModel.LOCALNAME_TRANSFER_MAINIFEST)) {
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_TRANSFER_HEADER)) {
      TransferManifestHeader header=(TransferManifestHeader)props.get("String_Node_Str");
      processor.processTransferManifiestHeader(header);
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_NODE)) {
      TransferManifestNormalNode node=(TransferManifestNormalNode)props.get("String_Node_Str");
      processor.processTransferManifestNode(node);
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_DELETED_NODE)) {
      TransferManifestDeletedNode node=(TransferManifestDeletedNode)props.get("String_Node_Str");
      processor.processTransferManifestNode(node);
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_ASPECTS)) {
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_ASPECT)) {
      TransferManifestNormalNode node=(TransferManifestNormalNode)props.get("String_Node_Str");
      node.getAspects().add(QName.createQName(buffer.toString()));
      buffer=null;
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_PROPERTIES)) {
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_PROPERTY)) {
      TransferManifestNormalNode node=(TransferManifestNormalNode)props.get("String_Node_Str");
      QName name=(QName)props.get("String_Node_Str");
      Serializable value=(Serializable)props.get("String_Node_Str");
      node.getProperties().put(name,value);
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_HEADER_CREATED_DATE)) {
      TransferManifestHeader header=(TransferManifestHeader)props.get("String_Node_Str");
      header.setCreatedDate(ISO8601DateFormat.parse(buffer.toString()));
      buffer=null;
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_HEADER_NODE_COUNT)) {
      TransferManifestHeader header=(TransferManifestHeader)props.get("String_Node_Str");
      header.setNodeCount(Integer.parseInt(buffer.toString()));
      buffer=null;
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_PARENT_ASSOCS)) {
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_CHILD_ASSOCS)) {
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_CHILD_ASSOC)) {
      String value=buffer.toString();
      QName name=QName.createQName(value);
      NodeRef to=(NodeRef)props.get("String_Node_Str");
      QName type=(QName)props.get("String_Node_Str");
      Boolean isPrimary=(Boolean)props.get("String_Node_Str");
      TransferManifestNormalNode node=(TransferManifestNormalNode)props.get("String_Node_Str");
      ChildAssociationRef childAssociationRef=new ChildAssociationRef(type,node.getNodeRef(),name,to,isPrimary,-1);
      node.getChildAssocs().add(childAssociationRef);
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_PARENT_ASSOC)) {
      String value=buffer.toString();
      QName name=QName.createQName(value);
      NodeRef from=(NodeRef)props.get("String_Node_Str");
      QName type=(QName)props.get("String_Node_Str");
      Boolean isPrimary=(Boolean)props.get("String_Node_Str");
      TransferManifestNode node=(TransferManifestNode)props.get("String_Node_Str");
      List<ChildAssociationRef> parentAssocs=(List<ChildAssociationRef>)props.get("String_Node_Str");
      ChildAssociationRef childAssociationRef=new ChildAssociationRef(type,from,name,node.getNodeRef(),isPrimary,-1);
      parentAssocs.add(childAssociationRef);
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_TARGET_ASSOCS)) {
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_SOURCE_ASSOCS)) {
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_ASSOC)) {
      NodeRef source=(NodeRef)props.get("String_Node_Str");
      NodeRef target=(NodeRef)props.get("String_Node_Str");
      QName type=(QName)props.get("String_Node_Str");
      List<AssociationRef> assocs=(List<AssociationRef>)props.get("String_Node_Str");
      AssociationRef assoc=new AssociationRef(null,source,type,target);
      assocs.add(assoc);
      props.put("String_Node_Str",new AssociationRef(null,source,type,target));
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_PRIMARY_PARENT)) {
      TransferManifestNode node=(TransferManifestNode)props.get("String_Node_Str");
      List<ChildAssociationRef> parentAssocs=(List<ChildAssociationRef>)props.get("String_Node_Str");
      if (parentAssocs != null) {
        assert(parentAssocs.size() == 1);
        node.setPrimaryParentAssoc(parentAssocs.get(0));
      }
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_PRIMARY_PATH)) {
      TransferManifestNode node=(TransferManifestNode)props.get("String_Node_Str");
      String value=buffer.toString();
      Path path=PathHelper.stringToPath(value);
      node.setParentPath(path);
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_VALUES)) {
      props.put("String_Node_Str",props.get("String_Node_Str"));
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_VALUE_STRING)) {
      Collection<Serializable> values=(Collection<Serializable>)props.get("String_Node_Str");
      String value=buffer.toString();
      if (values != null) {
        values.add(value);
      }
 else {
        props.put("String_Node_Str",value);
      }
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_VALUE_NULL)) {
      Collection<Serializable> values=(Collection<Serializable>)props.get("String_Node_Str");
      if (values != null) {
        values.add(null);
      }
 else {
        props.put("String_Node_Str",null);
      }
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_VALUE_SERIALIZED)) {
      Collection<Serializable> values=(Collection<Serializable>)props.get("String_Node_Str");
      String strValue=buffer.toString();
      Object value=null;
      try {
        byte[] data=Base64.decode(strValue.getBytes("String_Node_Str"));
        ObjectInputStream ois=new ObjectInputStream(new ByteArrayInputStream(data));
        value=ois.readObject();
      }
 catch (      IOException error) {
        error.printStackTrace();
      }
catch (      ClassNotFoundException error) {
        error.printStackTrace();
      }
      if (values != null) {
        values.add((Serializable)value);
      }
 else {
        props.put("String_Node_Str",value);
      }
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_MLVALUE)) {
      MLText mltext=(MLText)props.get("String_Node_Str");
      Locale locale=(Locale)props.get("String_Node_Str");
      String value=buffer.toString();
      mltext.addValue(locale,value);
      props.put("String_Node_Str",mltext);
    }
 else     if (elementName.equals(ManifestModel.LOCALNAME_ELEMENT_CONTENT_HEADER)) {
      TransferManifestNode node=(TransferManifestNode)props.get("String_Node_Str");
      ContentData data=(ContentData)props.get("String_Node_Str");
      props.put("String_Node_Str",data);
    }
  }
}