Program: 23260
Project: 23260
Buggy source:
public void initialize() throws Exception {
  first=true;
  boolean copyTemplate=false;
  if (configFile == null) {
    buildConfigFile();
    copyTemplate=true;
  }
 else   log("String_Node_Str" + configFile);
  configuration=(JsonObject)new com.google.gson.JsonParser().parse(TextFile.fileToString(configFile));
  if (configuration.has("String_Node_Str")) {
    String redirectFile=Utilities.path(Utilities.getDirectoryForFile(configFile),configuration.get("String_Node_Str").getAsString());
    log("String_Node_Str" + redirectFile);
    configFile=redirectFile;
    configuration=(JsonObject)new com.google.gson.JsonParser().parse(TextFile.fileToString(redirectFile));
  }
  if (configuration.has("String_Node_Str")) {
    for (    JsonElement n : configuration.getAsJsonArray("String_Node_Str")) {
      String level=((JsonPrimitive)n).getAsString();
      System.out.println("String_Node_Str" + level);
      logOptions.add(level);
    }
  }
  if (!"String_Node_Str".equals(str(configuration,"String_Node_Str")))   throw new Exception("String_Node_Str");
  tool=GenerationTool.Jekyll;
  version=ostr(configuration,"String_Node_Str");
  if (Utilities.noString(version))   version=Constants.VERSION;
  if (!configuration.has("String_Node_Str") || !(configuration.get("String_Node_Str") instanceof JsonObject))   throw new Exception("String_Node_Str");
  JsonObject paths=configuration.getAsJsonObject("String_Node_Str");
  String root=Utilities.getDirectoryForFile(configFile);
  if (Utilities.noString(root))   root=getCurentDirectory();
  root=new File(root).getCanonicalPath();
  log("String_Node_Str" + root);
  if (paths.get("String_Node_Str") instanceof JsonArray) {
    for (    JsonElement e : (JsonArray)paths.get("String_Node_Str"))     resourceDirs.add(Utilities.path(root,((JsonPrimitive)e).getAsString()));
  }
 else   resourceDirs.add(Utilities.path(root,str(paths,"String_Node_Str","String_Node_Str")));
  if (paths.get("String_Node_Str") instanceof JsonArray) {
    for (    JsonElement e : (JsonArray)paths.get("String_Node_Str"))     pagesDirs.add(Utilities.path(root,((JsonPrimitive)e).getAsString()));
  }
 else   pagesDirs.add(Utilities.path(root,str(paths,"String_Node_Str","String_Node_Str")));
  tempDir=Utilities.path(root,str(paths,"String_Node_Str","String_Node_Str"));
  outputDir=Utilities.path(root,str(paths,"String_Node_Str","String_Node_Str"));
  qaDir=Utilities.path(root,str(paths,"String_Node_Str"));
  vsCache=ostr(paths,"String_Node_Str");
  if (vsCache != null)   vsCache=Utilities.path(root,vsCache);
 else   if (autoBuildMode)   vsCache=Utilities.path(System.getProperty("String_Node_Str"),"String_Node_Str");
 else   vsCache=Utilities.path(System.getProperty("String_Node_Str"),"String_Node_Str");
  specPath=str(paths,"String_Node_Str");
  if (configuration.has("String_Node_Str")) {
    if (configuration.get("String_Node_Str") instanceof JsonArray) {
      for (      JsonElement e : (JsonArray)configuration.get("String_Node_Str")) {
        handlePreProcess((JsonObject)e,root);
      }
    }
 else     handlePreProcess(configuration.getAsJsonObject("String_Node_Str"),root);
  }
  igName=Utilities.path(resourceDirs.get(0),configuration.get("String_Node_Str").getAsString());
  inspector=new HTLMLInspector(outputDir,specMaps,this);
  historyPage=ostr(paths,"String_Node_Str");
  if (historyPage != null)   inspector.getManual().add(historyPage);
  allowBrokenHtml="String_Node_Str".equals(ostr(configuration,"String_Node_Str"));
  inspector.setStrict("String_Node_Str".equals(ostr(configuration,"String_Node_Str")));
  dlog(LogCategory.INIT,"String_Node_Str");
  for (  String s : resourceDirs) {
    dlog(LogCategory.INIT,"String_Node_Str" + s);
    checkDir(s);
  }
  for (  String s : pagesDirs) {
    dlog(LogCategory.INIT,"String_Node_Str" + s);
    checkDir(s);
  }
  dlog(LogCategory.INIT,"String_Node_Str" + tempDir);
  Utilities.clearDirectory(tempDir);
  forceDir(tempDir);
  forceDir(Utilities.path(tempDir,"String_Node_Str"));
  forceDir(Utilities.path(tempDir,"String_Node_Str"));
  dlog(LogCategory.INIT,"String_Node_Str" + outputDir);
  forceDir(outputDir);
  Utilities.clearDirectory(outputDir);
  dlog(LogCategory.INIT,"String_Node_Str" + qaDir);
  forceDir(qaDir);
  Utilities.createDirectory(vsCache);
  if (cacheOption == CacheOption.CLEAR_ALL || autoBuildMode) {
    log("String_Node_Str" + vsCache + "String_Node_Str");
    Utilities.clearDirectory(vsCache);
  }
 else   if (cacheOption == CacheOption.CLEAR_ERRORS) {
    log("String_Node_Str" + vsCache + "String_Node_Str");
    log("String_Node_Str" + Integer.toString(clearErrors(vsCache)) + "String_Node_Str");
  }
 else   log("String_Node_Str" + vsCache + "String_Node_Str"+ Integer.toString(Utilities.countFilesInDirectory(vsCache))+ "String_Node_Str");
  if (!new File(vsCache).exists())   throw new Exception("String_Node_Str" + vsCache);
  SpecificationPackage spec=null;
  if (specifications != null) {
    String sver=version;
    if (sver.lastIndexOf("String_Node_Str") > sver.indexOf("String_Node_Str"))     sver=sver.substring(0,sver.lastIndexOf("String_Node_Str"));
    spec=specifications.get(sver);
    if (spec == null)     throw new FHIRException("String_Node_Str" + sver);
  }
 else   if (!igPack.isEmpty()) {
    if (igPack.startsWith("String_Node_Str")) {
      throw new Error("String_Node_Str");
    }
 else {
      File igPackFile=new File(igPack);
      log("String_Node_Str" + igPackFile.getCanonicalPath());
      spec=SpecificationPackage.fromPath(igPackFile.getCanonicalPath());
    }
  }
 else   if (version.equals(Constants.VERSION)) {
    try {
      log("String_Node_Str");
      spec=SpecificationPackage.fromClassPath("String_Node_Str");
    }
 catch (    NullPointerException npe) {
      log("String_Node_Str");
      File igPackFile=null;
      if (System.getProperty("String_Node_Str") != null) {
        igPackFile=new File(System.getProperty("String_Node_Str"));
      }
      if (igPackFile == null || !igPackFile.exists()) {
        igPackFile=new File("String_Node_Str");
      }
      if (igPackFile != null && igPackFile.exists()) {
        log("String_Node_Str" + igPackFile.getCanonicalPath());
        spec=SpecificationPackage.fromPath(igPackFile.getCanonicalPath());
      }
 else {
        log("String_Node_Str");
      }
    }
  }
 else   spec=loadValidationPack();
  if (copyTemplate)   copyTemplate();
  context=spec.makeContext();
  context.setLogger(logger);
  log("String_Node_Str" + context.getVersion());
  context.setAllowLoadingDuplicates(true);
  context.setExpandCodesLimit(1000);
  log("String_Node_Str" + txServer);
  context.setExpansionProfile(makeExpProfile());
  context.initTS(vsCache,txServer);
  String sct=str(configuration,"String_Node_Str","String_Node_Str");
  if (Utilities.noString(sct))   throw new Exception("String_Node_Str");
  context.getExpansionProfile().addFixedVersion().setSystem("String_Node_Str").setVersion(sct);
  context.getExpansionProfile().setActiveOnly("String_Node_Str".equals(ostr(configuration,"String_Node_Str")));
  if (txServer == null || !txServer.contains("String_Node_Str")) {
    log("String_Node_Str");
    context.setCanRunWithoutTerminology(true);
  }
 else   checkTSVersion(vsCache,context.connectToTSServer(txServer));
  loadSpecDetails(context.getBinaries().get("String_Node_Str"));
  igpkp=new IGKnowledgeProvider(context,specPath,configuration,errors);
  igpkp.loadSpecPaths(specMaps.get(0));
  fetcher.setPkp(igpkp);
  JsonArray deps=configuration.getAsJsonArray("String_Node_Str");
  if (deps != null) {
    for (    JsonElement dep : deps) {
      loadIg((JsonObject)dep);
    }
  }
  validator=new InstanceValidator(context,null);
  validator.setAllowXsiLocation(true);
  validator.setNoBindingMsgSuppressed(true);
  if (paths.get("String_Node_Str") instanceof JsonArray) {
    for (    JsonElement e : (JsonArray)paths.get("String_Node_Str"))     validator.getExtensionDomains().add(((JsonPrimitive)e).getAsString());
  }
  if (configuration.has("String_Node_Str")) {
    businessVersion=configuration.getAsJsonPrimitive("String_Node_Str").getAsString();
  }
  String suppressPath=configuration.getAsJsonPrimitive("String_Node_Str").getAsString();
  if (!suppressPath.isEmpty())   loadSuppressedMessages(Utilities.path(root,suppressPath));
  validator.setFetcher(new ValidationServices(context,igpkp,fileList));
  for (  String s : context.getBinaries().keySet())   if (needFile(s)) {
    checkMakeFile(context.getBinaries().get(s),Utilities.path(qaDir,s),otherFilesStartup);
    checkMakeFile(context.getBinaries().get(s),Utilities.path(tempDir,s),otherFilesStartup);
  }
  otherFilesStartup.add(Utilities.path(tempDir,"String_Node_Str"));
  otherFilesStartup.add(Utilities.path(tempDir,"String_Node_Str","String_Node_Str"));
  otherFilesStartup.add(Utilities.path(tempDir,"String_Node_Str","String_Node_Str"));
  otherFilesStartup.add(Utilities.path(tempDir,"String_Node_Str","String_Node_Str"));
  otherFilesStartup.add(Utilities.path(tempDir,"String_Node_Str"));
  JsonArray urls=configuration.getAsJsonArray("String_Node_Str");
  if (urls != null) {
    for (    JsonElement url : urls) {
      listedURLExemptions.add(url.getAsString());
    }
  }
  log("String_Node_Str");
  JsonArray regenlist=configuration.getAsJsonArray("String_Node_Str");
  if (regenlist != null)   for (  JsonElement regen : regenlist)   regenList.add(((JsonPrimitive)regen).getAsString());
}

