Program: 18945
Project: 18945
Buggy source:
public void save(){
  File folder=getDataFolder();
  if (!folder.exists()) {
    folder.mkdir();
  }
  File datafile=new File(folder.getAbsolutePath() + "String_Node_Str");
  if (!datafile.exists()) {
    try {
      datafile.createNewFile();
    }
 catch (    IOException e) {
      System.out.println("String_Node_Str" + e.getCause() + "String_Node_Str");
      return;
    }
  }
  try {
    FileOutputStream output=new FileOutputStream(datafile.getAbsoluteFile());
    BufferedWriter w=new BufferedWriter(new OutputStreamWriter(output));
    for (    ShowcaseItem item : showcasedItems) {
      String line="String_Node_Str";
      Location loc=item.getBlock().getLocation();
      Material type=item.getMaterial();
      short data=item.getData();
      String player=item.getPlayer();
      String showtype=item.getType();
      line+=loc.getBlockX() + "String_Node_Str" + loc.getBlockY()+ "String_Node_Str"+ loc.getBlockZ()+ "String_Node_Str";
      line+=type.getId() + "String_Node_Str" + data+ "String_Node_Str";
      line+=player + "String_Node_Str";
      line+=loc.getWorld().getName() + "String_Node_Str";
      line+=showtype + "String_Node_Str";
      if (item.getExtra() != null) {
        line+=item.getExtra().save();
      }
 else {
        line+=item.getExtraLoad();
      }
      line+="String_Node_Str";
      w.write(line);
    }
    w.flush();
    output.close();
  }
 catch (  FileNotFoundException e) {
    e.printStackTrace();
  }
catch (  IOException e) {
    e.printStackTrace();
  }
catch (  Exception e) {
    System.out.println("String_Node_Str");
  }
}

Fixed version (ground truth):
public void save(){
  File folder=getDataFolder();
  if (!folder.exists()) {
    folder.mkdir();
  }
  File datafile=new File(folder.getAbsolutePath() + "String_Node_Str");
  if (!datafile.exists()) {
    try {
      datafile.createNewFile();
    }
 catch (    IOException e) {
      System.out.println("String_Node_Str" + e.getCause() + "String_Node_Str");
      return;
    }
  }
  try {
    FileOutputStream output=new FileOutputStream(datafile.getAbsoluteFile());
    BufferedWriter w=new BufferedWriter(new OutputStreamWriter(output));
    for (    ShowcaseItem item : showcasedItems) {
      try {
        String line="String_Node_Str";
        Location loc=item.getBlock().getLocation();
        Material type=item.getMaterial();
        short data=item.getData();
        String player=item.getPlayer();
        String showtype=item.getType();
        line+=loc.getBlockX() + "String_Node_Str" + loc.getBlockY()+ "String_Node_Str"+ loc.getBlockZ()+ "String_Node_Str";
        line+=type.getId() + "String_Node_Str" + data+ "String_Node_Str";
        line+=player + "String_Node_Str";
        line+=loc.getWorld().getName() + "String_Node_Str";
        line+=showtype + "String_Node_Str";
        line+=loc.getWorld().getEnvironment().toString() + "String_Node_Str";
        if (item.getExtra() != null) {
          line+=item.getExtra().save();
        }
 else {
          line+=item.getExtraLoad();
        }
        line+="String_Node_Str";
        w.write(line);
      }
 catch (      Exception e) {
        continue;
      }
    }
    w.flush();
    output.close();
  }
 catch (  FileNotFoundException e) {
    e.printStackTrace();
  }
catch (  IOException e) {
    e.printStackTrace();
  }
catch (  Exception e) {
    System.out.println("String_Node_Str");
  }
}