Program: 58080
Project: 58080
Buggy source:
@Override public void run(){
  try {
    sendMessage("String_Node_Str");
    sendMessage("String_Node_Str");
    final ArrayList<Plot> createdPlots=new ArrayList<>();
    final Plugin plotMePlugin=Bukkit.getPluginManager().getPlugin("String_Node_Str");
    final FileConfiguration plotConfig=plotMePlugin.getConfig();
    int count=0;
    Connection connection;
    if (plotConfig.getBoolean("String_Node_Str")) {
      String user=plotConfig.getString("String_Node_Str");
      String password=plotConfig.getString("String_Node_Str");
      String con=plotConfig.getString("String_Node_Str").replaceAll("String_Node_Str","String_Node_Str");
      String host=con.split("String_Node_Str")[0];
      String port=con.split("String_Node_Str")[1].split("String_Node_Str")[0];
      String database=con.split("String_Node_Str")[1].split("String_Node_Str")[1];
      MySQL mySQL=new MySQL(PlotMain.getMain(),host,port,database,user,password);
      connection=mySQL.openConnection();
    }
 else {
      connection=new SQLite(PlotMain.getMain(),plotMePlugin.getDataFolder() + File.separator + "String_Node_Str").openConnection();
    }
    sendMessage("String_Node_Str");
    ResultSet r;
    Statement stmt;
    HashMap<String,Integer> plotSize=new HashMap<>();
    HashMap<String,HashMap<PlotId,Plot>> plots=new HashMap<>();
    Set<String> worlds=plotConfig.getConfigurationSection("String_Node_Str").getKeys(false);
    stmt=connection.createStatement();
    r=stmt.executeQuery("String_Node_Str");
    while (r.next()) {
      PlotId id=new PlotId(r.getInt("String_Node_Str"),r.getInt("String_Node_Str"));
      String name=r.getString("String_Node_Str");
      String world=r.getString("String_Node_Str");
      if (!plotSize.containsKey(world)) {
        int size=r.getInt("String_Node_Str") - r.getInt("String_Node_Str");
        plotSize.put(world,size);
        plots.put(world,new HashMap<PlotId,Plot>());
      }
      UUID owner=UUIDHandler.getUUID(name);
      if (owner == null) {
        if (name.equals("String_Node_Str")) {
          owner=DBFunc.everyone;
        }
 else {
          sendMessage("String_Node_Str" + id);
          continue;
        }
      }
      Plot plot=new Plot(id,owner,new ArrayList<UUID>(),new ArrayList<UUID>(),world);
      plots.get(world).put(id,plot);
    }
    r=stmt.executeQuery("String_Node_Str");
    while (r.next()) {
      count++;
      PlotId id=new PlotId(r.getInt("String_Node_Str"),r.getInt("String_Node_Str"));
      String name=r.getString("String_Node_Str");
      String world=r.getString("String_Node_Str");
      UUID helper=UUIDHandler.getUUID(name);
      if (helper == null) {
        if (name.equals("String_Node_Str")) {
          helper=DBFunc.everyone;
        }
 else {
          sendMessage("String_Node_Str" + id);
          continue;
        }
      }
      if (plots.get(world).containsKey(id)) {
        plots.get(world).get(id).helpers.add(helper);
      }
    }
    r=stmt.executeQuery("String_Node_Str");
    while (r.next()) {
      PlotId id=new PlotId(r.getInt("String_Node_Str"),r.getInt("String_Node_Str"));
      String name=r.getString("String_Node_Str");
      String world=r.getString("String_Node_Str");
      UUID denied=UUIDHandler.getUUID(name);
      if (denied == null) {
        if (name.equals("String_Node_Str")) {
          denied=DBFunc.everyone;
        }
 else {
          sendMessage("String_Node_Str" + id);
          continue;
        }
      }
      if (plots.get(world).containsKey(id)) {
        plots.get(world).get(id).denied.add(denied);
      }
    }
    sendMessage("String_Node_Str" + count + "String_Node_Str");
    for (    String world : plots.keySet()) {
      sendMessage("String_Node_Str" + world);
      try {
        final Integer pathwidth=plotConfig.getInt("String_Node_Str" + world + "String_Node_Str");
        PlotMain.config.set("String_Node_Str" + world + "String_Node_Str",pathwidth);
        final Integer plotsize=plotConfig.getInt("String_Node_Str" + world + "String_Node_Str");
        PlotMain.config.set("String_Node_Str" + world + "String_Node_Str",plotsize);
        final String wallblock=plotConfig.getString("String_Node_Str" + world + "String_Node_Str");
        PlotMain.config.set("String_Node_Str" + world + "String_Node_Str",wallblock);
        final String floor=plotConfig.getString("String_Node_Str" + world + "String_Node_Str");
        PlotMain.config.set("String_Node_Str" + world + "String_Node_Str",Arrays.asList(floor));
        final String filling=plotConfig.getString("String_Node_Str" + world + "String_Node_Str");
        PlotMain.config.set("String_Node_Str" + world + "String_Node_Str",Arrays.asList(filling));
        final String road=plotConfig.getString("String_Node_Str" + world + "String_Node_Str");
        PlotMain.config.set("String_Node_Str" + world + "String_Node_Str",road);
        final Integer height=plotConfig.getInt("String_Node_Str" + world + "String_Node_Str");
        PlotMain.config.set("String_Node_Str" + world + "String_Node_Str",height);
      }
 catch (      final Exception e) {
        sendMessage("String_Node_Str" + world + "String_Node_Str");
      }
    }
    File PLOTME_DG_FILE=new File(plotMePlugin + File.separator + "String_Node_Str"+ File.separator+ "String_Node_Str");
    if (PLOTME_DG_FILE.exists()) {
      YamlConfiguration PLOTME_DG_YML=YamlConfiguration.loadConfiguration(PLOTME_DG_FILE);
      try {
        for (        String world : plots.keySet()) {
          final Integer pathwidth=PLOTME_DG_YML.getInt("String_Node_Str" + world + "String_Node_Str");
          PlotMain.config.set("String_Node_Str" + world + "String_Node_Str",pathwidth);
          final Integer plotsize=PLOTME_DG_YML.getInt("String_Node_Str" + world + "String_Node_Str");
          PlotMain.config.set("String_Node_Str" + world + "String_Node_Str",plotsize);
          final String wallblock=PLOTME_DG_YML.getString("String_Node_Str" + world + "String_Node_Str");
          PlotMain.config.set("String_Node_Str" + world + "String_Node_Str",wallblock);
          final String floor=PLOTME_DG_YML.getString("String_Node_Str" + world + "String_Node_Str");
          PlotMain.config.set("String_Node_Str" + world + "String_Node_Str",Arrays.asList(floor));
          final String filling=PLOTME_DG_YML.getString("String_Node_Str" + world + "String_Node_Str");
          PlotMain.config.set("String_Node_Str" + world + "String_Node_Str",Arrays.asList(filling));
          final String road=PLOTME_DG_YML.getString("String_Node_Str" + world + "String_Node_Str");
          PlotMain.config.set("String_Node_Str" + world + "String_Node_Str",road);
          final Integer height=PLOTME_DG_YML.getInt("String_Node_Str" + world + "String_Node_Str");
          PlotMain.config.set("String_Node_Str" + world + "String_Node_Str",height);
        }
      }
 catch (      Exception e) {
      }
    }
    for (    String world : plots.keySet()) {
      int duplicate=0;
      for (      Plot plot : plots.get(world).values()) {
        if (!PlotMain.getPlots(world).containsKey(plot.id)) {
          createdPlots.add(plot);
        }
 else {
          duplicate++;
        }
      }
      if (duplicate > 0) {
        PlotMain.sendConsoleSenderMessage("String_Node_Str" + duplicate + "String_Node_Str"+ world+ "String_Node_Str");
      }
    }
    sendMessage("String_Node_Str");
    DBFunc.createPlots(createdPlots);
    sendMessage("String_Node_Str");
    DBFunc.createAllSettingsAndHelpers(createdPlots);
    sendMessage("String_Node_Str");
    try {
      PlotMain.config.save(PlotMain.configFile);
    }
 catch (    final IOException e) {
      sendMessage("String_Node_Str");
    }
    boolean MV=false;
    boolean MW=false;
    if ((Bukkit.getPluginManager().getPlugin("String_Node_Str") != null) && Bukkit.getPluginManager().getPlugin("String_Node_Str").isEnabled()) {
      MV=true;
    }
 else     if ((Bukkit.getPluginManager().getPlugin("String_Node_Str") != null) && Bukkit.getPluginManager().getPlugin("String_Node_Str").isEnabled()) {
      MW=true;
    }
    for (    final String worldname : worlds) {
      final World world=Bukkit.getWorld(worldname);
      sendMessage("String_Node_Str" + worldname + "String_Node_Str");
      PlotMain.removePlotWorld(worldname);
      if (MV) {
        Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"String_Node_Str" + worldname);
        try {
          Thread.sleep(1000);
        }
 catch (        final InterruptedException ex) {
          Thread.currentThread().interrupt();
        }
        Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"String_Node_Str" + worldname + "String_Node_Str");
      }
 else       if (MW) {
        Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"String_Node_Str" + worldname);
        try {
          Thread.sleep(1000);
        }
 catch (        final InterruptedException ex) {
          Thread.currentThread().interrupt();
        }
        Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"String_Node_Str" + worldname + "String_Node_Str");
      }
 else {
        Bukkit.getServer().unloadWorld(world,true);
        final World myworld=WorldCreator.name(worldname).generator(new HybridGen(worldname)).createWorld();
        myworld.save();
      }
    }
    PlotMain.setAllPlotsRaw(DBFunc.getPlots());
    sendMessage("String_Node_Str");
    Bukkit.getPluginManager().disablePlugin(plotMePlugin);
    sendMessage("String_Node_Str");
    PlotMain.sendConsoleSenderMessage("String_Node_Str");
  }
 catch (  Exception e) {
    e.printStackTrace();
  }
}

