Program: 24073
Project: 24073
Buggy source:
/** 
 * Entry point to the publisher. This classes Java Main() calls this function to actually produce the specification
 * @param folder
 * @throws Exception
 */
public void execute(String folder){
  page.log("String_Node_Str" + folder + "String_Node_Str"+ Config.DATE_FORMAT().format(page.getGenDate().getTime()),LogMessageType.Process);
  if (web)   page.log("String_Node_Str",LogMessageType.Process);
 else   page.log("String_Node_Str",LogMessageType.Process);
  try {
    page.setFolders(new FolderManager(folder));
    if (isGenerate && page.getSvnRevision() == null)     page.setSvnRevision(checkSubversion(folder));
    registerReferencePlatforms();
    if (!initialize(folder))     throw new Exception("String_Node_Str");
    page.log("String_Node_Str" + page.getVersion() + "String_Node_Str"+ page.getSvnRevision(),LogMessageType.Hint);
    cache=new IniFile(page.getFolders().rootDir + "String_Node_Str" + File.separator+ "String_Node_Str");
    loadSuppressedMessages(page.getFolders().rootDir);
    boolean doAny=false;
    for (    String n : dates.keySet()) {
      Long d=cache.getLongProperty("String_Node_Str",n);
      boolean b=d == null || (dates.get(n) > d);
      cache.setLongProperty("String_Node_Str",n,dates.get(n).longValue(),null);
      buildFlags.put(n.toLowerCase(),b);
      doAny=doAny || b;
    }
    cache.save();
    if (noPartialBuild || !doAny || !(new File(page.getFolders().dstDir + "String_Node_Str").exists()))     buildFlags.put("String_Node_Str",true);
    if (singlePage != null) {
      for (      String n : buildFlags.keySet())       buildFlags.put(n,false);
      buildFlags.put("String_Node_Str" + singlePage.toLowerCase(),true);
    }
 else     if (singleResource != null) {
      for (      String n : buildFlags.keySet())       buildFlags.put(n,false);
      buildFlags.put(singleResource.toLowerCase(),true);
    }
    if (!buildFlags.get("String_Node_Str")) {
      Utilities.tone(1000,10);
      Utilities.tone(1400,10);
      Utilities.tone(1800,10);
      Utilities.tone(1000,10);
      Utilities.tone(1400,10);
      Utilities.tone(1800,10);
      page.log("String_Node_Str",LogMessageType.Process);
      CommaSeparatedStringBuilder b=new CommaSeparatedStringBuilder();
      for (      String n : buildFlags.keySet())       if (buildFlags.get(n))       b.append(n);
      page.log("String_Node_Str" + b.toString(),LogMessageType.Process);
    }
 else {
      Utilities.tone(1200,30);
      page.log("String_Node_Str",LogMessageType.Process);
    }
    Utilities.createDirectory(page.getFolders().dstDir);
    Utilities.deleteTempFiles();
    page.getBreadCrumbManager().parse(page.getFolders().srcDir + "String_Node_Str");
    page.loadSnomed();
    page.loadLoinc();
    prsr.parse(page.getGenDate(),page.getValidationErrors());
    if (web || (isGenerate && buildFlags.get("String_Node_Str"))) {
      page.log("String_Node_Str",LogMessageType.Process);
      Utilities.clearDirectory(page.getFolders().dstDir);
      Utilities.createDirectory(page.getFolders().dstDir + "String_Node_Str");
      Utilities.createDirectory(page.getFolders().dstDir + "String_Node_Str");
    }
    for (    ImplementationGuideDefn ig : page.getDefinitions().getSortedIgs())     if (!ig.isCore())     Utilities.createDirectory(page.getFolders().dstDir + ig.getCode());
    if (buildFlags.get("String_Node_Str")) {
      copyStaticContent();
    }
    loadValueSets1();
    prsr.getRegistry().commit();
    validate();
    processProfiles();
    checkAllOk();
    if (isGenerate) {
      String eCorePath=page.getFolders().dstDir + "String_Node_Str";
      generateECore(prsr.getECoreParseResults(),eCorePath);
      produceSpecification(eCorePath);
      checkAllOk();
    }
 else     if (genRDF)     processRDF();
    validationProcess();
    processWarnings(false);
    if (isGenerate && buildFlags.get("String_Node_Str"))     produceQA();
    if (!buildFlags.get("String_Node_Str")) {
      page.log("String_Node_Str",LogMessageType.Process);
      CommaSeparatedStringBuilder b=new CommaSeparatedStringBuilder();
      for (      String n : buildFlags.keySet())       if (buildFlags.get(n))       b.append(n);
      page.log("String_Node_Str" + b.toString(),LogMessageType.Process);
    }
 else     page.log("String_Node_Str",LogMessageType.Process);
    Utilities.tone(800,10);
    Utilities.tone(1000,10);
    Utilities.tone(1200,10);
    Utilities.tone(1000,10);
    Utilities.tone(800,10);
    page.log("String_Node_Str" + Config.DATE_FORMAT().format(Calendar.getInstance().getTime()),LogMessageType.Process);
  }
 catch (  Exception e) {
    if (!(e instanceof NullPointerException)) {
      try {
        processWarnings(e instanceof EValidationFailed);
      }
 catch (      Exception e2) {
        page.log("String_Node_Str" + e.getMessage(),LogMessageType.Error);
        e.printStackTrace();
      }
    }
    if (!buildFlags.get("String_Node_Str")) {
      page.log("String_Node_Str",LogMessageType.Process);
      CommaSeparatedStringBuilder b=new CommaSeparatedStringBuilder();
      for (      String n : buildFlags.keySet())       if (buildFlags.get(n))       b.append(n);
      page.log("String_Node_Str" + b.toString(),LogMessageType.Process);
    }
 else     page.log("String_Node_Str",LogMessageType.Process);
    Utilities.tone(800,20);
    Utilities.tone(1000,20);
    Utilities.tone(1200,20);
    try {
      Thread.sleep(50);
    }
 catch (    InterruptedException e1) {
    }
    Utilities.tone(800,20);
    Utilities.tone(1000,20);
    Utilities.tone(1200,20);
    try {
      Thread.sleep(50);
    }
 catch (    InterruptedException e1) {
    }
    Utilities.tone(800,20);
    Utilities.tone(1000,20);
    Utilities.tone(1200,20);
    page.log("String_Node_Str" + Config.DATE_FORMAT().format(Calendar.getInstance().getTime()),LogMessageType.Process);
    System.out.println("String_Node_Str" + e.getMessage());
    e.printStackTrace();
    System.exit(1);
  }
}

