Program: 33988
Project: 33988
Buggy source:
/** 
 * @param event
 */
@EventHandler(priority=EventPriority.NORMAL) public void onPlayerJoin(final PlayerJoinEvent event){
  final Player player=event.getPlayer();
  final UUID playerUUID=player.getUniqueId();
  if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str")) {
    String language=getLanguage(player);
    if (plugin.getResource("String_Node_Str" + language + "String_Node_Str") != null) {
      if (plugin.getPlayers().getLocale(playerUUID).isEmpty()) {
        plugin.getPlayers().setLocale(playerUUID,language);
      }
    }
  }
 else {
    plugin.getPlayers().setLocale(playerUUID,"String_Node_Str");
  }
  if (player.isOp() && plugin.getUpdateCheck() != null) {
    plugin.checkUpdatesNotify(player);
  }
  if (players == null) {
    plugin.getLogger().severe("String_Node_Str");
  }
  final List<String> messages=plugin.getMessages().getMessages(playerUUID);
  if (messages != null) {
    plugin.getServer().getScheduler().runTaskLater(plugin,new Runnable(){
      @Override public void run(){
        player.sendMessage(ChatColor.AQUA + plugin.myLocale(playerUUID).newsHeadline);
        int i=1;
        for (        String message : messages) {
          player.sendMessage(i++ + "String_Node_Str" + message);
        }
        plugin.getMessages().clearMessages(playerUUID);
      }
    }
,40L);
  }
  if (!players.hasIsland(playerUUID) && !players.inTeam(playerUUID)) {
    return;
  }
  UUID leader=null;
  Location loc=null;
  if (players.inTeam(playerUUID) && players.getTeamIslandLocation(playerUUID) == null) {
    leader=players.getTeamLeader(playerUUID);
    players.setTeamIslandLocation(playerUUID,players.getIslandLocation(leader));
  }
  if (players.hasIsland(playerUUID)) {
    loc=players.getIslandLocation(playerUUID);
    leader=playerUUID;
  }
 else   if (players.inTeam(playerUUID)) {
    loc=players.getTeamIslandLocation(playerUUID);
    leader=players.getTeamLeader(playerUUID);
    if (leader == null) {
      plugin.getLogger().severe("String_Node_Str" + player.getName() + "String_Node_Str");
    }
  }
  if (loc != null && leader != null) {
    Island island=plugin.getGrid().getIslandAt(loc);
    if (island == null) {
      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 {
        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 {
      Island islandByOwner=plugin.getGrid().getIsland(leader);
      if (islandByOwner == null) {
        plugin.getLogger().warning(player.getName() + "String_Node_Str");
        plugin.getGrid().setIslandOwner(island,leader);
      }
 else {
        if (!islandByOwner.equals(island)) {
          plugin.getLogger().warning(player.getName() + "String_Node_Str");
          plugin.getGrid().deleteIsland(islandByOwner.getCenter());
          plugin.getGrid().setIslandOwner(island,leader);
        }
 else {
        }
      }
    }
  }
  if (Settings.loginLevel) {
    if (Settings.fastLevelCalc) {
      new LevelCalcByChunk(plugin,playerUUID,player,true);
    }
 else {
      if (!plugin.isCalculatingLevel()) {
        plugin.setCalculatingLevel(true);
        LevelCalc levelCalc=new LevelCalc(plugin,playerUUID,player,true);
        levelCalc.runTaskTimer(plugin,0L,10L);
      }
    }
  }
  if (!player.getName().isEmpty()) {
    players.setPlayerName(playerUUID,player.getName());
  }
 else {
    plugin.getLogger().warning("String_Node_Str" + playerUUID.toString());
  }
  players.save(playerUUID);
  if (Settings.logInRemoveMobs) {
    plugin.getGrid().removeMobs(player.getLocation());
  }
  if (Settings.setTeamName) {
    Scoreboards.getInstance().setLevel(playerUUID);
  }
  Island currentIsland=plugin.getGrid().getIslandAt(player.getLocation());
  if (currentIsland != null && (currentIsland.isLocked() || plugin.getPlayers().isBanned(currentIsland.getOwner(),player.getUniqueId()))) {
    if (!currentIsland.getMembers().contains(playerUUID) && !player.isOp() && !VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str")) {
      player.sendMessage(ChatColor.RED + plugin.myLocale(playerUUID).lockIslandLocked);
      plugin.getGrid().homeTeleport(player);
    }
  }
  plugin.getChatListener().setPlayerLevel(playerUUID,plugin.getPlayers().getIslandLevel(player.getUniqueId()));
  if (player.hasPermission(Settings.PERMPREFIX + "String_Node_Str")) {
    TopTen.topTenRemoveEntry(playerUUID);
  }
}

Fixed version (ground truth):
/** 
 * @param event
 */
@EventHandler(priority=EventPriority.NORMAL) public void onPlayerJoin(final PlayerJoinEvent event){
  final Player player=event.getPlayer();
  final UUID playerUUID=player.getUniqueId();
  if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str")) {
    String language=getLanguage(player);
    if (plugin.getResource("String_Node_Str" + language + "String_Node_Str") != null) {
      if (plugin.getPlayers().getLocale(playerUUID).isEmpty()) {
        plugin.getPlayers().setLocale(playerUUID,language);
      }
    }
  }
 else {
    plugin.getPlayers().setLocale(playerUUID,"String_Node_Str");
  }
  if (player.isOp() && plugin.getUpdateCheck() != null) {
    plugin.checkUpdatesNotify(player);
  }
  if (players == null) {
    plugin.getLogger().severe("String_Node_Str");
  }
  final List<String> messages=plugin.getMessages().getMessages(playerUUID);
  if (messages != null) {
    plugin.getServer().getScheduler().runTaskLater(plugin,new Runnable(){
      @Override public void run(){
        player.sendMessage(ChatColor.AQUA + plugin.myLocale(playerUUID).newsHeadline);
        int i=1;
        for (        String message : messages) {
          player.sendMessage(i++ + "String_Node_Str" + message);
        }
        plugin.getMessages().clearMessages(playerUUID);
      }
    }
,40L);
  }
  if (!players.hasIsland(playerUUID) && !players.inTeam(playerUUID)) {
    return;
  }
  UUID leader=null;
  Location loc=null;
  if (players.inTeam(playerUUID) && players.getTeamIslandLocation(playerUUID) == null) {
    leader=players.getTeamLeader(playerUUID);
    players.setTeamIslandLocation(playerUUID,players.getIslandLocation(leader));
  }
  if (players.hasIsland(playerUUID)) {
    loc=players.getIslandLocation(playerUUID);
    leader=playerUUID;
  }
 else   if (players.inTeam(playerUUID)) {
    loc=players.getTeamIslandLocation(playerUUID);
    leader=players.getTeamLeader(playerUUID);
    if (leader == null) {
      plugin.getLogger().severe("String_Node_Str" + player.getName() + "String_Node_Str");
    }
  }
  if (loc != null && leader != null) {
    Island island=plugin.getGrid().getIslandAt(loc);
    if (island == null) {
      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 {
        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 {
      Island islandByOwner=plugin.getGrid().getIsland(leader);
      if (islandByOwner == null) {
        plugin.getLogger().warning(player.getName() + "String_Node_Str");
        plugin.getGrid().setIslandOwner(island,leader);
      }
 else {
        if (!islandByOwner.equals(island)) {
          plugin.getLogger().warning(player.getName() + "String_Node_Str");
          plugin.getGrid().deleteIsland(islandByOwner.getCenter());
          plugin.getGrid().setIslandOwner(island,leader);
        }
 else {
        }
      }
    }
  }
  if (Settings.loginLevel) {
    if (Settings.fastLevelCalc) {
      new LevelCalcByChunk(plugin,playerUUID,player,false);
    }
 else {
      if (!plugin.isCalculatingLevel()) {
        plugin.setCalculatingLevel(true);
        LevelCalc levelCalc=new LevelCalc(plugin,playerUUID,player,false);
        levelCalc.runTaskTimer(plugin,0L,10L);
      }
    }
  }
  if (!player.getName().isEmpty()) {
    players.setPlayerName(playerUUID,player.getName());
  }
 else {
    plugin.getLogger().warning("String_Node_Str" + playerUUID.toString());
  }
  players.save(playerUUID);
  if (Settings.logInRemoveMobs) {
    plugin.getGrid().removeMobs(player.getLocation());
  }
  if (Settings.setTeamName) {
    Scoreboards.getInstance().setLevel(playerUUID);
  }
  Island currentIsland=plugin.getGrid().getIslandAt(player.getLocation());
  if (currentIsland != null && (currentIsland.isLocked() || plugin.getPlayers().isBanned(currentIsland.getOwner(),player.getUniqueId()))) {
    if (!currentIsland.getMembers().contains(playerUUID) && !player.isOp() && !VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str")) {
      player.sendMessage(ChatColor.RED + plugin.myLocale(playerUUID).lockIslandLocked);
      plugin.getGrid().homeTeleport(player);
    }
  }
  plugin.getChatListener().setPlayerLevel(playerUUID,plugin.getPlayers().getIslandLevel(player.getUniqueId()));
  if (player.hasPermission(Settings.PERMPREFIX + "String_Node_Str")) {
    TopTen.topTenRemoveEntry(playerUUID);
  }
}