Program: 33848
Project: 33848
Buggy source:
/** 
 * @param event
 */
@EventHandler(priority=EventPriority.NORMAL,ignoreCancelled=true) public void onPlayerJoin(final PlayerJoinEvent event){
  if (DEBUG)   plugin.getLogger().info("String_Node_Str");
  final Player player=event.getPlayer();
  final UUID playerUUID=player.getUniqueId();
  if (DEBUG)   plugin.getLogger().info("String_Node_Str");
  if (playerUUID == null) {
    plugin.getLogger().severe("String_Node_Str" + player.getName() + "String_Node_Str");
    return;
  }
  if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str")) {
    if (DEBUG)     plugin.getLogger().info("String_Node_Str");
    String language=getLanguage(player);
    if (plugin.getResource("String_Node_Str" + language + "String_Node_Str") != null) {
      if (DEBUG)       plugin.getLogger().info("String_Node_Str");
      if (plugin.getPlayers().getLocale(playerUUID).isEmpty()) {
        if (DEBUG)         plugin.getLogger().info("String_Node_Str" + language);
        plugin.getPlayers().setLocale(playerUUID,language);
      }
    }
  }
 else {
    if (DEBUG)     plugin.getLogger().info("String_Node_Str");
    plugin.getPlayers().setLocale(playerUUID,"String_Node_Str");
  }
  if (player.isOp() && plugin.getUpdateCheck() != null) {
    if (DEBUG)     plugin.getLogger().info("String_Node_Str");
    plugin.checkUpdatesNotify(player);
  }
  if (players == null) {
    plugin.getLogger().severe("String_Node_Str");
  }
  if (DEBUG)   plugin.getLogger().info("String_Node_Str");
  if (!players.hasIsland(playerUUID) && !players.inTeam(playerUUID)) {
    if (DEBUG)     plugin.getLogger().info("String_Node_Str");
    return;
  }
  if (DEBUG)   plugin.getLogger().info("String_Node_Str");
  UUID leader=null;
  Location loc=null;
  if (players.inTeam(playerUUID) && players.getTeamIslandLocation(playerUUID) == null) {
    if (DEBUG)     plugin.getLogger().info("String_Node_Str");
    leader=players.getTeamLeader(playerUUID);
    players.setTeamIslandLocation(playerUUID,players.getIslandLocation(leader));
  }
  if (players.inTeam(playerUUID) && players.getTeamLeader(playerUUID).equals(playerUUID)) {
    Iterator<UUID> it=players.getMembers(playerUUID).iterator();
    while (it.hasNext()) {
      UUID member=it.next();
      if (!players.getTeamLeader(member).equals(playerUUID)) {
        plugin.getLogger().warning(plugin.getPlayers().getName(member) + "String_Node_Str");
        plugin.getLogger().warning("String_Node_Str" + player.getName() + "String_Node_Str"+ plugin.getPlayers().getName(players.getTeamLeader(member)));
        players.removeMember(players.getTeamLeader(member),member);
      }
    }
  }
  if (DEBUG)   plugin.getLogger().info("String_Node_Str");
  if (players.hasIsland(playerUUID)) {
    if (DEBUG)     plugin.getLogger().info("String_Node_Str");
    loc=players.getIslandLocation(playerUUID);
    leader=playerUUID;
  }
 else   if (players.inTeam(playerUUID)) {
    if (DEBUG)     plugin.getLogger().info("String_Node_Str");
    loc=players.getTeamIslandLocation(playerUUID);
    leader=players.getTeamLeader(playerUUID);
    if (leader == null) {
      plugin.getLogger().severe("String_Node_Str" + player.getName() + "String_Node_Str");
      players.setLeaveTeam(playerUUID);
    }
  }
  if (loc != null && leader != null) {
    if (DEBUG)     plugin.getLogger().info("String_Node_Str");
    Island island=plugin.getGrid().getIslandAt(loc);
    if (island == null) {
      if (DEBUG)       plugin.getLogger().info("String_Node_Str");
      Island islandByOwner=plugin.getGrid().getIsland(leader);
      if (islandByOwner == null) {
        if (plugin.getGrid().onGrid(loc)) {
          plugin.getGrid().addIsland(loc.getBlockX(),loc.getBlockZ(),leader);
        }
 else {
          plugin.getLogger().severe(player.getName() + "String_Node_Str" + loc+ "String_Node_Str");
        }
      }
 else {
        if (DEBUG)         plugin.getLogger().info("String_Node_Str");
        plugin.getLogger().warning(player.getName() + "String_Node_Str");
        plugin.getGrid().deleteIslandOwner(playerUUID);
        if (plugin.getGrid().onGrid(loc)) {
          plugin.getGrid().addIsland(loc.getBlockX(),loc.getBlockZ(),leader);
        }
 else {
          plugin.getLogger().severe(player.getName() + "String_Node_Str" + loc+ "String_Node_Str");
        }
      }
    }
 else {
      if (DEBUG)       plugin.getLogger().info("String_Node_Str");
      Island islandByOwner=plugin.getGrid().getIsland(leader);
      if (islandByOwner == null) {
        plugin.getLogger().warning(player.getName() + "String_Node_Str");
        plugin.getGrid().setIslandOwner(island,leader);
      }
 else {
        if (DEBUG)         plugin.getLogger().info("String_Node_Str");
        if (!islandByOwner.equals(island)) {
          if (DEBUG)           plugin.getLogger().info("String_Node_Str");
          plugin.getLogger().warning(player.getName() + "String_Node_Str");
          plugin.getGrid().deleteIsland(islandByOwner.getCenter());
          plugin.getGrid().setIslandOwner(island,leader);
        }
 else {
          if (island.getOwner().equals(player.getUniqueId())) {
            if (DEBUG) {
              plugin.getLogger().info("String_Node_Str" + islandByOwner.getProtectionSize());
              plugin.getLogger().info("String_Node_Str");
            }
            boolean hasARangePerm=false;
            int range=Settings.islandProtectionRange;
            if (island.getProtectionSize() == 0) {
              plugin.getLogger().warning("String_Node_Str" + player.getName() + "String_Node_Str"+ range);
              island.setProtectionSize(range);
            }
            for (            PermissionAttachmentInfo perms : player.getEffectivePermissions()) {
              if (perms.getPermission().startsWith(Settings.PERMPREFIX + "String_Node_Str")) {
                if (DEBUG)                 plugin.getLogger().info("String_Node_Str");
                if (perms.getPermission().contains(Settings.PERMPREFIX + "String_Node_Str")) {
                  break;
                }
 else {
                  String[] spl=perms.getPermission().split(Settings.PERMPREFIX + "String_Node_Str");
                  if (spl.length > 1) {
                    if (!NumberUtils.isDigits(spl[1])) {
                      plugin.getLogger().severe("String_Node_Str" + player.getName() + "String_Node_Str"+ perms.getPermission()+ "String_Node_Str");
                    }
 else {
                      if (DEBUG)                       plugin.getLogger().info("String_Node_Str");
                      hasARangePerm=true;
                      range=Math.max(range,Integer.valueOf(spl[1]));
                      if (DEBUG)                       plugin.getLogger().info("String_Node_Str" + range);
                    }
                  }
                }
              }
            }
            if (hasARangePerm) {
              if (range % 2 != 0) {
                range--;
                if (DEBUG)                 plugin.getLogger().warning("String_Node_Str" + range + "String_Node_Str"+ player.getName());
              }
              if (DEBUG)               plugin.getLogger().info("String_Node_Str" + range + "String_Node_Str"+ islandByOwner.getProtectionSize());
              if (range != islandByOwner.getProtectionSize()) {
                plugin.getMessages().storeMessage(playerUUID,plugin.myLocale(playerUUID).adminSetRangeUpdated.replace("String_Node_Str",String.valueOf(range)));
                plugin.getLogger().info("String_Node_Str" + islandByOwner.getProtectionSize() + "String_Node_Str"+ range+ "String_Node_Str"+ player.getName()+ "String_Node_Str");
              }
              islandByOwner.setProtectionSize(range);
            }
          }
        }
      }
    }
  }
  if (Settings.loginLevel) {
    if (DEBUG)     plugin.getLogger().info("String_Node_Str");
    new LevelCalcByChunk(plugin,playerUUID,player,false);
  }
  if (Settings.resetLimit < players.getResetsLeft(playerUUID) || (Settings.resetLimit >= 0 && players.getResetsLeft(playerUUID) < 0)) {
    players.setResetsLeft(playerUUID,Settings.resetLimit);
  }
  if (DEBUG)   plugin.getLogger().info("String_Node_Str");
  if (!player.getName().isEmpty()) {
    if (DEBUG)     plugin.getLogger().info("String_Node_Str" + player.getName());
    players.setPlayerName(playerUUID,player.getName());
  }
 else {
    plugin.getLogger().warning("String_Node_Str" + playerUUID.toString());
  }
  if (DEBUG)   plugin.getLogger().info("String_Node_Str");
  players.save(playerUUID);
  if (Settings.logInRemoveMobs) {
    if (DEBUG)     plugin.getLogger().info("String_Node_Str");
    plugin.getGrid().removeMobs(player.getLocation());
  }
  if (Settings.setTeamName) {
    if (DEBUG)     plugin.getLogger().info("String_Node_Str");
    Scoreboards.getInstance().setLevel(playerUUID);
  }
  Island currentIsland=plugin.getGrid().getIslandAt(player.getLocation());
  if (currentIsland != null && (currentIsland.isLocked() || plugin.getPlayers().isBanned(currentIsland.getOwner(),player.getUniqueId()))) {
    if (DEBUG)     plugin.getLogger().info("String_Node_Str");
    if (!currentIsland.getMembers().contains(playerUUID) && !player.isOp() && !VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str")) {
      if (DEBUG)       plugin.getLogger().info("String_Node_Str");
      Util.sendMessage(player,ChatColor.RED + plugin.myLocale(playerUUID).lockIslandLocked);
      plugin.getGrid().homeTeleport(player);
    }
  }
  if (DEBUG)   plugin.getLogger().info("String_Node_Str");
  plugin.getChatListener().setPlayerLevel(playerUUID,plugin.getPlayers().getIslandLevel(player.getUniqueId()));
  if (DEBUG)   plugin.getLogger().info("String_Node_Str");
  if (!player.hasPermission(Settings.PERMPREFIX + "String_Node_Str")) {
    if (DEBUG)     plugin.getLogger().info("String_Node_Str");
    TopTen.topTenRemoveEntry(playerUUID);
  }
  if (DEBUG)   plugin.getLogger().info("String_Node_Str" + player.getName());
  final List<String> messages=plugin.getMessages().getMessages(playerUUID);
  if (messages != null) {
    if (DEBUG)     plugin.getLogger().info("String_Node_Str");
    plugin.getServer().getScheduler().runTaskLater(plugin,new Runnable(){
      @Override public void run(){
        Util.sendMessage(player,ChatColor.AQUA + plugin.myLocale(playerUUID).newsHeadline);
        int i=1;
        for (        String message : messages) {
          Util.sendMessage(player,i++ + "String_Node_Str" + message);
        }
        plugin.getMessages().clearMessages(playerUUID);
      }
    }
,40L);
  }
  if (DEBUG)   plugin.getLogger().info("String_Node_Str");
}