Fixed version (ground truth):
/** 
 * Entry point to the publisher. This classes Java Main() calls this function to actually produce the specification
 * @param folder
 * @throws Exception
 */
public void execute(String folder){
  page.log("String_Node_Str" + folder + "String_Node_Str"+ Config.DATE_FORMAT().format(page.getGenDate().getTime()),LogMessageType.Process);
  if (web)   page.log("String_Node_Str",LogMessageType.Process);
 else   page.log("String_Node_Str",LogMessageType.Process);
  try {
    page.setFolders(new FolderManager(folder));
    if (isGenerate && page.getSvnRevision() == null)     page.setSvnRevision(checkSubversion(folder));
    registerReferencePlatforms();
    if (!initialize(folder))     throw new Exception("String_Node_Str");
    page.log("String_Node_Str" + page.getVersion() + "String_Node_Str"+ page.getSvnRevision(),LogMessageType.Hint);
    cache=new IniFile(page.getFolders().rootDir + "String_Node_Str" + File.separator+ "String_Node_Str");
    loadSuppressedMessages(page.getFolders().rootDir);
    boolean doAny=false;
    for (    String n : dates.keySet()) {
      Long d=cache.getLongProperty("String_Node_Str",n);
      boolean b=d == null || (dates.get(n) > d);
      cache.setLongProperty("String_Node_Str",n,dates.get(n).longValue(),null);
      buildFlags.put(n.toLowerCase(),b);
      doAny=doAny || b;
    }
    cache.save();
    if (noPartialBuild || !doAny || !(new File(page.getFolders().dstDir + "String_Node_Str").exists()))     buildFlags.put("String_Node_Str",true);
    if (singlePage != null) {
      for (      String n : buildFlags.keySet())       buildFlags.put(n,false);
      buildFlags.put("String_Node_Str" + singlePage.toLowerCase(),true);
    }
 else     if (singleResource != null) {
      for (      String n : buildFlags.keySet())       buildFlags.put(n,false);
      buildFlags.put(singleResource.toLowerCase(),true);
    }
    if (!buildFlags.get("String_Node_Str")) {
      Utilities.tone(1000,10);
      Utilities.tone(1400,10);
      Utilities.tone(1800,10);
      Utilities.tone(1000,10);
      Utilities.tone(1400,10);
      Utilities.tone(1800,10);
      page.log("String_Node_Str",LogMessageType.Process);
      CommaSeparatedStringBuilder b=new CommaSeparatedStringBuilder();
      for (      String n : buildFlags.keySet())       if (buildFlags.get(n))       b.append(n);
      page.log("String_Node_Str" + b.toString(),LogMessageType.Process);
    }
 else {
      Utilities.tone(1200,30);
      page.log("String_Node_Str",LogMessageType.Process);
    }
    Utilities.createDirectory(page.getFolders().dstDir);
    Utilities.deleteTempFiles();
    page.getBreadCrumbManager().parse(page.getFolders().srcDir + "String_Node_Str");
    page.loadSnomed();
    page.loadLoinc();
    prsr.parse(page.getGenDate(),page.getValidationErrors());
    if (web) {
      page.log("String_Node_Str",LogMessageType.Process);
      Utilities.clearDirectory(page.getFolders().dstDir);
    }
    if (web || (isGenerate && buildFlags.get("String_Node_Str"))) {
      Utilities.createDirectory(page.getFolders().dstDir + "String_Node_Str");
      Utilities.createDirectory(page.getFolders().dstDir + "String_Node_Str");
    }
    for (    ImplementationGuideDefn ig : page.getDefinitions().getSortedIgs())     if (!ig.isCore())     Utilities.createDirectory(page.getFolders().dstDir + ig.getCode());
    if (buildFlags.get("String_Node_Str")) {
      copyStaticContent();
    }
    loadValueSets1();
    prsr.getRegistry().commit();
    validate();
    processProfiles();
    checkAllOk();
    if (isGenerate) {
      String eCorePath=page.getFolders().dstDir + "String_Node_Str";
      generateECore(prsr.getECoreParseResults(),eCorePath);
      produceSpecification(eCorePath);
      checkAllOk();
    }
 else     if (genRDF)     processRDF();
    validationProcess();
    processWarnings(false);
    if (isGenerate && buildFlags.get("String_Node_Str"))     produceQA();
    if (!buildFlags.get("String_Node_Str")) {
      page.log("String_Node_Str",LogMessageType.Process);
      CommaSeparatedStringBuilder b=new CommaSeparatedStringBuilder();
      for (      String n : buildFlags.keySet())       if (buildFlags.get(n))       b.append(n);
      page.log("String_Node_Str" + b.toString(),LogMessageType.Process);
    }
 else     page.log("String_Node_Str",LogMessageType.Process);
    Utilities.tone(800,10);
    Utilities.tone(1000,10);
    Utilities.tone(1200,10);
    Utilities.tone(1000,10);
    Utilities.tone(800,10);
    page.log("String_Node_Str" + Config.DATE_FORMAT().format(Calendar.getInstance().getTime()),LogMessageType.Process);
  }
 catch (  Exception e) {
    if (!(e instanceof NullPointerException)) {
      try {
        processWarnings(e instanceof EValidationFailed);
      }
 catch (      Exception e2) {
        page.log("String_Node_Str" + e.getMessage(),LogMessageType.Error);
        e.printStackTrace();
      }
    }
    if (!buildFlags.get("String_Node_Str")) {
      page.log("String_Node_Str",LogMessageType.Process);
      CommaSeparatedStringBuilder b=new CommaSeparatedStringBuilder();
      for (      String n : buildFlags.keySet())       if (buildFlags.get(n))       b.append(n);
      page.log("String_Node_Str" + b.toString(),LogMessageType.Process);
    }
 else     page.log("String_Node_Str",LogMessageType.Process);
    Utilities.tone(800,20);
    Utilities.tone(1000,20);
    Utilities.tone(1200,20);
    try {
      Thread.sleep(50);
    }
 catch (    InterruptedException e1) {
    }
    Utilities.tone(800,20);
    Utilities.tone(1000,20);
    Utilities.tone(1200,20);
    try {
      Thread.sleep(50);
    }
 catch (    InterruptedException e1) {
    }
    Utilities.tone(800,20);
    Utilities.tone(1000,20);
    Utilities.tone(1200,20);
    page.log("String_Node_Str" + Config.DATE_FORMAT().format(Calendar.getInstance().getTime()),LogMessageType.Process);
    System.out.println("String_Node_Str" + e.getMessage());
    e.printStackTrace();
    System.exit(1);
  }
}