Program: 44868
Project: 44868
Buggy source:
@SuppressWarnings("String_Node_Str") private void parseConfig(){
  if (inited) {
    SnowBalls.shapelessRecipes.clear();
    SnowBalls.shapedRecipes.clear();
    this.getServer().resetRecipes();
    try {
      this.getConfig().load(new File(this.getDataFolder(),"String_Node_Str"));
    }
 catch (    IOException e) {
      e.printStackTrace();
    }
catch (    InvalidConfigurationException e) {
      e.printStackTrace();
    }
  }
 else   inited=true;
  this.enableInfiniteLava=this.getConfig().getBoolean("String_Node_Str",false);
  if (this.enableInfiniteLava)   log.info("String_Node_Str");
  this.enableMaxStack=this.getConfig().getBoolean("String_Node_Str",false);
  if (this.enableMaxStack)   log.info("String_Node_Str");
  this.leavesLoot=this.getConfig().getBoolean("String_Node_Str",false);
  if (this.leavesLoot)   log.info("String_Node_Str");
  this.bookshelvesdrop=this.getConfig().getBoolean("String_Node_Str",false);
  if (this.bookshelvesdrop)   log.info("String_Node_Str");
  this.icedrop=this.getConfig().getBoolean("String_Node_Str",false);
  if (this.icedrop)   log.info("String_Node_Str");
  this.defaultSearchRange=this.getConfig().getInt("String_Node_Str",20);
  this.maximumSearchRange=this.getConfig().getInt("String_Node_Str",100);
  log.info("String_Node_Str" + this.defaultSearchRange + "String_Node_Str");
  log.info("String_Node_Str" + this.maximumSearchRange + "String_Node_Str");
  this.useZones=zonesHelper.checkForZones();
  if (useZones)   log.info("String_Node_Str");
  ConfigurationSection section=this.getConfig().getConfigurationSection("String_Node_Str");
  if (section != null) {
    Set<String> shapelesslines=section.getKeys(false);
    for (    String s1 : shapelesslines) {
      try {
        List<Integer> result=this.getConfig().getIntegerList("String_Node_Str" + s1 + "String_Node_Str");
        ShapelessRecipe sl=new ShapelessRecipe(new ItemStack(result.get(0),result.get(2),result.get(1).shortValue()));
        List<?> ingredients=this.getConfig().getList("String_Node_Str" + s1 + "String_Node_Str",null);
        if (ingredients != null) {
          for (          Object iline : ingredients) {
            if (iline instanceof List) {
              List<Integer> l=(List<Integer>)iline;
              if (l.size() > 2)               sl.addIngredient(l.get(2),Material.getMaterial(l.get(0)),l.get(1));
 else               sl.addIngredient(Material.getMaterial(l.get(0)),l.get(1));
            }
          }
        }
        log.info("String_Node_Str" + s1 + "String_Node_Str");
        SnowBalls.shapelessRecipes.add(sl);
      }
 catch (      NullPointerException ex) {
        log.warning("String_Node_Str" + s1 + "String_Node_Str");
      }
    }
  }
  section=this.getConfig().getConfigurationSection("String_Node_Str");
  if (section != null) {
    Set<String> shapedrecipelines=section.getKeys(false);
    for (    String s1 : shapedrecipelines) {
      try {
        List<Integer> result=this.getConfig().getIntegerList("String_Node_Str" + s1 + "String_Node_Str");
        ShapedRecipe sr=new ShapedRecipe(new ItemStack(result.get(0),result.get(2),result.get(1).shortValue()));
        String[] shape=this.getConfig().getStringList("String_Node_Str" + s1 + "String_Node_Str").toArray(new String[0]);
        sr.shape(shape);
        Set<String> shapedRecipeIngredients=this.getConfig().getConfigurationSection("String_Node_Str" + s1 + "String_Node_Str").getKeys(false);
        for (        String charac : shapedRecipeIngredients) {
          List<Integer> l=this.getConfig().getIntegerList("String_Node_Str" + s1 + "String_Node_Str"+ charac);
          Material mat=Material.getMaterial(l.get(0));
          sr.setIngredient(charac.toCharArray()[0],mat,l.get(1));
        }
        log.info("String_Node_Str" + s1 + "String_Node_Str");
        SnowBalls.shapedRecipes.add(sr);
      }
 catch (      NullPointerException ex) {
        log.warning("String_Node_Str" + s1 + "String_Node_Str");
      }
    }
  }
  if (enableMaxStack) {
    log.info("String_Node_Str");
    this.setMaxStack();
  }
}

