Program: 5804
Project: 5804
Buggy source:
@SuppressWarnings("String_Node_Str") boolean loadConfiguration(){
  config=new Configuration(new File(plugin.getDataFolder(),"String_Node_Str"));
  config.load();
  Transactions=config.getBoolean("String_Node_Str",false);
  UseMySQL=config.getBoolean("String_Node_Str",false);
  MySQL_host=config.getString("String_Node_Str","String_Node_Str");
  MySQL_port=config.getString("String_Node_Str","String_Node_Str");
  MySQL_username=config.getString("String_Node_Str","String_Node_Str");
  MySQL_password=config.getString("String_Node_Str","String_Node_Str");
  MySQL_database=config.getString("String_Node_Str","String_Node_Str");
  SQL_account_table=config.getString("String_Node_Str","String_Node_Str");
  SQL_area_table=config.getString("String_Node_Str","String_Node_Str");
  SQL_loan_table=config.getString("String_Node_Str","String_Node_Str");
  SQL_transaction_table=config.getString("String_Node_Str","String_Node_Str");
  SQL_banks_table=config.getString("String_Node_Str","String_Node_Str");
  UseOP=config.getBoolean("String_Node_Str",true);
  UsePermissions=config.getBoolean("String_Node_Str",false);
  UseGroupManager=config.getBoolean("String_Node_Str",false);
  SuperAdmins=config.getBoolean("String_Node_Str",false);
  DepositAll=config.getBoolean("String_Node_Str",false);
  interestAmount=config.getDouble("String_Node_Str",0);
  interestOfflineAmount=config.getDouble("String_Node_Str",0);
  interestTime=config.getInt("String_Node_Str",0);
  Areas=config.getBoolean("String_Node_Str",false);
  AreaWandId=config.getInt("String_Node_Str",339);
  plugin.LoanSystem.LoanActive=config.getBoolean("String_Node_Str",false);
  plugin.LoanSystem.Fixed_rate=config.getDouble("String_Node_Str",0);
  plugin.LoanSystem.Rates=(Map<Double,Double>)config.getProperty("String_Node_Str");
  plugin.LoanSystem.Max_amount=config.getDouble("String_Node_Str",200);
  plugin.LoanSystem.PaymentTime=config.getInt("String_Node_Str",60);
  plugin.LoanSystem.PaymentParts=config.getInt("String_Node_Str",3);
  Fee_Mode=stringToType(config.getString("String_Node_Str","String_Node_Str"));
  Fee_Percentage=config.getDouble("String_Node_Str",0);
  Fee_Static=config.getDouble("String_Node_Str",0);
  StartAmount_Active=config.getBoolean("String_Node_Str",false);
  StartAmount_Fee=config.getDouble("String_Node_Str",0);
  StartAmount_Static=config.getDouble("String_Node_Str",0);
  MaxAmount=config.getDouble("String_Node_Str",0);
  Debug_Interest=config.getBoolean("String_Node_Str",true);
  Debug_Loan=config.getBoolean("String_Node_Str",true);
  plugin.console.info("String_Node_Str");
  try {
    if (UseMySQL) {
      Class.forName("String_Node_Str");
    }
 else {
      Class.forName("String_Node_Str");
    }
  }
 catch (  ClassNotFoundException e2) {
    e2.printStackTrace();
  }
  try {
    if (UseMySQL) {
      con=DriverManager.getConnection("String_Node_Str" + MySQL_host + "String_Node_Str"+ MySQL_port+ "String_Node_Str"+ MySQL_database,MySQL_username,MySQL_password);
    }
 else {
      con=DriverManager.getConnection("String_Node_Str" + plugin.myFolder.getAbsolutePath() + "String_Node_Str");
    }
    try {
      if (UseMySQL) {
        stmt=con.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_UPDATABLE);
        plugin.console.info("String_Node_Str");
      }
 else {
        stmt=con.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY);
        plugin.console.info("String_Node_Str");
      }
      boolean checkAccount=false;
      boolean checkArea=false;
      boolean checkLoan=false;
      boolean checkTransaction=false;
      try {
        ResultSet tables=con.getMetaData().getTables(null,null,null,null);
        while (tables.next()) {
          String tablename=tables.getString("String_Node_Str");
          if (tablename.equalsIgnoreCase(SQL_account_table)) {
            checkAccount=true;
          }
 else           if (tablename.equalsIgnoreCase(SQL_area_table)) {
            checkArea=true;
          }
 else           if (tablename.equalsIgnoreCase(SQL_loan_table)) {
            checkLoan=true;
          }
 else           if (tablename.equalsIgnoreCase(SQL_transaction_table)) {
            checkTransaction=true;
          }
 else           if (tablename.equalsIgnoreCase(SQL_banks_table)) {
          }
        }
      }
 catch (      SQLException e3) {
        plugin.console.warning("String_Node_Str");
        plugin.console.warning(e3.toString());
      }
      try {
        if (!checkAccount) {
          String query="String_Node_Str" + SQL_account_table + "String_Node_Str";
          if (UseMySQL) {
            plugin.console.warning("String_Node_Str" + SQL_account_table);
            query="String_Node_Str" + SQL_account_table + "String_Node_Str";
          }
          stmt.execute(query);
        }
        if (!checkArea && Areas) {
          String query="String_Node_Str" + SQL_area_table + "String_Node_Str";
          if (UseMySQL) {
            plugin.console.warning("String_Node_Str" + SQL_area_table);
            query="String_Node_Str" + SQL_area_table + "String_Node_Str";
          }
          stmt.execute(query);
        }
        if (!checkLoan && plugin.LoanSystem.LoanActive) {
          String query="String_Node_Str" + SQL_loan_table + "String_Node_Str";
          if (UseMySQL) {
            plugin.console.warning("String_Node_Str" + SQL_loan_table);
            query="String_Node_Str" + SQL_loan_table + "String_Node_Str";
          }
          stmt.execute(query);
        }
        if (!checkTransaction && Transactions) {
          String query="String_Node_Str" + SQL_transaction_table + "String_Node_Str";
          if (UseMySQL) {
            plugin.console.warning("String_Node_Str" + SQL_transaction_table);
            query="String_Node_Str" + SQL_transaction_table + "String_Node_Str";
          }
          stmt.execute(query);
        }
        new Upgrade(plugin,UseMySQL);
      }
 catch (      SQLException e3) {
        if (!checkAccount) {
          plugin.console.warning("String_Node_Str" + SQL_account_table);
        }
        if (!checkArea && Areas) {
          plugin.console.warning("String_Node_Str" + SQL_area_table);
          plugin.console.info("String_Node_Str");
          Areas=false;
        }
        if (!checkLoan && plugin.LoanSystem.LoanActive) {
          plugin.console.warning("String_Node_Str" + SQL_loan_table);
          plugin.console.info("String_Node_Str");
          plugin.LoanSystem.LoanActive=false;
          if (plugin.LoanSystem.running) {
            plugin.LoanSystem.shutdownRunner();
          }
        }
        if (!checkTransaction && Transactions) {
          plugin.console.warning("String_Node_Str" + SQL_transaction_table);
          plugin.console.info("String_Node_Str");
          Transactions=false;
        }
        plugin.console.warning(e3.toString());
        plugin.console.info("String_Node_Str");
        plugin.getServer().getPluginManager().disablePlugin(plugin);
        return false;
      }
    }
 catch (    SQLException e2) {
      if (UseMySQL) {
        plugin.console.warning("String_Node_Str");
      }
 else {
        plugin.console.warning("String_Node_Str");
      }
      plugin.console.warning(e2.toString());
      plugin.console.info("String_Node_Str");
      plugin.getServer().getPluginManager().disablePlugin(plugin);
      return false;
    }
  }
 catch (  SQLException e1) {
    if (UseMySQL) {
      plugin.console.warning("String_Node_Str");
    }
 else {
      plugin.console.warning("String_Node_Str");
    }
    plugin.console.warning(e1.toString());
    plugin.console.info("String_Node_Str");
    plugin.getServer().getPluginManager().disablePlugin(plugin);
    return false;
  }
  return true;
}

