Program: 24126
Project: 24126
Buggy source:
private ValueSet buildV3CodeSystem(String id,String date,Element e,String csOid,String vsOid) throws Exception {
  StringBuilder s=new StringBuilder();
  ValueSet vs=new ValueSet();
  vs.setIdentifier("String_Node_Str" + id);
  vs.setName("String_Node_Str" + id);
  vs.setPublisher("String_Node_Str");
  vs.getTelecom().add(Factory.newContactPoint(ContactPointSystem.URL,"String_Node_Str"));
  vs.setStatus(ValuesetStatus.ACTIVE);
  ValueSetDefineComponent def=new ValueSet.ValueSetDefineComponent();
  vs.setDefine(def);
  def.setCaseSensitive(true);
  def.setSystem("String_Node_Str" + id);
  Element r=XMLUtil.getNamedChild(e,"String_Node_Str");
  if (r != null) {
    s.append("String_Node_Str" + r.getAttribute("String_Node_Str") + "String_Node_Str");
    vs.setDate(new DateAndTime(r.getAttribute("String_Node_Str")));
  }
  if (csOid != null)   s.append("String_Node_Str" + csOid + "String_Node_Str");
  if (vsOid != null)   s.append("String_Node_Str" + vsOid + "String_Node_Str");
  r=XMLUtil.getNamedChild(XMLUtil.getNamedChild(XMLUtil.getNamedChild(XMLUtil.getNamedChild(e,"String_Node_Str"),"String_Node_Str"),"String_Node_Str"),"String_Node_Str");
  if (r == null)   r=XMLUtil.getNamedChild(XMLUtil.getNamedChild(XMLUtil.getNamedChild(XMLUtil.getNamedChild(e,"String_Node_Str"),"String_Node_Str"),"String_Node_Str"),"String_Node_Str");
  if (r != null) {
    s.append("String_Node_Str");
    s.append("String_Node_Str" + nodeToString(r) + "String_Node_Str");
    s.append("String_Node_Str");
    vs.setDescription(XMLUtil.htmlToXmlEscapedPlainText(r));
  }
 else   vs.setDescription("String_Node_Str");
  List<CodeInfo> codes=new ArrayList<CodeInfo>();
  Element c=XMLUtil.getFirstChild(XMLUtil.getNamedChild(e,"String_Node_Str"));
  while (c != null) {
    if (c.getNodeName().equals("String_Node_Str")) {
      CodeInfo ci=new CodeInfo();
      ci.select=!"String_Node_Str".equals(c.getAttribute("String_Node_Str"));
      r=XMLUtil.getNamedChild(c,"String_Node_Str");
      ci.code=r == null ? null : r.getAttribute("String_Node_Str");
      r=XMLUtil.getNamedChild(c,"String_Node_Str");
      ci.display=r == null ? null : r.getAttribute("String_Node_Str");
      r=XMLUtil.getNamedChild(XMLUtil.getNamedChild(XMLUtil.getNamedChild(XMLUtil.getNamedChild(c,"String_Node_Str"),"String_Node_Str"),"String_Node_Str"),"String_Node_Str");
      ci.definition=r == null ? null : nodeToString(r);
      ci.textDefinition=r == null ? null : nodeToText(r).trim();
      ci.deprecated=XMLUtil.getNamedChild(XMLUtil.getNamedChild(XMLUtil.getNamedChild(c,"String_Node_Str"),"String_Node_Str"),"String_Node_Str") != null;
      List<Element> pl=new ArrayList<Element>();
      XMLUtil.getNamedChildren(c,"String_Node_Str",pl);
      for (      Element p : pl) {
        if (p.getAttribute("String_Node_Str").equals("String_Node_Str"))         ci.parents.add(XMLUtil.getFirstChild(p).getAttribute("String_Node_Str"));
      }
      if (!"String_Node_Str".equals(XMLUtil.getNamedChild(c,"String_Node_Str").getAttribute("String_Node_Str")))       codes.add(ci);
    }
    c=XMLUtil.getNextSibling(c);
  }
  for (  CodeInfo ci : codes) {
    for (    String p : ci.parents) {
      CodeInfo pi=null;
      for (      CodeInfo cip : codes) {
        if (cip.code != null && cip.code.equals(p))         pi=cip;
      }
      if (pi != null)       pi.children.add(ci);
    }
  }
  s.append("String_Node_Str");
  s.append("String_Node_Str");
  Map<String,ConceptDefinitionComponent> handled=new HashMap<String,ValueSet.ConceptDefinitionComponent>();
  for (  CodeInfo ci : codes) {
    if (ci.parents.size() == 0) {
      ci.write(1,s,vs,def.getConcept(),null,handled);
    }
  }
  s.append("String_Node_Str");
  vs.setText(new Narrative());
  vs.getText().setStatus(NarrativeStatus.GENERATED);
  vs.getText().setDiv(new XhtmlParser().parse("String_Node_Str" + s.toString() + "String_Node_Str","String_Node_Str").getElement("String_Node_Str"));
  new ValueSetValidator(page.getWorkerContext()).validate("String_Node_Str" + id,vs,false,true);
  return vs;
}