Fixed version (ground truth):
public void initialize() throws Exception {
  first=true;
  boolean copyTemplate=false;
  if (configFile == null) {
    buildConfigFile();
    copyTemplate=true;
  }
 else   log("String_Node_Str" + configFile);
  configuration=(JsonObject)new com.google.gson.JsonParser().parse(TextFile.fileToString(configFile));
  if (configuration.has("String_Node_Str")) {
    String redirectFile=Utilities.path(Utilities.getDirectoryForFile(configFile),configuration.get("String_Node_Str").getAsString());
    log("String_Node_Str" + redirectFile);
    configFile=redirectFile;
    configuration=(JsonObject)new com.google.gson.JsonParser().parse(TextFile.fileToString(redirectFile));
  }
  if (configuration.has("String_Node_Str")) {
    for (    JsonElement n : configuration.getAsJsonArray("String_Node_Str")) {
      String level=((JsonPrimitive)n).getAsString();
      System.out.println("String_Node_Str" + level);
      logOptions.add(level);
    }
  }
  if (!"String_Node_Str".equals(str(configuration,"String_Node_Str")))   throw new Exception("String_Node_Str");
  tool=GenerationTool.Jekyll;
  version=ostr(configuration,"String_Node_Str");
  if (Utilities.noString(version))   version=Constants.VERSION;
  if (!configuration.has("String_Node_Str") || !(configuration.get("String_Node_Str") instanceof JsonObject))   throw new Exception("String_Node_Str");
  JsonObject paths=configuration.getAsJsonObject("String_Node_Str");
  String root=Utilities.getDirectoryForFile(configFile);
  if (Utilities.noString(root))   root=getCurentDirectory();
  root=new File(root).getCanonicalPath();
  log("String_Node_Str" + root);
  if (paths.get("String_Node_Str") instanceof JsonArray) {
    for (    JsonElement e : (JsonArray)paths.get("String_Node_Str"))     resourceDirs.add(Utilities.path(root,((JsonPrimitive)e).getAsString()));
  }
 else   resourceDirs.add(Utilities.path(root,str(paths,"String_Node_Str","String_Node_Str")));
  if (paths.get("String_Node_Str") instanceof JsonArray) {
    for (    JsonElement e : (JsonArray)paths.get("String_Node_Str"))     pagesDirs.add(Utilities.path(root,((JsonPrimitive)e).getAsString()));
  }
 else   pagesDirs.add(Utilities.path(root,str(paths,"String_Node_Str","String_Node_Str")));
  tempDir=Utilities.path(root,str(paths,"String_Node_Str","String_Node_Str"));
  outputDir=Utilities.path(root,str(paths,"String_Node_Str","String_Node_Str"));
  qaDir=Utilities.path(root,str(paths,"String_Node_Str"));
  vsCache=ostr(paths,"String_Node_Str");
  if (vsCache != null)   vsCache=Utilities.path(root,vsCache);
 else   if (autoBuildMode)   vsCache=Utilities.path(System.getProperty("String_Node_Str"),"String_Node_Str");
 else   vsCache=Utilities.path(System.getProperty("String_Node_Str"),"String_Node_Str");
  specPath=str(paths,"String_Node_Str");
  if (configuration.has("String_Node_Str")) {
    if (configuration.get("String_Node_Str") instanceof JsonArray) {
      for (      JsonElement e : (JsonArray)configuration.get("String_Node_Str")) {
        handlePreProcess((JsonObject)e,root);
      }
    }
 else     handlePreProcess(configuration.getAsJsonObject("String_Node_Str"),root);
  }
  igName=Utilities.path(resourceDirs.get(0),configuration.get("String_Node_Str").getAsString());
  inspector=new HTLMLInspector(outputDir,specMaps,this);
  historyPage=ostr(paths,"String_Node_Str");
  if (historyPage != null)   inspector.getManual().add(historyPage);
  allowBrokenHtml="String_Node_Str".equals(ostr(configuration,"String_Node_Str"));
  inspector.setStrict("String_Node_Str".equals(ostr(configuration,"String_Node_Str")));
  dlog(LogCategory.INIT,"String_Node_Str");
  for (  String s : resourceDirs) {
    dlog(LogCategory.INIT,"String_Node_Str" + s);
    checkDir(s);
  }
  for (  String s : pagesDirs) {
    dlog(LogCategory.INIT,"String_Node_Str" + s);
    checkDir(s);
  }
  dlog(LogCategory.INIT,"String_Node_Str" + tempDir);
  Utilities.clearDirectory(tempDir);
  forceDir(tempDir);
  forceDir(Utilities.path(tempDir,"String_Node_Str"));
  forceDir(Utilities.path(tempDir,"String_Node_Str"));
  dlog(LogCategory.INIT,"String_Node_Str" + outputDir);
  forceDir(outputDir);
  Utilities.clearDirectory(outputDir);
  dlog(LogCategory.INIT,"String_Node_Str" + qaDir);
  forceDir(qaDir);
  Utilities.createDirectory(vsCache);
  if (cacheOption == CacheOption.CLEAR_ALL || autoBuildMode) {
    log("String_Node_Str" + vsCache + "String_Node_Str");
    Utilities.clearDirectory(vsCache);
  }
 else   if (cacheOption == CacheOption.CLEAR_ERRORS) {
    log("String_Node_Str" + vsCache + "String_Node_Str");
    log("String_Node_Str" + Integer.toString(clearErrors(vsCache)) + "String_Node_Str");
  }
 else   log("String_Node_Str" + vsCache + "String_Node_Str"+ Integer.toString(Utilities.countFilesInDirectory(vsCache))+ "String_Node_Str");
  if (!new File(vsCache).exists())   throw new Exception("String_Node_Str" + vsCache);
  SpecificationPackage spec=null;
  if (specifications != null) {
    String sver=version;
    if (sver.lastIndexOf("String_Node_Str") > sver.indexOf("String_Node_Str"))     sver=sver.substring(0,sver.lastIndexOf("String_Node_Str"));
    spec=specifications.get(sver);
    if (spec == null)     throw new FHIRException("String_Node_Str" + sver);
  }
 else   if (!igPack.isEmpty()) {
    if (igPack.startsWith("String_Node_Str")) {
      throw new Error("String_Node_Str");
    }
 else {
      File igPackFile=new File(igPack);
      log("String_Node_Str" + igPackFile.getCanonicalPath());
      spec=SpecificationPackage.fromPath(igPackFile.getCanonicalPath());
    }
  }
 else   if (version.equals(Constants.VERSION)) {
    try {
      log("String_Node_Str");
      spec=SpecificationPackage.fromClassPath("String_Node_Str");
    }
 catch (    NullPointerException npe) {
      log("String_Node_Str");
      File igPackFile=null;
      if (System.getProperty("String_Node_Str") != null) {
        igPackFile=new File(System.getProperty("String_Node_Str"));
      }
      if (igPackFile == null || !igPackFile.exists()) {
        igPackFile=new File("String_Node_Str");
      }
      if (igPackFile != null && igPackFile.exists()) {
        log("String_Node_Str" + igPackFile.getCanonicalPath());
        spec=SpecificationPackage.fromPath(igPackFile.getCanonicalPath());
      }
 else {
        log("String_Node_Str");
      }
    }
  }
 else   spec=loadValidationPack();
  if (copyTemplate)   copyTemplate();
  context=spec.makeContext();
  context.setLogger(logger);
  log("String_Node_Str" + context.getVersion());
  context.setAllowLoadingDuplicates(true);
  context.setExpandCodesLimit(1000);
  log("String_Node_Str" + txServer);
  context.setExpansionProfile(makeExpProfile());
  context.initTS(vsCache,txServer);
  String sct=str(configuration,"String_Node_Str","String_Node_Str");
  if (Utilities.noString(sct))   throw new Exception("String_Node_Str");
  context.getExpansionProfile().addFixedVersion().setSystem("String_Node_Str").setVersion(sct);
  context.getExpansionProfile().setActiveOnly("String_Node_Str".equals(ostr(configuration,"String_Node_Str")));
  if (txServer == null || !txServer.contains("String_Node_Str")) {
    log("String_Node_Str");
    context.setCanRunWithoutTerminology(true);
  }
 else   checkTSVersion(vsCache,context.connectToTSServer(txServer));
  loadSpecDetails(context.getBinaries().get("String_Node_Str"));
  igpkp=new IGKnowledgeProvider(context,specPath,configuration,errors);
  igpkp.loadSpecPaths(specMaps.get(0));
  fetcher.setPkp(igpkp);
  JsonArray deps=configuration.getAsJsonArray("String_Node_Str");
  if (deps != null) {
    for (    JsonElement dep : deps) {
      loadIg((JsonObject)dep);
    }
  }
  validator=new InstanceValidator(context,null);
  validator.setAllowXsiLocation(true);
  validator.setNoBindingMsgSuppressed(true);
  if (paths.get("String_Node_Str") instanceof JsonArray) {
    for (    JsonElement e : (JsonArray)paths.get("String_Node_Str"))     validator.getExtensionDomains().add(((JsonPrimitive)e).getAsString());
  }
  if (configuration.has("String_Node_Str")) {
    businessVersion=configuration.getAsJsonPrimitive("String_Node_Str").getAsString();
  }
  if (configuration.has("String_Node_Str")) {
    String suppressPath=configuration.getAsJsonPrimitive("String_Node_Str").getAsString();
    if (!suppressPath.isEmpty())     loadSuppressedMessages(Utilities.path(root,suppressPath));
  }
  validator.setFetcher(new ValidationServices(context,igpkp,fileList));
  for (  String s : context.getBinaries().keySet())   if (needFile(s)) {
    checkMakeFile(context.getBinaries().get(s),Utilities.path(qaDir,s),otherFilesStartup);
    checkMakeFile(context.getBinaries().get(s),Utilities.path(tempDir,s),otherFilesStartup);
  }
  otherFilesStartup.add(Utilities.path(tempDir,"String_Node_Str"));
  otherFilesStartup.add(Utilities.path(tempDir,"String_Node_Str","String_Node_Str"));
  otherFilesStartup.add(Utilities.path(tempDir,"String_Node_Str","String_Node_Str"));
  otherFilesStartup.add(Utilities.path(tempDir,"String_Node_Str","String_Node_Str"));
  otherFilesStartup.add(Utilities.path(tempDir,"String_Node_Str"));
  JsonArray urls=configuration.getAsJsonArray("String_Node_Str");
  if (urls != null) {
    for (    JsonElement url : urls) {
      listedURLExemptions.add(url.getAsString());
    }
  }
  log("String_Node_Str");
  JsonArray regenlist=configuration.getAsJsonArray("String_Node_Str");
  if (regenlist != null)   for (  JsonElement regen : regenlist)   regenList.add(((JsonPrimitive)regen).getAsString());
}