Fixed version (ground truth):
@Override public void run(){
  try {
    sendMessage("String_Node_Str");
    sendMessage("String_Node_Str");
    final ArrayList<Plot> createdPlots=new ArrayList<>();
    final Plugin plotMePlugin=Bukkit.getPluginManager().getPlugin("String_Node_Str");
    final FileConfiguration plotConfig=plotMePlugin.getConfig();
    int count=0;
    Connection connection;
    if (plotConfig.getBoolean("String_Node_Str")) {
      String user=plotConfig.getString("String_Node_Str");
      String password=plotConfig.getString("String_Node_Str");
      String con=plotConfig.getString("String_Node_Str").replaceAll("String_Node_Str","String_Node_Str");
      String host=con.split("String_Node_Str")[0];
      String port=con.split("String_Node_Str")[1].split("String_Node_Str")[0];
      String database=con.split("String_Node_Str")[1].split("String_Node_Str")[1];
      MySQL mySQL=new MySQL(PlotMain.getMain(),host,port,database,user,password);
      connection=mySQL.openConnection();
    }
 else {
      connection=new SQLite(PlotMain.getMain(),plotMePlugin.getDataFolder() + File.separator + "String_Node_Str").openConnection();
    }
    sendMessage("String_Node_Str");
    ResultSet r;
    Statement stmt;
    HashMap<String,Integer> plotSize=new HashMap<>();
    HashMap<String,HashMap<PlotId,Plot>> plots=new HashMap<>();
    Set<String> worlds=plotConfig.getConfigurationSection("String_Node_Str").getKeys(false);
    stmt=connection.createStatement();
    r=stmt.executeQuery("String_Node_Str");
    while (r.next()) {
      PlotId id=new PlotId(r.getInt("String_Node_Str"),r.getInt("String_Node_Str"));
      String name=r.getString("String_Node_Str");
      System.out.print("String_Node_Str" + name);
      String world=r.getString("String_Node_Str");
      if (!plotSize.containsKey(world)) {
        int size=r.getInt("String_Node_Str") - r.getInt("String_Node_Str");
        plotSize.put(world,size);
        plots.put(world,new HashMap<PlotId,Plot>());
      }
      UUID owner=UUIDHandler.getUUID(name);
      if (owner == null) {
        if (name.equals("String_Node_Str")) {
          owner=DBFunc.everyone;
        }
 else {
          sendMessage("String_Node_Str" + id);
          continue;
        }
      }
      Plot plot=new Plot(id,owner,new ArrayList<UUID>(),new ArrayList<UUID>(),world);
      plots.get(world).put(id,plot);
    }
    r=stmt.executeQuery("String_Node_Str");
    while (r.next()) {
      count++;
      PlotId id=new PlotId(r.getInt("String_Node_Str"),r.getInt("String_Node_Str"));
      String name=r.getString("String_Node_Str");
      String world=r.getString("String_Node_Str");
      UUID helper=UUIDHandler.getUUID(name);
      if (helper == null) {
        if (name.equals("String_Node_Str")) {
          helper=DBFunc.everyone;
        }
 else {
          sendMessage("String_Node_Str" + id);
          continue;
        }
      }
      if (plots.get(world).containsKey(id)) {
        plots.get(world).get(id).helpers.add(helper);
      }
    }
    r=stmt.executeQuery("String_Node_Str");
    while (r.next()) {
      PlotId id=new PlotId(r.getInt("String_Node_Str"),r.getInt("String_Node_Str"));
      String name=r.getString("String_Node_Str");
      String world=r.getString("String_Node_Str");
      UUID denied=UUIDHandler.getUUID(name);
      if (denied == null) {
        if (name.equals("String_Node_Str")) {
          denied=DBFunc.everyone;
        }
 else {
          sendMessage("String_Node_Str" + id);
          continue;
        }
      }
      if (plots.get(world).containsKey(id)) {
        plots.get(world).get(id).denied.add(denied);
      }
    }
    sendMessage("String_Node_Str" + count + "String_Node_Str");
    for (    String world : plots.keySet()) {
      sendMessage("String_Node_Str" + world);
      try {
        final Integer pathwidth=plotConfig.getInt("String_Node_Str" + world + "String_Node_Str");
        PlotMain.config.set("String_Node_Str" + world + "String_Node_Str",pathwidth);
        final Integer plotsize=plotConfig.getInt("String_Node_Str" + world + "String_Node_Str");
        PlotMain.config.set("String_Node_Str" + world + "String_Node_Str",plotsize);
        final String wallblock=plotConfig.getString("String_Node_Str" + world + "String_Node_Str");
        PlotMain.config.set("String_Node_Str" + world + "String_Node_Str",wallblock);
        final String floor=plotConfig.getString("String_Node_Str" + world + "String_Node_Str");
        PlotMain.config.set("String_Node_Str" + world + "String_Node_Str",Arrays.asList(floor));
        final String filling=plotConfig.getString("String_Node_Str" + world + "String_Node_Str");
        PlotMain.config.set("String_Node_Str" + world + "String_Node_Str",Arrays.asList(filling));
        final String road=plotConfig.getString("String_Node_Str" + world + "String_Node_Str");
        PlotMain.config.set("String_Node_Str" + world + "String_Node_Str",road);
        final Integer height=plotConfig.getInt("String_Node_Str" + world + "String_Node_Str");
        PlotMain.config.set("String_Node_Str" + world + "String_Node_Str",height);
      }
 catch (      final Exception e) {
        sendMessage("String_Node_Str" + world + "String_Node_Str");
      }
    }
    File PLOTME_DG_FILE=new File(plotMePlugin + File.separator + "String_Node_Str"+ File.separator+ "String_Node_Str");
    if (PLOTME_DG_FILE.exists()) {
      YamlConfiguration PLOTME_DG_YML=YamlConfiguration.loadConfiguration(PLOTME_DG_FILE);
      try {
        for (        String world : plots.keySet()) {
          final Integer pathwidth=PLOTME_DG_YML.getInt("String_Node_Str" + world + "String_Node_Str");
          PlotMain.config.set("String_Node_Str" + world + "String_Node_Str",pathwidth);
          final Integer plotsize=PLOTME_DG_YML.getInt("String_Node_Str" + world + "String_Node_Str");
          PlotMain.config.set("String_Node_Str" + world + "String_Node_Str",plotsize);
          final String wallblock=PLOTME_DG_YML.getString("String_Node_Str" + world + "String_Node_Str");
          PlotMain.config.set("String_Node_Str" + world + "String_Node_Str",wallblock);
          final String floor=PLOTME_DG_YML.getString("String_Node_Str" + world + "String_Node_Str");
          PlotMain.config.set("String_Node_Str" + world + "String_Node_Str",Arrays.asList(floor));
          final String filling=PLOTME_DG_YML.getString("String_Node_Str" + world + "String_Node_Str");
          PlotMain.config.set("String_Node_Str" + world + "String_Node_Str",Arrays.asList(filling));
          final String road=PLOTME_DG_YML.getString("String_Node_Str" + world + "String_Node_Str");
          PlotMain.config.set("String_Node_Str" + world + "String_Node_Str",road);
          final Integer height=PLOTME_DG_YML.getInt("String_Node_Str" + world + "String_Node_Str");
          PlotMain.config.set("String_Node_Str" + world + "String_Node_Str",height);
        }
      }
 catch (      Exception e) {
      }
    }
    for (    String world : plots.keySet()) {
      int duplicate=0;
      for (      Plot plot : plots.get(world).values()) {
        if (!PlotMain.getPlots(world).containsKey(plot.id)) {
          createdPlots.add(plot);
        }
 else {
          duplicate++;
        }
      }
      if (duplicate > 0) {
        PlotMain.sendConsoleSenderMessage("String_Node_Str" + duplicate + "String_Node_Str"+ world+ "String_Node_Str");
      }
    }
    sendMessage("String_Node_Str");
    DBFunc.createPlots(createdPlots);
    sendMessage("String_Node_Str");
    DBFunc.createAllSettingsAndHelpers(createdPlots);
    sendMessage("String_Node_Str");
    try {
      PlotMain.config.save(PlotMain.configFile);
    }
 catch (    final IOException e) {
      sendMessage("String_Node_Str");
    }
    boolean MV=false;
    boolean MW=false;
    if ((Bukkit.getPluginManager().getPlugin("String_Node_Str") != null) && Bukkit.getPluginManager().getPlugin("String_Node_Str").isEnabled()) {
      MV=true;
    }
 else     if ((Bukkit.getPluginManager().getPlugin("String_Node_Str") != null) && Bukkit.getPluginManager().getPlugin("String_Node_Str").isEnabled()) {
      MW=true;
    }
    for (    final String worldname : worlds) {
      final World world=Bukkit.getWorld(worldname);
      sendMessage("String_Node_Str" + worldname + "String_Node_Str");
      PlotMain.removePlotWorld(worldname);
      if (MV) {
        Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"String_Node_Str" + worldname);
        try {
          Thread.sleep(1000);
        }
 catch (        final InterruptedException ex) {
          Thread.currentThread().interrupt();
        }
        Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"String_Node_Str" + worldname + "String_Node_Str");
      }
 else       if (MW) {
        Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"String_Node_Str" + worldname);
        try {
          Thread.sleep(1000);
        }
 catch (        final InterruptedException ex) {
          Thread.currentThread().interrupt();
        }
        Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"String_Node_Str" + worldname + "String_Node_Str");
      }
 else {
        Bukkit.getServer().unloadWorld(world,true);
        final World myworld=WorldCreator.name(worldname).generator(new HybridGen(worldname)).createWorld();
        myworld.save();
      }
    }
    PlotMain.setAllPlotsRaw(DBFunc.getPlots());
    sendMessage("String_Node_Str");
    Bukkit.getPluginManager().disablePlugin(plotMePlugin);
    sendMessage("String_Node_Str");
    PlotMain.sendConsoleSenderMessage("String_Node_Str");
  }
 catch (  Exception e) {
    e.printStackTrace();
  }
}