Fixed version (ground truth):
@SuppressWarnings("String_Node_Str") boolean loadConfiguration(){
  config=new Configuration(new File(plugin.getDataFolder(),"String_Node_Str"));
  config.load();
  Transactions=config.getBoolean("String_Node_Str",false);
  UseMySQL=config.getBoolean("String_Node_Str",false);
  MySQL_host=config.getString("String_Node_Str","String_Node_Str");
  MySQL_port=config.getString("String_Node_Str","String_Node_Str");
  MySQL_username=config.getString("String_Node_Str","String_Node_Str");
  MySQL_password=config.getString("String_Node_Str","String_Node_Str");
  MySQL_database=config.getString("String_Node_Str","String_Node_Str");
  SQL_account_table=config.getString("String_Node_Str","String_Node_Str");
  SQL_area_table=config.getString("String_Node_Str","String_Node_Str");
  SQL_loan_table=config.getString("String_Node_Str","String_Node_Str");
  SQL_transaction_table=config.getString("String_Node_Str","String_Node_Str");
  SQL_banks_table=config.getString("String_Node_Str","String_Node_Str");
  UseOP=config.getBoolean("String_Node_Str",true);
  UsePermissions=config.getBoolean("String_Node_Str",false);
  UseGroupManager=config.getBoolean("String_Node_Str",false);
  SuperAdmins=config.getBoolean("String_Node_Str",false);
  DepositAll=config.getBoolean("String_Node_Str",false);
  interestAmount=config.getDouble("String_Node_Str",0);
  interestOfflineAmount=config.getDouble("String_Node_Str",0);
  interestTime=config.getInt("String_Node_Str",0);
  Areas=config.getBoolean("String_Node_Str",false);
  AreaWandId=config.getInt("String_Node_Str",339);
  plugin.LoanSystem.LoanActive=config.getBoolean("String_Node_Str",false);
  plugin.LoanSystem.Fixed_rate=config.getDouble("String_Node_Str",0);
  plugin.LoanSystem.Rates=(Map<Double,Double>)config.getProperty("String_Node_Str");
  plugin.LoanSystem.Max_amount=config.getDouble("String_Node_Str",200);
  plugin.LoanSystem.PaymentTime=config.getInt("String_Node_Str",60);
  plugin.LoanSystem.PaymentParts=config.getInt("String_Node_Str",3);
  Fee_Mode=stringToType(config.getString("String_Node_Str","String_Node_Str"));
  Fee_Percentage=config.getDouble("String_Node_Str",0);
  Fee_Static=config.getDouble("String_Node_Str",0);
  StartAmount_Active=config.getBoolean("String_Node_Str",false);
  StartAmount_Fee=config.getDouble("String_Node_Str",0);
  StartAmount_Static=config.getDouble("String_Node_Str",0);
  MaxAmount=config.getDouble("String_Node_Str",0);
  Debug_Interest=config.getBoolean("String_Node_Str",true);
  Debug_Loan=config.getBoolean("String_Node_Str",true);
  plugin.console.info("String_Node_Str");
  try {
    if (UseMySQL) {
      Class.forName("String_Node_Str");
    }
 else {
      Class.forName("String_Node_Str");
    }
  }
 catch (  ClassNotFoundException e2) {
    e2.printStackTrace();
  }
  try {
    if (UseMySQL) {
      con=DriverManager.getConnection("String_Node_Str" + MySQL_host + "String_Node_Str"+ MySQL_port+ "String_Node_Str"+ MySQL_database,MySQL_username,MySQL_password);
    }
 else {
      con=DriverManager.getConnection("String_Node_Str" + plugin.myFolder.getAbsolutePath() + "String_Node_Str");
    }
    try {
      if (UseMySQL) {
        selectStmt=con.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_UPDATABLE);
        updateStmt=con.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_UPDATABLE);
        stmt=con.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_UPDATABLE);
        plugin.console.info("String_Node_Str");
      }
 else {
        selectStmt=con.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY);
        updateStmt=con.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY);
        stmt=con.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY);
        plugin.console.info("String_Node_Str");
      }
      boolean checkAccount=false;
      boolean checkArea=false;
      boolean checkLoan=false;
      boolean checkTransaction=false;
      try {
        ResultSet tables=con.getMetaData().getTables(null,null,null,null);
        while (tables.next()) {
          String tablename=tables.getString("String_Node_Str");
          if (tablename.equalsIgnoreCase(SQL_account_table)) {
            checkAccount=true;
          }
 else           if (tablename.equalsIgnoreCase(SQL_area_table)) {
            checkArea=true;
          }
 else           if (tablename.equalsIgnoreCase(SQL_loan_table)) {
            checkLoan=true;
          }
 else           if (tablename.equalsIgnoreCase(SQL_transaction_table)) {
            checkTransaction=true;
          }
 else           if (tablename.equalsIgnoreCase(SQL_banks_table)) {
          }
        }
      }
 catch (      SQLException e3) {
        plugin.console.warning("String_Node_Str");
        plugin.console.warning(e3.toString());
      }
      try {
        if (!checkAccount) {
          String query="String_Node_Str" + SQL_account_table + "String_Node_Str";
          if (UseMySQL) {
            plugin.console.warning("String_Node_Str" + SQL_account_table);
            query="String_Node_Str" + SQL_account_table + "String_Node_Str";
          }
          stmt.execute(query);
        }
        if (!checkArea && Areas) {
          String query="String_Node_Str" + SQL_area_table + "String_Node_Str";
          if (UseMySQL) {
            plugin.console.warning("String_Node_Str" + SQL_area_table);
            query="String_Node_Str" + SQL_area_table + "String_Node_Str";
          }
          stmt.execute(query);
        }
        if (!checkLoan && plugin.LoanSystem.LoanActive) {
          String query="String_Node_Str" + SQL_loan_table + "String_Node_Str";
          if (UseMySQL) {
            plugin.console.warning("String_Node_Str" + SQL_loan_table);
            query="String_Node_Str" + SQL_loan_table + "String_Node_Str";
          }
          stmt.execute(query);
        }
        if (!checkTransaction && Transactions) {
          String query="String_Node_Str" + SQL_transaction_table + "String_Node_Str";
          if (UseMySQL) {
            plugin.console.warning("String_Node_Str" + SQL_transaction_table);
            query="String_Node_Str" + SQL_transaction_table + "String_Node_Str";
          }
          stmt.execute(query);
        }
        new Upgrade(plugin,UseMySQL);
      }
 catch (      SQLException e3) {
        if (!checkAccount) {
          plugin.console.warning("String_Node_Str" + SQL_account_table);
        }
        if (!checkArea && Areas) {
          plugin.console.warning("String_Node_Str" + SQL_area_table);
          plugin.console.info("String_Node_Str");
          Areas=false;
        }
        if (!checkLoan && plugin.LoanSystem.LoanActive) {
          plugin.console.warning("String_Node_Str" + SQL_loan_table);
          plugin.console.info("String_Node_Str");
          plugin.LoanSystem.LoanActive=false;
          if (plugin.LoanSystem.running) {
            plugin.LoanSystem.shutdownRunner();
          }
        }
        if (!checkTransaction && Transactions) {
          plugin.console.warning("String_Node_Str" + SQL_transaction_table);
          plugin.console.info("String_Node_Str");
          Transactions=false;
        }
        plugin.console.warning(e3.toString());
        plugin.console.info("String_Node_Str");
        plugin.getServer().getPluginManager().disablePlugin(plugin);
        return false;
      }
    }
 catch (    SQLException e2) {
      if (UseMySQL) {
        plugin.console.warning("String_Node_Str");
      }
 else {
        plugin.console.warning("String_Node_Str");
      }
      plugin.console.warning(e2.toString());
      plugin.console.info("String_Node_Str");
      plugin.getServer().getPluginManager().disablePlugin(plugin);
      return false;
    }
  }
 catch (  SQLException e1) {
    if (UseMySQL) {
      plugin.console.warning("String_Node_Str");
    }
 else {
      plugin.console.warning("String_Node_Str");
    }
    plugin.console.warning(e1.toString());
    plugin.console.info("String_Node_Str");
    plugin.getServer().getPluginManager().disablePlugin(plugin);
    return false;
  }
  return true;
}