Program: 24108
Project: 24108
Buggy source:
public String processConformancePackageIncludes(ConformancePackage pack,String src,String intro,String notes) throws Exception {
  String workingTitle=null;
  int level=0;
  boolean even=false;
  while (src.contains("String_Node_Str") || src.contains("String_Node_Str")) {
    int i1=src.indexOf("String_Node_Str");
    int i2=src.indexOf("String_Node_Str");
    if (i1 == -1) {
      i1=src.indexOf("String_Node_Str");
      i2=src.indexOf("String_Node_Str");
    }
    String s1=src.substring(0,i1);
    String s2=src.substring(i1 + 2,i2).trim();
    String s3=src.substring(i2 + 2);
    String[] com=s2.split("String_Node_Str");
    if (com[0].equals("String_Node_Str"))     src=s1 + TextFile.fileToString(folders.srcDir + com[1] + "String_Node_Str") + s3;
 else     if (com[0].equals("String_Node_Str")) {
      workingTitle=s2.substring(9).replace("String_Node_Str","String_Node_Str").replace("String_Node_Str","String_Node_Str");
      src=s1 + s3;
    }
 else     if (com[0].equals("String_Node_Str")) {
      src=s1 + reflink(com[1]) + s3;
    }
 else     if (com[0].equals("String_Node_Str")) {
      level=Integer.parseInt(com[1]);
      src=s1 + s3;
    }
 else     if (com.length != 1)     throw new Exception("String_Node_Str" + s2 + "String_Node_Str"+ pack.getId());
 else     if (com[0].equals("String_Node_Str"))     src=s1 + pageHeader(pack.getId().toUpperCase().substring(0,1) + pack.getId().substring(1)) + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + TextFile.fileToString(folders.srcDir + "String_Node_Str") + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + TextFile.fileToString(folders.srcDir + "String_Node_Str") + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + TextFile.fileToString(folders.srcDir + "String_Node_Str") + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + TextFile.fileToString(folders.srcDir + "String_Node_Str") + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + TextFile.fileToString(folders.srcDir + "String_Node_Str") + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + TextFile.fileToString(folders.srcDir + "String_Node_Str") + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + TextFile.fileToString(folders.srcDir + "String_Node_Str") + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + TextFile.fileToString(folders.srcDir + "String_Node_Str") + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + (workingTitle == null ? Utilities.escapeXml(pack.getTitle() + "String_Node_Str") : workingTitle) + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + Utilities.escapeXml(pack.getId().toUpperCase().substring(0,1) + pack.getId().substring(1)) + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + pack.getId() + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + (intro == null ? pack.metadata("String_Node_Str") : intro) + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + (notes == null ? "String_Node_Str" : notes) + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + makeCanonical(pack.getId()) + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + version + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + Config.DATE_FORMAT().format(new Date()) + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + "String_Node_Str" + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + "String_Node_Str" + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + genV2Index() + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + genV3CSIndex() + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + genV3VSIndex() + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + pack.getId() + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + getEventsTable() + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + genResCodes() + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + genDTCodes() + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + allParamlist() + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + genBindingTable(true) + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + genBindingsTable() + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + genCodeSystemsTable() + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + genValueSetsTable() + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + genIGValueSetsTable() + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + genConceptMapsTable() + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + genBindingTable(false) + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + genResImplList() + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + genReferenceImplList() + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + ig.getName() + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + breadCrumbManager.make(pack.getId()) + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + breadCrumbManager.navlist(pack.getId(),genlevel(level)) + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + breadCrumbManager.makelist(pack.getId(),"String_Node_Str",genlevel(level)) + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + new SimpleDateFormat("String_Node_Str").format(new Date()) + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + svnRevision + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + publicationType + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + publicationNotice + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + genlevel(level) + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + pack.getId() + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + Utilities.URLEncode(pack.getId()) + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + Utilities.URLEncode(baseURL) + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + Utilities.escapeXml(pack.getDescription()) + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + getPackageContent(pack) + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + getSearch(pack) + s3;
 else     throw new Exception("String_Node_Str" + s2 + "String_Node_Str"+ pack.getId());
  }
  return src;
}

