Program: 115235
Project: 115235
Buggy source:
public StudyBean getStudyInvestigator(StudyBean study,Node studyNode){
  Element studyElement=(Element)studyNode;
  NodeList nlist=studyElement.getElementsByTagNameNS(CONNECTOR_NAMESPACE_V1,"String_Node_Str");
  Node nlistNode=nlist.item(0);
  Element nlistNodeElement=(Element)nlistNode;
  NodeList nlist2=nlistNodeElement.getElementsByTagNameNS(CONNECTOR_NAMESPACE_V1,"String_Node_Str");
  String firstName="String_Node_Str", lastName="String_Node_Str";
  Node nameNode=nlist2.item(0);
  Element nameNodeElement=(Element)nameNode;
  NodeList nlistNames=nameNodeElement.getElementsByTagNameNS(this.ISO_21090,"String_Node_Str");
  for (int i=0; i < nlistNames.getLength(); i++) {
    Node nlist2Node=nlistNames.item(i);
    NamedNodeMap nodeMap=nlist2Node.getAttributes();
    System.out.println("String_Node_Str" + nodeMap.toString() + "String_Node_Str"+ nodeMap.getLength());
    for (int x=0; x < nodeMap.getLength(); x++) {
      Node something=nodeMap.item(x);
      System.out.println(x + "String_Node_Str" + something.getLocalName()+ "String_Node_Str"+ something.getNodeName()+ "String_Node_Str"+ "String_Node_Str"+ something.getNodeValue());
    }
    Node nodeType=nodeMap.getNamedItem("String_Node_Str");
    Node nodeValue=nodeMap.getNamedItem("String_Node_Str");
    if ("String_Node_Str".equals(nodeType.getNodeValue())) {
      firstName=nodeValue.getNodeValue();
    }
 else {
      lastName=nodeValue.getNodeValue();
    }
  }
  study.setPrincipalInvestigator(firstName + "String_Node_Str" + lastName);
  study.setFacilityContactName(firstName + "String_Node_Str" + lastName);
  NodeList nlist3=nlistNodeElement.getElementsByTagNameNS(CONNECTOR_NAMESPACE_V1,"String_Node_Str");
  Node addrNode=nlist3.item(0);
  String facilityContactEmail="String_Node_Str", facilityContactPhone="String_Node_Str";
  Element addrNodeElement=(Element)addrNode;
  NodeList addrNodeList=addrNodeElement.getElementsByTagNameNS(ISO_21090,"String_Node_Str");
  for (int j=0; j < addrNodeList.getLength(); j++) {
    Node nlist3Node=addrNodeList.item(j);
    NamedNodeMap nodeMap=nlist3Node.getAttributes();
    Node nodeValue=nodeMap.getNamedItem("String_Node_Str");
    if (nodeValue.getNodeValue().startsWith("String_Node_Str")) {
      facilityContactPhone=nodeValue.getNodeValue().replaceFirst("String_Node_Str","String_Node_Str");
    }
 else     if (nodeValue.getNodeValue().startsWith("String_Node_Str")) {
      facilityContactEmail=nodeValue.getNodeValue().replaceFirst("String_Node_Str","String_Node_Str");
    }
  }
  study.setFacilityContactEmail(facilityContactEmail);
  study.setFacilityContactPhone(facilityContactPhone);
  System.out.println("String_Node_Str" + facilityContactEmail + "String_Node_Str"+ facilityContactPhone);
  return study;
}

Fixed version (ground truth):
public StudyBean getStudyInvestigator(StudyBean study,Node studyNode){
  Element studyElement=(Element)studyNode;
  NodeList nlist=studyElement.getElementsByTagNameNS(CONNECTOR_NAMESPACE_V1,"String_Node_Str");
  Node nlistNode=nlist.item(0);
  Element nlistNodeElement=(Element)nlistNode;
  NodeList nlist2=nlistNodeElement.getElementsByTagNameNS(CONNECTOR_NAMESPACE_V1,"String_Node_Str");
  String firstName="String_Node_Str", lastName="String_Node_Str";
  Node nameNode=nlist2.item(0);
  Element nameNodeElement=(Element)nameNode;
  NodeList nlistNames=nameNodeElement.getElementsByTagNameNS(this.ISO_21090,"String_Node_Str");
  for (int i=0; i < nlistNames.getLength(); i++) {
    Node nlist2Node=nlistNames.item(i);
    NamedNodeMap nodeMap=nlist2Node.getAttributes();
    Node nodeType=nodeMap.getNamedItem("String_Node_Str");
    Node nodeValue=nodeMap.getNamedItem("String_Node_Str");
    if ("String_Node_Str".equals(nodeType.getNodeValue())) {
      firstName=nodeValue.getNodeValue();
    }
 else {
      lastName=nodeValue.getNodeValue();
    }
  }
  study.setPrincipalInvestigator(firstName + "String_Node_Str" + lastName);
  study.setFacilityContactName(firstName + "String_Node_Str" + lastName);
  NodeList nlist3=nlistNodeElement.getElementsByTagNameNS(CONNECTOR_NAMESPACE_V1,"String_Node_Str");
  Node addrNode=nlist3.item(0);
  String facilityContactEmail="String_Node_Str", facilityContactPhone="String_Node_Str";
  Element addrNodeElement=(Element)addrNode;
  NodeList addrNodeList=addrNodeElement.getElementsByTagNameNS(ISO_21090,"String_Node_Str");
  for (int j=0; j < addrNodeList.getLength(); j++) {
    Node nlist3Node=addrNodeList.item(j);
    NamedNodeMap nodeMap=nlist3Node.getAttributes();
    Node nodeValue=nodeMap.getNamedItem("String_Node_Str");
    if (nodeValue.getNodeValue().startsWith("String_Node_Str")) {
      facilityContactPhone=nodeValue.getNodeValue().replaceFirst("String_Node_Str","String_Node_Str");
    }
 else     if (nodeValue.getNodeValue().startsWith("String_Node_Str")) {
      facilityContactEmail=nodeValue.getNodeValue().replaceFirst("String_Node_Str","String_Node_Str");
    }
  }
  study.setFacilityContactEmail(facilityContactEmail);
  study.setFacilityContactPhone(facilityContactPhone);
  return study;
}