Fixed version (ground truth):
@SuppressWarnings("String_Node_Str") private void parseConfig(){
  if (inited) {
    SnowBalls.shapelessRecipes.clear();
    SnowBalls.shapedRecipes.clear();
    this.getServer().resetRecipes();
    try {
      this.getConfig().load(new File(this.getDataFolder(),"String_Node_Str"));
    }
 catch (    IOException e) {
      e.printStackTrace();
    }
catch (    InvalidConfigurationException e) {
      e.printStackTrace();
    }
  }
 else   inited=true;
  this.enableInfiniteLava=this.getConfig().getBoolean("String_Node_Str",false);
  if (this.enableInfiniteLava)   log.info("String_Node_Str");
  this.enableMaxStack=this.getConfig().getBoolean("String_Node_Str",false);
  if (this.enableMaxStack)   log.info("String_Node_Str");
  this.leavesLoot=this.getConfig().getBoolean("String_Node_Str",false);
  if (this.leavesLoot)   log.info("String_Node_Str");
  this.bookshelvesdrop=this.getConfig().getBoolean("String_Node_Str",false);
  if (this.bookshelvesdrop)   log.info("String_Node_Str");
  this.icedrop=this.getConfig().getBoolean("String_Node_Str",false);
  if (this.icedrop)   log.info("String_Node_Str");
  this.defaultSearchRange=this.getConfig().getInt("String_Node_Str",20);
  this.maximumSearchRange=this.getConfig().getInt("String_Node_Str",100);
  log.info("String_Node_Str" + this.defaultSearchRange + "String_Node_Str");
  log.info("String_Node_Str" + this.maximumSearchRange + "String_Node_Str");
  this.useZones=zonesHelper.checkForZones();
  if (useZones)   log.info("String_Node_Str");
  this.useTCUtils=tcUtilsHelper.checkForTweakcraftUtils();
  if (useTCUtils)   log.info("String_Node_Str");
  ConfigurationSection section=this.getConfig().getConfigurationSection("String_Node_Str");
  if (section != null) {
    Set<String> shapelesslines=section.getKeys(false);
    for (    String s1 : shapelesslines) {
      try {
        List<Integer> result=this.getConfig().getIntegerList("String_Node_Str" + s1 + "String_Node_Str");
        ShapelessRecipe sl=new ShapelessRecipe(new ItemStack(result.get(0),result.get(2),result.get(1).shortValue()));
        List<?> ingredients=this.getConfig().getList("String_Node_Str" + s1 + "String_Node_Str",null);
        if (ingredients != null) {
          for (          Object iline : ingredients) {
            if (iline instanceof List) {
              List<Integer> l=(List<Integer>)iline;
              if (l.size() > 2)               sl.addIngredient(l.get(2),Material.getMaterial(l.get(0)),l.get(1));
 else               sl.addIngredient(Material.getMaterial(l.get(0)),l.get(1));
            }
          }
        }
        log.info("String_Node_Str" + s1 + "String_Node_Str");
        SnowBalls.shapelessRecipes.add(sl);
      }
 catch (      NullPointerException ex) {
        log.warning("String_Node_Str" + s1 + "String_Node_Str");
      }
    }
  }
  section=this.getConfig().getConfigurationSection("String_Node_Str");
  if (section != null) {
    Set<String> shapedrecipelines=section.getKeys(false);
    for (    String s1 : shapedrecipelines) {
      try {
        List<Integer> result=this.getConfig().getIntegerList("String_Node_Str" + s1 + "String_Node_Str");
        ShapedRecipe sr=new ShapedRecipe(new ItemStack(result.get(0),result.get(2),result.get(1).shortValue()));
        String[] shape=this.getConfig().getStringList("String_Node_Str" + s1 + "String_Node_Str").toArray(new String[0]);
        sr.shape(shape);
        Set<String> shapedRecipeIngredients=this.getConfig().getConfigurationSection("String_Node_Str" + s1 + "String_Node_Str").getKeys(false);
        for (        String charac : shapedRecipeIngredients) {
          List<Integer> l=this.getConfig().getIntegerList("String_Node_Str" + s1 + "String_Node_Str"+ charac);
          Material mat=Material.getMaterial(l.get(0));
          sr.setIngredient(charac.toCharArray()[0],mat,l.get(1));
        }
        log.info("String_Node_Str" + s1 + "String_Node_Str");
        SnowBalls.shapedRecipes.add(sr);
      }
 catch (      NullPointerException ex) {
        log.warning("String_Node_Str" + s1 + "String_Node_Str");
      }
    }
  }
  if (enableMaxStack) {
    log.info("String_Node_Str");
    this.setMaxStack();
  }
}