Fixed version (ground truth):
private ValueSet buildV3CodeSystem(String id,String date,Element e,String csOid,String vsOid) throws Exception {
  StringBuilder s=new StringBuilder();
  ValueSet vs=new ValueSet();
  vs.setIdentifier("String_Node_Str" + id);
  vs.setName("String_Node_Str" + id);
  vs.setPublisher("String_Node_Str");
  vs.getTelecom().add(Factory.newContactPoint(ContactPointSystem.URL,"String_Node_Str"));
  vs.setStatus(ValuesetStatus.ACTIVE);
  ValueSetDefineComponent def=new ValueSet.ValueSetDefineComponent();
  vs.setDefine(def);
  def.setCaseSensitive(true);
  def.setSystem("String_Node_Str" + id);
  Element r=XMLUtil.getNamedChild(e,"String_Node_Str");
  if (r != null) {
    s.append("String_Node_Str" + r.getAttribute("String_Node_Str") + "String_Node_Str");
    vs.setDate(new DateAndTime(r.getAttribute("String_Node_Str")));
  }
  if (csOid != null)   s.append("String_Node_Str" + csOid + "String_Node_Str");
  if (vsOid != null)   s.append("String_Node_Str" + vsOid + "String_Node_Str");
  r=XMLUtil.getNamedChild(XMLUtil.getNamedChild(XMLUtil.getNamedChild(XMLUtil.getNamedChild(e,"String_Node_Str"),"String_Node_Str"),"String_Node_Str"),"String_Node_Str");
  if (r == null)   r=XMLUtil.getNamedChild(XMLUtil.getNamedChild(XMLUtil.getNamedChild(XMLUtil.getNamedChild(e,"String_Node_Str"),"String_Node_Str"),"String_Node_Str"),"String_Node_Str");
  if (r != null) {
    s.append("String_Node_Str");
    s.append("String_Node_Str").append(nodeToString(r)).append("String_Node_Str");
    s.append("String_Node_Str");
    vs.setDescription(XMLUtil.htmlToXmlEscapedPlainText(r));
  }
 else   vs.setDescription("String_Node_Str");
  List<CodeInfo> codes=new ArrayList<CodeInfo>();
  Element c=XMLUtil.getFirstChild(XMLUtil.getNamedChild(e,"String_Node_Str"));
  while (c != null) {
    if (c.getNodeName().equals("String_Node_Str")) {
      CodeInfo ci=new CodeInfo();
      ci.select=!"String_Node_Str".equals(c.getAttribute("String_Node_Str"));
      r=XMLUtil.getNamedChild(c,"String_Node_Str");
      ci.code=r == null ? null : r.getAttribute("String_Node_Str");
      r=XMLUtil.getNamedChild(c,"String_Node_Str");
      ci.display=r == null ? null : r.getAttribute("String_Node_Str");
      r=XMLUtil.getNamedChild(XMLUtil.getNamedChild(XMLUtil.getNamedChild(XMLUtil.getNamedChild(c,"String_Node_Str"),"String_Node_Str"),"String_Node_Str"),"String_Node_Str");
      ci.definition=r == null ? null : nodeToString(r);
      ci.textDefinition=r == null ? null : nodeToText(r).trim();
      ci.deprecated=XMLUtil.getNamedChild(XMLUtil.getNamedChild(XMLUtil.getNamedChild(c,"String_Node_Str"),"String_Node_Str"),"String_Node_Str") != null;
      List<Element> pl=new ArrayList<Element>();
      XMLUtil.getNamedChildren(c,"String_Node_Str",pl);
      for (      Element p : pl) {
        if (p.getAttribute("String_Node_Str").equals("String_Node_Str"))         ci.parents.add(XMLUtil.getFirstChild(p).getAttribute("String_Node_Str"));
      }
      if (!"String_Node_Str".equals(XMLUtil.getNamedChild(c,"String_Node_Str").getAttribute("String_Node_Str")))       codes.add(ci);
    }
    c=XMLUtil.getNextSibling(c);
  }
  for (  CodeInfo ci : codes) {
    for (    String p : ci.parents) {
      CodeInfo pi=null;
      for (      CodeInfo cip : codes) {
        if (cip.code != null && cip.code.equals(p))         pi=cip;
      }
      if (pi != null)       pi.children.add(ci);
    }
  }
  s.append("String_Node_Str");
  s.append("String_Node_Str");
  Map<String,ConceptDefinitionComponent> handled=new HashMap<String,ValueSet.ConceptDefinitionComponent>();
  for (  CodeInfo ci : codes) {
    if (ci.parents.size() == 0) {
      ci.write(1,s,vs,def.getConcept(),null,handled);
    }
  }
  s.append("String_Node_Str");
  vs.setText(new Narrative());
  vs.getText().setStatus(NarrativeStatus.GENERATED);
  vs.getText().setDiv(new XhtmlParser().parse("String_Node_Str" + s.toString() + "String_Node_Str","String_Node_Str").getElement("String_Node_Str"));
  new ValueSetValidator(page.getWorkerContext()).validate("String_Node_Str" + id,vs,false,true);
  return vs;
}