Program: 24157
Project: 24157
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,String igName) throws Exception {
  if (igName != null) {
    page.setIg(ImplementationGuideDetails.loadFromFile(igName));
    page.log("String_Node_Str" + igName + "String_Node_Str"+ folder+ "String_Node_Str"+ Config.DATE_FORMAT().format(page.getGenDate().getTime()),LogMessageType.Process);
  }
 else {
    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);
  }
  page.setFolders(new FolderManager(folder));
  if (page.hasIG()) {
    String path=page.getIg().getOutputFolder();
    if (!path.endsWith(File.separator))     path=path + File.separator;
    page.getFolders().dstDir=path;
  }
  if (isGenerate)   page.setSvnRevision(checkSubversion(folder));
  registerReferencePlatforms();
  if (initialize(folder)) {
    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;
    }
    if (!doAny || !(new File(page.getFolders().dstDir + "String_Node_Str").exists()))     buildFlags.put("String_Node_Str",true);
    buildFlags.put("String_Node_Str",true);
    cache.save();
    if (!buildFlags.get("String_Node_Str"))     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.getVersion());
    if (page.hasIG()) {
      loadIG();
    }
    if (buildFlags.get("String_Node_Str")) {
      copyStaticContent();
    }
    defineSpecialValues();
    loadValueSets1();
    processProfiles();
    if (page.hasIG()) {
      processIGFiles();
    }
    if (validate()) {
      if (isGenerate) {
        page.log("String_Node_Str",LogMessageType.Process);
        if (buildFlags.get("String_Node_Str"))         Utilities.clearDirectory(page.getFolders().dstDir);
        Utilities.createDirectory(page.getFolders().dstDir + "String_Node_Str");
        Utilities.createDirectory(page.getFolders().dstDir + "String_Node_Str");
        Utilities.clearDirectory(page.getFolders().rootDir + "String_Node_Str" + File.separator+ "String_Node_Str"+ File.separator+ "String_Node_Str");
        Utilities.clearDirectory(page.getFolders().rootDir + "String_Node_Str" + File.separator+ "String_Node_Str"+ File.separator+ "String_Node_Str");
        String eCorePath=page.getFolders().dstDir + "String_Node_Str";
        generateECore(prsr.getECoreParseResults(),eCorePath);
        produceSpecification(eCorePath);
      }
      validateXml();
      if (isGenerate && buildFlags.get("String_Node_Str"))       produceQA();
      page.log("String_Node_Str" + Config.DATE_FORMAT().format(Calendar.getInstance().getTime()),LogMessageType.Process);
    }
 else {
      page.log("String_Node_Str" + Config.DATE_FORMAT().format(Calendar.getInstance().getTime()),LogMessageType.Process);
      throw new Exception("String_Node_Str");
    }
  }
}

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,String igName) throws Exception {
  if (igName != null) {
    page.setIg(ImplementationGuideDetails.loadFromFile(igName));
    page.log("String_Node_Str" + igName + "String_Node_Str"+ folder+ "String_Node_Str"+ Config.DATE_FORMAT().format(page.getGenDate().getTime()),LogMessageType.Process);
  }
 else {
    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);
  }
  page.setFolders(new FolderManager(folder));
  if (page.hasIG()) {
    String path=page.getIg().getOutputFolder();
    if (!path.endsWith(File.separator))     path=path + File.separator;
    page.getFolders().dstDir=path;
  }
  if (isGenerate)   page.setSvnRevision(checkSubversion(folder));
  registerReferencePlatforms();
  if (initialize(folder)) {
    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;
    }
    if (!doAny || !(new File(page.getFolders().dstDir + "String_Node_Str").exists()))     buildFlags.put("String_Node_Str",true);
    buildFlags.put("String_Node_Str",true);
    cache.save();
    if (!buildFlags.get("String_Node_Str"))     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.getVersion());
    if (page.hasIG()) {
      loadIG();
    }
    if (buildFlags.get("String_Node_Str")) {
      copyStaticContent();
    }
    defineSpecialValues();
    loadValueSets1();
    if (validate()) {
      processProfiles();
      if (page.hasIG()) {
        processIGFiles();
      }
      if (isGenerate) {
        page.log("String_Node_Str",LogMessageType.Process);
        if (buildFlags.get("String_Node_Str"))         Utilities.clearDirectory(page.getFolders().dstDir);
        Utilities.createDirectory(page.getFolders().dstDir + "String_Node_Str");
        Utilities.createDirectory(page.getFolders().dstDir + "String_Node_Str");
        Utilities.clearDirectory(page.getFolders().rootDir + "String_Node_Str" + File.separator+ "String_Node_Str"+ File.separator+ "String_Node_Str");
        Utilities.clearDirectory(page.getFolders().rootDir + "String_Node_Str" + File.separator+ "String_Node_Str"+ File.separator+ "String_Node_Str");
        String eCorePath=page.getFolders().dstDir + "String_Node_Str";
        generateECore(prsr.getECoreParseResults(),eCorePath);
        produceSpecification(eCorePath);
      }
      validateXml();
      if (isGenerate && buildFlags.get("String_Node_Str"))       produceQA();
      page.log("String_Node_Str" + Config.DATE_FORMAT().format(Calendar.getInstance().getTime()),LogMessageType.Process);
    }
 else {
      page.log("String_Node_Str" + Config.DATE_FORMAT().format(Calendar.getInstance().getTime()),LogMessageType.Process);
      throw new Exception("String_Node_Str");
    }
  }
}