Program: 24176
Project: 24176
Buggy source:
private void produceSpec() throws Exception {
  if (buildFlags.get("String_Node_Str")) {
    if (page.getIni().getPropertyNames("String_Node_Str") != null)     for (    String n : page.getIni().getPropertyNames("String_Node_Str")) {
      Utilities.copyFile(new CSFile(page.getFolders().srcDir + n),new CSFile(page.getFolders().dstDir + n));
      page.getEpub().registerFile(n,"String_Node_Str",EPubManager.determineType(n));
    }
    for (    String n : page.getIni().getPropertyNames("String_Node_Str")) {
      Utilities.copyFile(new CSFile(page.getFolders().imgDir + n),new CSFile(page.getFolders().dstDir + n));
      page.getEpub().registerFile(n,"String_Node_Str",EPubManager.determineType(n));
    }
    for (    String n : page.getIni().getPropertyNames("String_Node_Str")) {
      Utilities.copyFile(new CSFile(page.getFolders().rootDir + n),new CSFile(page.getFolders().dstDir + page.getIni().getStringProperty("String_Node_Str",n)));
      page.getEpub().registerFile(page.getIni().getStringProperty("String_Node_Str",n),"String_Node_Str",EPubManager.determineType(page.getIni().getStringProperty("String_Node_Str",n)));
    }
    page.log("String_Node_Str",LogMessageType.Process);
    Utilities.copyDirectory(page.getFolders().rootDir + page.getIni().getStringProperty("String_Node_Str","String_Node_Str"),page.getFolders().dstDir,page.getEpub());
    TextFile.stringToFile("String_Node_Str" + page.getVersion() + "String_Node_Str"+ page.getSvnRevision()+ "String_Node_Str"+ page.getVersion()+ "String_Node_Str"+ page.getSvnRevision()+ "String_Node_Str"+ new SimpleDateFormat("String_Node_Str").format(page.getGenDate().getTime()),Utilities.path(page.getFolders().dstDir,"String_Node_Str"));
    for (    String n : page.getDefinitions().getDiagrams().keySet()) {
      page.log("String_Node_Str" + n,LogMessageType.Process);
      page.getSvgs().put(n,TextFile.fileToString(page.getFolders().srcDir + page.getDefinitions().getDiagrams().get(n)));
    }
    loadValueSets();
  }
  for (  String rname : page.getDefinitions().sortedResourceNames()) {
    if (!rname.equals("String_Node_Str") && wantBuild(rname)) {
      ResourceDefn r=page.getDefinitions().getResources().get(rname);
      produceResource1(r);
    }
  }
  if (buildFlags.get("String_Node_Str")) {
    page.log("String_Node_Str",LogMessageType.Process);
    produceBaseProfile();
  }
  for (  String rname : page.getDefinitions().sortedResourceNames()) {
    if (!rname.equals("String_Node_Str") && wantBuild(rname)) {
      ResourceDefn r=page.getDefinitions().getResources().get(rname);
      page.log("String_Node_Str" + r.getName(),LogMessageType.Process);
      produceResource2(r);
    }
  }
  for (  Compartment c : page.getDefinitions().getCompartments()) {
    if (buildFlags.get("String_Node_Str")) {
      page.log("String_Node_Str" + c.getName(),LogMessageType.Process);
      produceCompartment(c);
    }
  }
  for (  String n : page.getIni().getPropertyNames("String_Node_Str")) {
    if (buildFlags.get("String_Node_Str") || buildFlags.get("String_Node_Str" + n.toLowerCase())) {
      page.log("String_Node_Str" + n,LogMessageType.Process);
      producePage(n,page.getIni().getStringProperty("String_Node_Str",n));
    }
  }
  int i=0;
  for (  String n : page.getIni().getPropertyNames("String_Node_Str")) {
    page.log("String_Node_Str" + n,LogMessageType.Process);
    produceSid(i,n,page.getIni().getStringProperty("String_Node_Str",n));
    i++;
  }
  if (buildFlags.get("String_Node_Str")) {
    page.log("String_Node_Str",LogMessageType.Process);
    checkFragments();
    for (    String n : page.getDefinitions().getProfiles().keySet()) {
      page.log("String_Node_Str" + n,LogMessageType.Process);
      produceProfile(n,page.getDefinitions().getProfiles().get(n),null,null,null);
    }
    produceV2();
    produceV3();
    page.log("String_Node_Str",LogMessageType.Process);
    new XmlComposer().compose(new FileOutputStream(page.getFolders().dstDir + "String_Node_Str"),profileFeed,true,false);
    new JsonComposer().compose(new FileOutputStream(page.getFolders().dstDir + "String_Node_Str"),profileFeed,true);
    cloneToXhtml("String_Node_Str","String_Node_Str",false,"String_Node_Str");
    jsonToXhtml("String_Node_Str","String_Node_Str",resource2Json(profileFeed),"String_Node_Str");
    new XmlComposer().compose(new FileOutputStream(page.getFolders().dstDir + "String_Node_Str"),typeFeed,true,false);
    new JsonComposer().compose(new FileOutputStream(page.getFolders().dstDir + "String_Node_Str"),typeFeed,true);
    cloneToXhtml("String_Node_Str","String_Node_Str",false,"String_Node_Str");
    jsonToXhtml("String_Node_Str","String_Node_Str",resource2Json(typeFeed),"String_Node_Str");
    int ec=0;
    for (    AtomEntry<? extends org.hl7.fhir.instance.model.Resource> e : valueSetsFeed.getEntryList()) {
      ValueSet vs=(ValueSet)e.getResource();
      if (!vs.getIdentifierSimple().equals(e.getId())) {
        ec++;
        page.log("String_Node_Str" + e.getId() + "String_Node_Str"+ vs.getIdentifierSimple()+ "String_Node_Str",LogMessageType.Error);
      }
    }
    if (ec > 0)     throw new Exception("String_Node_Str");
    new XmlComposer().compose(new FileOutputStream(page.getFolders().dstDir + "String_Node_Str"),valueSetsFeed,true,false);
    Utilities.copyFile(page.getFolders().dstDir + "String_Node_Str",page.getFolders().dstDir + "String_Node_Str" + File.separator+ "String_Node_Str");
    new JsonComposer().compose(new FileOutputStream(page.getFolders().dstDir + "String_Node_Str"),valueSetsFeed,true);
    cloneToXhtml("String_Node_Str","String_Node_Str",false,"String_Node_Str");
    jsonToXhtml("String_Node_Str","String_Node_Str",resource2Json(valueSetsFeed),"String_Node_Str");
    new XmlComposer().compose(new FileOutputStream(page.getFolders().dstDir + "String_Node_Str"),conceptMapsFeed,true,false);
    Utilities.copyFile(page.getFolders().dstDir + "String_Node_Str",page.getFolders().dstDir + "String_Node_Str" + File.separator+ "String_Node_Str");
    new JsonComposer().compose(new FileOutputStream(page.getFolders().dstDir + "String_Node_Str"),conceptMapsFeed,true);
    cloneToXhtml("String_Node_Str","String_Node_Str",false,"String_Node_Str");
    jsonToXhtml("String_Node_Str","String_Node_Str",resource2Json(conceptMapsFeed),"String_Node_Str");
    new XmlComposer().compose(new FileOutputStream(page.getFolders().dstDir + "String_Node_Str"),v2Valuesets,true,false);
    Utilities.copyFile(page.getFolders().dstDir + "String_Node_Str",page.getFolders().dstDir + "String_Node_Str" + File.separator+ "String_Node_Str");
    new JsonComposer().compose(new FileOutputStream(page.getFolders().dstDir + "String_Node_Str"),v2Valuesets,true);
    cloneToXhtml("String_Node_Str","String_Node_Str",false,"String_Node_Str");
    jsonToXhtml("String_Node_Str","String_Node_Str",resource2Json(v2Valuesets),"String_Node_Str");
    new XmlComposer().compose(new FileOutputStream(page.getFolders().dstDir + "String_Node_Str"),v3Valuesets,true,false);
    Utilities.copyFile(page.getFolders().dstDir + "String_Node_Str",page.getFolders().dstDir + "String_Node_Str" + File.separator+ "String_Node_Str");
    new JsonComposer().compose(new FileOutputStream(page.getFolders().dstDir + "String_Node_Str"),v3Valuesets,true);
    cloneToXhtml("String_Node_Str","String_Node_Str",false,"String_Node_Str");
    jsonToXhtml("String_Node_Str","String_Node_Str",resource2Json(v3Valuesets),"String_Node_Str");
    page.log("String_Node_Str",LogMessageType.Process);
    ZipGenerator zip=new ZipGenerator(page.getFolders().dstDir + "String_Node_Str");
    zip.addFileName("String_Node_Str",page.getFolders().dstDir + "String_Node_Str",false);
    zip.addFileName("String_Node_Str",page.getFolders().dstDir + "String_Node_Str",false);
    zip.addFileName("String_Node_Str",page.getFolders().dstDir + "String_Node_Str",false);
    zip.addFileName("String_Node_Str",page.getFolders().dstDir + "String_Node_Str",false);
    zip.addFileName("String_Node_Str",page.getFolders().dstDir + "String_Node_Str",false);
    zip.addFileName("String_Node_Str",page.getFolders().dstDir + "String_Node_Str",false);
    zip.addFileName("String_Node_Str",page.getFolders().dstDir + "String_Node_Str",false);
    zip.addFileName("String_Node_Str",page.getFolders().dstDir + "String_Node_Str",false);
    zip.addFileName("String_Node_Str",page.getFolders().dstDir + "String_Node_Str",false);
    zip.addFileName("String_Node_Str",page.getFolders().dstDir + "String_Node_Str",false);
    zip.addFiles(page.getFolders().dstDir,"String_Node_Str","String_Node_Str",null);
    zip.addFiles(page.getFolders().dstDir,"String_Node_Str","String_Node_Str",null);
    zip.addFiles(Utilities.path(page.getFolders().rootDir,"String_Node_Str","String_Node_Str","String_Node_Str"),"String_Node_Str","String_Node_Str",null);
    zip.addFiles(Utilities.path(page.getFolders().rootDir,"String_Node_Str","String_Node_Str","String_Node_Str"),"String_Node_Str","String_Node_Str",null);
    zip.close();
    zip=new ZipGenerator(page.getFolders().dstDir + "String_Node_Str");
    zip.addFileName("String_Node_Str",Utilities.path(page.getFolders().srcDir,"String_Node_Str","String_Node_Str"),false);
    zip.addFileName("String_Node_Str",Utilities.path(page.getFolders().dstDir,"String_Node_Str"),false);
    zip.addFileName("String_Node_Str",page.getFolders().dstDir + "String_Node_Str",false);
    zip.addFiles(Utilities.path(page.getFolders().rootDir,"String_Node_Str","String_Node_Str","String_Node_Str"),"String_Node_Str","String_Node_Str",null);
    zip.close();
    zip=new ZipGenerator(page.getFolders().dstDir + "String_Node_Str");
    zip.addFileName("String_Node_Str",page.getFolders().dstDir + "String_Node_Str",false);
    zip.addFileName("String_Node_Str",page.getFolders().dstDir + "String_Node_Str",false);
    zip.addFileName("String_Node_Str",page.getFolders().dstDir + "String_Node_Str",false);
    zip.addFileName("String_Node_Str",page.getFolders().dstDir + "String_Node_Str",false);
    zip.addFileName("String_Node_Str",page.getFolders().dstDir + "String_Node_Str",false);
    zip.addFileName("String_Node_Str",page.getFolders().dstDir + "String_Node_Str",false);
    zip.addFileName("String_Node_Str",page.getFolders().dstDir + "String_Node_Str",false);
    zip.addFileName("String_Node_Str",page.getFolders().dstDir + "String_Node_Str",false);
    zip.close();
    page.log("String_Node_Str",LogMessageType.Process);
    zip=new ZipGenerator(page.getFolders().dstDir + "String_Node_Str");
    zip.addFiles(page.getFolders().dstDir + "String_Node_Str" + File.separator,"String_Node_Str",null,null);
    zip.close();
    zip=new ZipGenerator(page.getFolders().dstDir + "String_Node_Str");
    zip.addFiles(page.getFolders().dstDir,"String_Node_Str","String_Node_Str",null);
    zip.close();
    page.log("String_Node_Str",LogMessageType.Process);
    produceZip();
    page.log("String_Node_Str",LogMessageType.Process);
    page.getEpub().produce();
  }
 else   page.log("String_Node_Str",LogMessageType.Error);
}

