Program: 30271
Project: 30271
Buggy source:
public void loadProject(File projectFile) throws IOException {
  File oldProjectFile=this.projectFile;
  this.projectFile=projectFile;
  if (checkProjectStructure()) {
    try {
      DinamicClassPath.addFile(projectFile.getAbsolutePath() + "String_Node_Str");
      DinamicClassPath.addFile(projectFile.getAbsolutePath() + "String_Node_Str");
      DinamicClassPath.addFile(projectFile.getAbsolutePath() + "String_Node_Str");
    }
 catch (    IOException e) {
      e.printStackTrace();
      System.exit(0);
    }
    EngineAssetManager.createEditInstance(Ctx.project.getProjectDir().getAbsolutePath() + Project.ASSETS_PATH);
    try {
      World.getInstance().loadWorldDesc();
    }
 catch (    SerializationException ex) {
      if (ex.getCause() != null && ex.getCause().getCause() != null && ex.getCause().getCause() instanceof ClassNotFoundException) {
        EditorLogger.debug("String_Node_Str");
        if (RunProccess.runGradle(Ctx.project.getProjectDir(),"String_Node_Str")) {
          loadProject(projectFile);
        }
 else {
          throw new IOException("String_Node_Str");
        }
      }
 else {
        throw ex;
      }
    }
    chapter=new Chapter(Ctx.project.getProjectDir().getAbsolutePath() + Project.MODEL_PATH);
    i18n=new I18NHandler(Ctx.project.getProjectDir().getAbsolutePath() + Project.MODEL_PATH);
    editorConfig.setProperty(LAST_PROJECT_PROP,projectFile.getAbsolutePath());
    projectConfig=new Properties();
    projectConfig.load(new FileInputStream(projectFile.getAbsolutePath() + ASSETS_PATH + "String_Node_Str"+ Config.PROPERTIES_FILENAME));
    firePropertyChange(NOTIFY_PROJECT_LOADED);
  }
 else {
    this.projectFile=oldProjectFile;
    throw new IOException("String_Node_Str");
  }
}

Fixed version (ground truth):
public void loadProject(File projectFile) throws IOException {
  File oldProjectFile=this.projectFile;
  this.projectFile=projectFile;
  if (checkProjectStructure()) {
    try {
      DinamicClassPath.addFile(projectFile.getAbsolutePath() + "String_Node_Str");
      DinamicClassPath.addFile(projectFile.getAbsolutePath() + "String_Node_Str");
      DinamicClassPath.addFile(projectFile.getAbsolutePath() + "String_Node_Str");
    }
 catch (    IOException e) {
      e.printStackTrace();
      System.exit(0);
    }
    EngineAssetManager.createEditInstance(Ctx.project.getProjectDir().getAbsolutePath() + Project.ASSETS_PATH);
    try {
      World.getInstance().loadWorldDesc();
    }
 catch (    SerializationException ex) {
      if (ex.getCause() != null && ex.getCause().getCause() != null && ex.getCause().getCause() instanceof ClassNotFoundException) {
        EditorLogger.debug("String_Node_Str");
        if (RunProccess.runGradle(Ctx.project.getProjectDir(),"String_Node_Str")) {
          World.getInstance().loadWorldDesc();
        }
 else {
          throw new IOException("String_Node_Str");
        }
      }
 else {
        throw ex;
      }
    }
    chapter=new Chapter(Ctx.project.getProjectDir().getAbsolutePath() + Project.MODEL_PATH);
    i18n=new I18NHandler(Ctx.project.getProjectDir().getAbsolutePath() + Project.MODEL_PATH);
    editorConfig.setProperty(LAST_PROJECT_PROP,projectFile.getAbsolutePath());
    projectConfig=new Properties();
    projectConfig.load(new FileInputStream(projectFile.getAbsolutePath() + ASSETS_PATH + "String_Node_Str"+ Config.PROPERTIES_FILENAME));
    firePropertyChange(NOTIFY_PROJECT_LOADED);
  }
 else {
    this.projectFile=oldProjectFile;
    throw new IOException("String_Node_Str");
  }
}