Fixed version (ground truth):
/** 
 * @param event
 */
@EventHandler(priority=EventPriority.NORMAL,ignoreCancelled=true) public void onPlayerJoin(final PlayerJoinEvent event){
  if (DEBUG)   plugin.getLogger().info("String_Node_Str");
  final Player player=event.getPlayer();
  final UUID playerUUID=player.getUniqueId();
  if (DEBUG)   plugin.getLogger().info("String_Node_Str");
  if (playerUUID == null) {
    plugin.getLogger().severe("String_Node_Str" + player.getName() + "String_Node_Str");
    return;
  }
  if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str")) {
    if (DEBUG)     plugin.getLogger().info("String_Node_Str");
    String language=getLanguage(player);
    if (plugin.getResource("String_Node_Str" + language + "String_Node_Str") != null) {
      if (DEBUG)       plugin.getLogger().info("String_Node_Str");
      if (plugin.getPlayers().getLocale(playerUUID).isEmpty()) {
        if (DEBUG)         plugin.getLogger().info("String_Node_Str" + language);
        plugin.getPlayers().setLocale(playerUUID,language);
      }
    }
  }
 else {
    if (DEBUG)     plugin.getLogger().info("String_Node_Str");
    plugin.getPlayers().setLocale(playerUUID,"String_Node_Str");
  }
  if (player.isOp() && plugin.getUpdateCheck() != null) {
    if (DEBUG)     plugin.getLogger().info("String_Node_Str");
    plugin.checkUpdatesNotify(player);
  }
  if (players == null) {
    plugin.getLogger().severe("String_Node_Str");
  }
  if (DEBUG)   plugin.getLogger().info("String_Node_Str");
  if (!players.hasIsland(playerUUID) && !players.inTeam(playerUUID)) {
    if (DEBUG)     plugin.getLogger().info("String_Node_Str");
    return;
  }
  if (DEBUG)   plugin.getLogger().info("String_Node_Str");
  UUID leader=null;
  Location loc=null;
  if (players.inTeam(playerUUID) && players.getTeamIslandLocation(playerUUID) == null) {
    if (DEBUG)     plugin.getLogger().info("String_Node_Str");
    leader=players.getTeamLeader(playerUUID);
    players.setTeamIslandLocation(playerUUID,players.getIslandLocation(leader));
  }
  if (players.inTeam(playerUUID) && players.getTeamLeader(playerUUID).equals(playerUUID)) {
    Iterator<UUID> it=players.getMembers(playerUUID).iterator();
    while (it.hasNext()) {
      UUID member=it.next();
      if (players.getTeamLeader(member) != null && !players.getTeamLeader(member).equals(playerUUID)) {
        plugin.getLogger().warning(plugin.getPlayers().getName(member) + "String_Node_Str");
        plugin.getLogger().warning("String_Node_Str" + player.getName() + "String_Node_Str"+ plugin.getPlayers().getName(players.getTeamLeader(member)));
        players.removeMember(players.getTeamLeader(member),member);
      }
    }
  }
  if (DEBUG)   plugin.getLogger().info("String_Node_Str");
  if (players.hasIsland(playerUUID)) {
    if (DEBUG)     plugin.getLogger().info("String_Node_Str");
    loc=players.getIslandLocation(playerUUID);
    leader=playerUUID;
  }
 else   if (players.inTeam(playerUUID)) {
    if (DEBUG)     plugin.getLogger().info("String_Node_Str");
    loc=players.getTeamIslandLocation(playerUUID);
    leader=players.getTeamLeader(playerUUID);
    if (leader == null) {
      plugin.getLogger().severe("String_Node_Str" + player.getName() + "String_Node_Str");
      players.setLeaveTeam(playerUUID);
    }
  }
  if (loc != null && leader != null) {
    if (DEBUG)     plugin.getLogger().info("String_Node_Str");
    Island island=plugin.getGrid().getIslandAt(loc);
    if (island == null) {
      if (DEBUG)       plugin.getLogger().info("String_Node_Str");
      Island islandByOwner=plugin.getGrid().getIsland(leader);
      if (islandByOwner == null) {
        if (plugin.getGrid().onGrid(loc)) {
          plugin.getGrid().addIsland(loc.getBlockX(),loc.getBlockZ(),leader);
        }
 else {
          plugin.getLogger().severe(player.getName() + "String_Node_Str" + loc+ "String_Node_Str");
        }
      }
 else {
        if (DEBUG)         plugin.getLogger().info("String_Node_Str");
        plugin.getLogger().warning(player.getName() + "String_Node_Str");
        plugin.getGrid().deleteIslandOwner(playerUUID);
        if (plugin.getGrid().onGrid(loc)) {
          plugin.getGrid().addIsland(loc.getBlockX(),loc.getBlockZ(),leader);
        }
 else {
          plugin.getLogger().severe(player.getName() + "String_Node_Str" + loc+ "String_Node_Str");
        }
      }
    }
 else {
      if (DEBUG)       plugin.getLogger().info("String_Node_Str");
      Island islandByOwner=plugin.getGrid().getIsland(leader);
      if (islandByOwner == null) {
        plugin.getLogger().warning(player.getName() + "String_Node_Str");
        plugin.getGrid().setIslandOwner(island,leader);
      }
 else {
        if (DEBUG)         plugin.getLogger().info("String_Node_Str");
        if (!islandByOwner.equals(island)) {
          if (DEBUG)           plugin.getLogger().info("String_Node_Str");
          plugin.getLogger().warning(player.getName() + "String_Node_Str");
          plugin.getGrid().deleteIsland(islandByOwner.getCenter());
          plugin.getGrid().setIslandOwner(island,leader);
        }
 else {
          if (island.getOwner().equals(player.getUniqueId())) {
            if (DEBUG) {
              plugin.getLogger().info("String_Node_Str" + islandByOwner.getProtectionSize());
              plugin.getLogger().info("String_Node_Str");
            }
            boolean hasARangePerm=false;
            int range=Settings.islandProtectionRange;
            if (island.getProtectionSize() == 0) {
              plugin.getLogger().warning("String_Node_Str" + player.getName() + "String_Node_Str"+ range);
              island.setProtectionSize(range);
            }
            for (            PermissionAttachmentInfo perms : player.getEffectivePermissions()) {
              if (perms.getPermission().startsWith(Settings.PERMPREFIX + "String_Node_Str")) {
                if (DEBUG)                 plugin.getLogger().info("String_Node_Str");
                if (perms.getPermission().contains(Settings.PERMPREFIX + "String_Node_Str")) {
                  break;
                }
 else {
                  String[] spl=perms.getPermission().split(Settings.PERMPREFIX + "String_Node_Str");
                  if (spl.length > 1) {
                    if (!NumberUtils.isDigits(spl[1])) {
                      plugin.getLogger().severe("String_Node_Str" + player.getName() + "String_Node_Str"+ perms.getPermission()+ "String_Node_Str");
                    }
 else {
                      if (DEBUG)                       plugin.getLogger().info("String_Node_Str");
                      hasARangePerm=true;
                      range=Math.max(range,Integer.valueOf(spl[1]));
                      if (DEBUG)                       plugin.getLogger().info("String_Node_Str" + range);
                    }
                  }
                }
              }
            }
            if (hasARangePerm) {
              if (range % 2 != 0) {
                range--;
                if (DEBUG)                 plugin.getLogger().warning("String_Node_Str" + range + "String_Node_Str"+ player.getName());
              }
              if (DEBUG)               plugin.getLogger().info("String_Node_Str" + range + "String_Node_Str"+ islandByOwner.getProtectionSize());
              if (range != islandByOwner.getProtectionSize()) {
                plugin.getMessages().storeMessage(playerUUID,plugin.myLocale(playerUUID).adminSetRangeUpdated.replace("String_Node_Str",String.valueOf(range)));
                plugin.getLogger().info("String_Node_Str" + islandByOwner.getProtectionSize() + "String_Node_Str"+ range+ "String_Node_Str"+ player.getName()+ "String_Node_Str");
              }
              islandByOwner.setProtectionSize(range);
            }
          }
        }
      }
    }
  }
  if (Settings.loginLevel) {
    if (DEBUG)     plugin.getLogger().info("String_Node_Str");
    new LevelCalcByChunk(plugin,playerUUID,player,false);
  }
  if (Settings.resetLimit < players.getResetsLeft(playerUUID) || (Settings.resetLimit >= 0 && players.getResetsLeft(playerUUID) < 0)) {
    players.setResetsLeft(playerUUID,Settings.resetLimit);
  }
  if (DEBUG)   plugin.getLogger().info("String_Node_Str");
  if (!player.getName().isEmpty()) {
    if (DEBUG)     plugin.getLogger().info("String_Node_Str" + player.getName());
    players.setPlayerName(playerUUID,player.getName());
  }
 else {
    plugin.getLogger().warning("String_Node_Str" + playerUUID.toString());
  }
  if (DEBUG)   plugin.getLogger().info("String_Node_Str");
  players.save(playerUUID);
  if (Settings.logInRemoveMobs) {
    if (DEBUG)     plugin.getLogger().info("String_Node_Str");
    plugin.getGrid().removeMobs(player.getLocation());
  }
  if (Settings.setTeamName) {
    if (DEBUG)     plugin.getLogger().info("String_Node_Str");
    Scoreboards.getInstance().setLevel(playerUUID);
  }
  Island currentIsland=plugin.getGrid().getIslandAt(player.getLocation());
  if (currentIsland != null && (currentIsland.isLocked() || plugin.getPlayers().isBanned(currentIsland.getOwner(),player.getUniqueId()))) {
    if (DEBUG)     plugin.getLogger().info("String_Node_Str");
    if (!currentIsland.getMembers().contains(playerUUID) && !player.isOp() && !VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str")) {
      if (DEBUG)       plugin.getLogger().info("String_Node_Str");
      Util.sendMessage(player,ChatColor.RED + plugin.myLocale(playerUUID).lockIslandLocked);
      plugin.getGrid().homeTeleport(player);
    }
  }
  if (DEBUG)   plugin.getLogger().info("String_Node_Str");
  plugin.getChatListener().setPlayerLevel(playerUUID,plugin.getPlayers().getIslandLevel(player.getUniqueId()));
  if (DEBUG)   plugin.getLogger().info("String_Node_Str");
  if (!player.hasPermission(Settings.PERMPREFIX + "String_Node_Str")) {
    if (DEBUG)     plugin.getLogger().info("String_Node_Str");
    TopTen.topTenRemoveEntry(playerUUID);
  }
  if (DEBUG)   plugin.getLogger().info("String_Node_Str" + player.getName());
  final List<String> messages=plugin.getMessages().getMessages(playerUUID);
  if (messages != null) {
    if (DEBUG)     plugin.getLogger().info("String_Node_Str");
    plugin.getServer().getScheduler().runTaskLater(plugin,new Runnable(){
      @Override public void run(){
        Util.sendMessage(player,ChatColor.AQUA + plugin.myLocale(playerUUID).newsHeadline);
        int i=1;
        for (        String message : messages) {
          Util.sendMessage(player,i++ + "String_Node_Str" + message);
        }
        plugin.getMessages().clearMessages(playerUUID);
      }
    }
,40L);
  }
  if (DEBUG)   plugin.getLogger().info("String_Node_Str");
}