Fixed version (ground truth):
public String processConformancePackageIncludes(ConformancePackage pack,String src,String intro,String notes) throws Exception {
  String workingTitle=null;
  int level=0;
  while (src.contains("String_Node_Str") || src.contains("String_Node_Str")) {
    int i1=src.indexOf("String_Node_Str");
    int i2=src.indexOf("String_Node_Str");
    if (i1 == -1) {
      i1=src.indexOf("String_Node_Str");
      i2=src.indexOf("String_Node_Str");
    }
    String s1=src.substring(0,i1);
    String s2=src.substring(i1 + 2,i2).trim();
    String s3=src.substring(i2 + 2);
    String[] com=s2.split("String_Node_Str");
    if (com[0].equals("String_Node_Str"))     src=s1 + TextFile.fileToString(folders.srcDir + com[1] + "String_Node_Str") + s3;
 else     if (com[0].equals("String_Node_Str")) {
      workingTitle=s2.substring(9).replace("String_Node_Str","String_Node_Str").replace("String_Node_Str","String_Node_Str");
      src=s1 + s3;
    }
 else     if (com[0].equals("String_Node_Str")) {
      src=s1 + reflink(com[1]) + s3;
    }
 else     if (com[0].equals("String_Node_Str")) {
      level=Integer.parseInt(com[1]);
      src=s1 + s3;
    }
 else     if (com.length != 1)     throw new Exception("String_Node_Str" + s2 + "String_Node_Str"+ pack.getId());
 else     if (com[0].equals("String_Node_Str"))     src=s1 + pageHeader(pack.getId().toUpperCase().substring(0,1) + pack.getId().substring(1)) + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + TextFile.fileToString(folders.srcDir + "String_Node_Str") + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + TextFile.fileToString(folders.srcDir + "String_Node_Str") + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + TextFile.fileToString(folders.srcDir + "String_Node_Str") + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + TextFile.fileToString(folders.srcDir + "String_Node_Str") + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + TextFile.fileToString(folders.srcDir + "String_Node_Str") + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + TextFile.fileToString(folders.srcDir + "String_Node_Str") + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + TextFile.fileToString(folders.srcDir + "String_Node_Str") + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + TextFile.fileToString(folders.srcDir + "String_Node_Str") + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + (workingTitle == null ? Utilities.escapeXml(pack.getTitle() + "String_Node_Str") : workingTitle) + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + Utilities.escapeXml(pack.getId().toUpperCase().substring(0,1) + pack.getId().substring(1)) + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + pack.getId() + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + (intro == null ? pack.metadata("String_Node_Str") : intro) + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + (notes == null ? "String_Node_Str" : notes) + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + makeCanonical(pack.getId()) + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + version + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + Config.DATE_FORMAT().format(new Date()) + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + "String_Node_Str" + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + "String_Node_Str" + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + genV2Index() + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + genV3CSIndex() + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + genV3VSIndex() + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + pack.getId() + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + getEventsTable() + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + genResCodes() + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + genDTCodes() + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + allParamlist() + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + genBindingTable(true) + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + genBindingsTable() + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + genCodeSystemsTable() + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + genValueSetsTable() + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + genIGValueSetsTable() + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + genConceptMapsTable() + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + genBindingTable(false) + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + genResImplList() + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + genReferenceImplList() + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + ig.getName() + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + breadCrumbManager.make(pack.getId()) + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + breadCrumbManager.navlist(pack.getId(),genlevel(level)) + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + breadCrumbManager.makelist(pack.getId(),"String_Node_Str",genlevel(level)) + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + new SimpleDateFormat("String_Node_Str").format(new Date()) + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + svnRevision + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + publicationType + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + publicationNotice + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + genlevel(level) + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + pack.getId() + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + Utilities.URLEncode(pack.getId()) + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + Utilities.URLEncode(baseURL) + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + Utilities.escapeXml(pack.getDescription()) + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + getPackageContent(pack) + s3;
 else     if (com[0].equals("String_Node_Str"))     src=s1 + getSearch(pack) + s3;
 else     throw new Exception("String_Node_Str" + s2 + "String_Node_Str"+ pack.getId());
  }
  return src;
}