Fixed version (ground truth):
private void produceSpec() throws Exception {
  if (buildFlags.get("String_Node_Str")) {
    if (page.getIni().getPropertyNames("String_Node_Str") != null)     for (    String n : page.getIni().getPropertyNames("String_Node_Str")) {
      Utilities.copyFile(new CSFile(page.getFolders().srcDir + n),new CSFile(page.getFolders().dstDir + n));
      page.getEpub().registerFile(n,"String_Node_Str",EPubManager.determineType(n));
    }
    for (    String n : page.getIni().getPropertyNames("String_Node_Str")) {
      Utilities.copyFile(new CSFile(page.getFolders().imgDir + n),new CSFile(page.getFolders().dstDir + n));
      page.getEpub().registerFile(n,"String_Node_Str",EPubManager.determineType(n));
    }
    for (    String n : page.getIni().getPropertyNames("String_Node_Str")) {
      Utilities.copyFile(new CSFile(page.getFolders().rootDir + n),new CSFile(page.getFolders().dstDir + page.getIni().getStringProperty("String_Node_Str",n)));
      page.getEpub().registerFile(page.getIni().getStringProperty("String_Node_Str",n),"String_Node_Str",EPubManager.determineType(page.getIni().getStringProperty("String_Node_Str",n)));
    }
    page.log("String_Node_Str",LogMessageType.Process);
    Utilities.copyDirectory(page.getFolders().rootDir + page.getIni().getStringProperty("String_Node_Str","String_Node_Str"),page.getFolders().dstDir,page.getEpub());
    TextFile.stringToFile("String_Node_Str" + page.getVersion() + "String_Node_Str"+ page.getSvnRevision()+ "String_Node_Str"+ page.getVersion()+ "String_Node_Str"+ page.getSvnRevision()+ "String_Node_Str"+ new SimpleDateFormat("String_Node_Str").format(page.getGenDate().getTime()),Utilities.path(page.getFolders().dstDir,"String_Node_Str"));
    for (    String n : page.getDefinitions().getDiagrams().keySet()) {
      page.log("String_Node_Str" + n,LogMessageType.Process);
      page.getSvgs().put(n,TextFile.fileToString(page.getFolders().srcDir + page.getDefinitions().getDiagrams().get(n)));
    }
    loadValueSets();
  }
  for (  String rname : page.getDefinitions().sortedResourceNames()) {
    if (!rname.equals("String_Node_Str") && wantBuild(rname)) {
      ResourceDefn r=page.getDefinitions().getResources().get(rname);
      produceResource1(r);
    }
  }
  if (buildFlags.get("String_Node_Str")) {
    page.log("String_Node_Str",LogMessageType.Process);
    produceBaseProfile();
  }
  for (  String rname : page.getDefinitions().sortedResourceNames()) {
    if (!rname.equals("String_Node_Str") && wantBuild(rname)) {
      ResourceDefn r=page.getDefinitions().getResources().get(rname);
      page.log("String_Node_Str" + r.getName(),LogMessageType.Process);
      produceResource2(r);
    }
  }
  for (  Compartment c : page.getDefinitions().getCompartments()) {
    if (buildFlags.get("String_Node_Str")) {
      page.log("String_Node_Str" + c.getName(),LogMessageType.Process);
      produceCompartment(c);
    }
  }
  for (  String n : page.getIni().getPropertyNames("String_Node_Str")) {
    if (buildFlags.get("String_Node_Str") || buildFlags.get("String_Node_Str" + n.toLowerCase())) {
      page.log("String_Node_Str" + n,LogMessageType.Process);
      producePage(n,page.getIni().getStringProperty("String_Node_Str",n));
    }
  }
  int i=0;
  for (  String n : page.getIni().getPropertyNames("String_Node_Str")) {
    page.log("String_Node_Str" + n,LogMessageType.Process);
    produceSid(i,n,page.getIni().getStringProperty("String_Node_Str",n));
    i++;
  }
  if (buildFlags.get("String_Node_Str")) {
    page.log("String_Node_Str",LogMessageType.Process);
    checkFragments();
    for (    String n : page.getDefinitions().getProfiles().keySet()) {
      page.log("String_Node_Str" + n,LogMessageType.Process);
      produceProfile(n,page.getDefinitions().getProfiles().get(n),null,null,null,null);
    }
    produceV2();
    produceV3();
    page.log("String_Node_Str",LogMessageType.Process);
    new XmlComposer().compose(new FileOutputStream(page.getFolders().dstDir + "String_Node_Str"),profileFeed,true,false);
    new JsonComposer().compose(new FileOutputStream(page.getFolders().dstDir + "String_Node_Str"),profileFeed,true);
    cloneToXhtml("String_Node_Str","String_Node_Str",false,"String_Node_Str");
    jsonToXhtml("String_Node_Str","String_Node_Str",resource2Json(profileFeed),"String_Node_Str");
    new XmlComposer().compose(new FileOutputStream(page.getFolders().dstDir + "String_Node_Str"),typeFeed,true,false);
    new JsonComposer().compose(new FileOutputStream(page.getFolders().dstDir + "String_Node_Str"),typeFeed,true);
    cloneToXhtml("String_Node_Str","String_Node_Str",false,"String_Node_Str");
    jsonToXhtml("String_Node_Str","String_Node_Str",resource2Json(typeFeed),"String_Node_Str");
    int ec=0;
    for (    AtomEntry<? extends org.hl7.fhir.instance.model.Resource> e : valueSetsFeed.getEntryList()) {
      ValueSet vs=(ValueSet)e.getResource();
      if (!vs.getIdentifierSimple().equals(e.getId())) {
        ec++;
        page.log("String_Node_Str" + e.getId() + "String_Node_Str"+ vs.getIdentifierSimple()+ "String_Node_Str",LogMessageType.Error);
      }
    }
    if (ec > 0)     throw new Exception("String_Node_Str");
    new XmlComposer().compose(new FileOutputStream(page.getFolders().dstDir + "String_Node_Str"),valueSetsFeed,true,false);
    Utilities.copyFile(page.getFolders().dstDir + "String_Node_Str",page.getFolders().dstDir + "String_Node_Str" + File.separator+ "String_Node_Str");
    new JsonComposer().compose(new FileOutputStream(page.getFolders().dstDir + "String_Node_Str"),valueSetsFeed,true);
    cloneToXhtml("String_Node_Str","String_Node_Str",false,"String_Node_Str");
    jsonToXhtml("String_Node_Str","String_Node_Str",resource2Json(valueSetsFeed),"String_Node_Str");
    new XmlComposer().compose(new FileOutputStream(page.getFolders().dstDir + "String_Node_Str"),conceptMapsFeed,true,false);
    Utilities.copyFile(page.getFolders().dstDir + "String_Node_Str",page.getFolders().dstDir + "String_Node_Str" + File.separator+ "String_Node_Str");
    new JsonComposer().compose(new FileOutputStream(page.getFolders().dstDir + "String_Node_Str"),conceptMapsFeed,true);
    cloneToXhtml("String_Node_Str","String_Node_Str",false,"String_Node_Str");
    jsonToXhtml("String_Node_Str","String_Node_Str",resource2Json(conceptMapsFeed),"String_Node_Str");
    new XmlComposer().compose(new FileOutputStream(page.getFolders().dstDir + "String_Node_Str"),v2Valuesets,true,false);
    Utilities.copyFile(page.getFolders().dstDir + "String_Node_Str",page.getFolders().dstDir + "String_Node_Str" + File.separator+ "String_Node_Str");
    new JsonComposer().compose(new FileOutputStream(page.getFolders().dstDir + "String_Node_Str"),v2Valuesets,true);
    cloneToXhtml("String_Node_Str","String_Node_Str",false,"String_Node_Str");
    jsonToXhtml("String_Node_Str","String_Node_Str",resource2Json(v2Valuesets),"String_Node_Str");
    new XmlComposer().compose(new FileOutputStream(page.getFolders().dstDir + "String_Node_Str"),v3Valuesets,true,false);
    Utilities.copyFile(page.getFolders().dstDir + "String_Node_Str",page.getFolders().dstDir + "String_Node_Str" + File.separator+ "String_Node_Str");
    new JsonComposer().compose(new FileOutputStream(page.getFolders().dstDir + "String_Node_Str"),v3Valuesets,true);
    cloneToXhtml("String_Node_Str","String_Node_Str",false,"String_Node_Str");
    jsonToXhtml("String_Node_Str","String_Node_Str",resource2Json(v3Valuesets),"String_Node_Str");
    page.log("String_Node_Str",LogMessageType.Process);
    ZipGenerator zip=new ZipGenerator(page.getFolders().dstDir + "String_Node_Str");
    zip.addFileName("String_Node_Str",page.getFolders().dstDir + "String_Node_Str",false);
    zip.addFileName("String_Node_Str",page.getFolders().dstDir + "String_Node_Str",false);
    zip.addFileName("String_Node_Str",page.getFolders().dstDir + "String_Node_Str",false);
    zip.addFileName("String_Node_Str",page.getFolders().dstDir + "String_Node_Str",false);
    zip.addFileName("String_Node_Str",page.getFolders().dstDir + "String_Node_Str",false);
    zip.addFileName("String_Node_Str",page.getFolders().dstDir + "String_Node_Str",false);
    zip.addFileName("String_Node_Str",page.getFolders().dstDir + "String_Node_Str",false);
    zip.addFileName("String_Node_Str",page.getFolders().dstDir + "String_Node_Str",false);
    zip.addFileName("String_Node_Str",page.getFolders().dstDir + "String_Node_Str",false);
    zip.addFileName("String_Node_Str",page.getFolders().dstDir + "String_Node_Str",false);
    zip.addFiles(page.getFolders().dstDir,"String_Node_Str","String_Node_Str",null);
    zip.addFiles(page.getFolders().dstDir,"String_Node_Str","String_Node_Str",null);
    zip.addFiles(Utilities.path(page.getFolders().rootDir,"String_Node_Str","String_Node_Str","String_Node_Str"),"String_Node_Str","String_Node_Str",null);
    zip.addFiles(Utilities.path(page.getFolders().rootDir,"String_Node_Str","String_Node_Str","String_Node_Str"),"String_Node_Str","String_Node_Str",null);
    zip.close();
    zip=new ZipGenerator(page.getFolders().dstDir + "String_Node_Str");
    zip.addFileName("String_Node_Str",Utilities.path(page.getFolders().srcDir,"String_Node_Str","String_Node_Str"),false);
    zip.addFileName("String_Node_Str",Utilities.path(page.getFolders().dstDir,"String_Node_Str"),false);
    zip.addFileName("String_Node_Str",page.getFolders().dstDir + "String_Node_Str",false);
    zip.addFiles(Utilities.path(page.getFolders().rootDir,"String_Node_Str","String_Node_Str","String_Node_Str"),"String_Node_Str","String_Node_Str",null);
    zip.close();
    zip=new ZipGenerator(page.getFolders().dstDir + "String_Node_Str");
    zip.addFileName("String_Node_Str",page.getFolders().dstDir + "String_Node_Str",false);
    zip.addFileName("String_Node_Str",page.getFolders().dstDir + "String_Node_Str",false);
    zip.addFileName("String_Node_Str",page.getFolders().dstDir + "String_Node_Str",false);
    zip.addFileName("String_Node_Str",page.getFolders().dstDir + "String_Node_Str",false);
    zip.addFileName("String_Node_Str",page.getFolders().dstDir + "String_Node_Str",false);
    zip.addFileName("String_Node_Str",page.getFolders().dstDir + "String_Node_Str",false);
    zip.addFileName("String_Node_Str",page.getFolders().dstDir + "String_Node_Str",false);
    zip.addFileName("String_Node_Str",page.getFolders().dstDir + "String_Node_Str",false);
    zip.close();
    page.log("String_Node_Str",LogMessageType.Process);
    zip=new ZipGenerator(page.getFolders().dstDir + "String_Node_Str");
    zip.addFiles(page.getFolders().dstDir + "String_Node_Str" + File.separator,"String_Node_Str",null,null);
    zip.close();
    zip=new ZipGenerator(page.getFolders().dstDir + "String_Node_Str");
    zip.addFiles(page.getFolders().dstDir,"String_Node_Str","String_Node_Str",null);
    zip.close();
    page.log("String_Node_Str",LogMessageType.Process);
    produceZip();
    page.log("String_Node_Str",LogMessageType.Process);
    page.getEpub().produce();
  }
 else   page.log("String_Node_Str",LogMessageType.Error);
}