Program: 34075
Project: 34075
Buggy source:
/** 
 * @param event
 */
@EventHandler(priority=EventPriority.NORMAL) public void onPlayerJoin(final PlayerJoinEvent event){
  final String pluginVersion=plugin.getDescription().getVersion();
  if (plugin.getUpdateCheck() != null) {
    String[] split=plugin.getUpdateCheck().getVersionName().split("String_Node_Str");
    if (split.length > 1 && !pluginVersion.equals(split[1])) {
      event.getPlayer().sendMessage(ChatColor.RED + plugin.getUpdateCheck().getVersionName() + "String_Node_Str"+ pluginVersion);
      if (Settings.GAMETYPE.equals(GameType.ASKYBLOCK)) {
        event.getPlayer().sendMessage(ChatColor.RED + "String_Node_Str");
      }
 else {
        event.getPlayer().sendMessage(ChatColor.RED + "String_Node_Str");
      }
    }
  }
  final UUID playerUUID=event.getPlayer().getUniqueId();
  if (players == null) {
    plugin.getLogger().severe("String_Node_Str");
  }
  final List<String> messages=Messages.getMessages(playerUUID);
  if (messages != null) {
    plugin.getServer().getScheduler().runTaskLater(plugin,new Runnable(){
      @Override public void run(){
        event.getPlayer().sendMessage(ChatColor.AQUA + Locale.newsHeadline);
        int i=1;
        for (        String message : messages) {
          event.getPlayer().sendMessage(i++ + "String_Node_Str" + message);
        }
        Messages.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 (loc != null) {
    Island island=plugin.getGrid().getIsland(leader);
    if (island == null) {
      island=plugin.getGrid().getIslandAt(loc);
      if (island == null) {
        plugin.getGrid().addIsland(loc.getBlockX(),loc.getBlockZ(),leader);
      }
    }
 else {
      plugin.getGrid().setIslandOwner(island,leader);
    }
    if (Settings.loginLevel) {
      if (!plugin.isCalculatingLevel()) {
        plugin.setCalculatingLevel(true);
        LevelCalc levelCalc=new LevelCalc(plugin,playerUUID,event.getPlayer(),true);
        levelCalc.runTaskTimer(plugin,0L,10L);
      }
    }
  }
  players.setPlayerName(playerUUID,event.getPlayer().getName());
  players.save(playerUUID);
  if (Settings.logInRemoveMobs) {
    plugin.getGrid().removeMobs(event.getPlayer().getLocation());
  }
}

Fixed version (ground truth):
/** 
 * @param event
 */
@EventHandler(priority=EventPriority.NORMAL) public void onPlayerJoin(final PlayerJoinEvent event){
  final String pluginVersion=plugin.getDescription().getVersion();
  if (event.getPlayer().isOp() && plugin.getUpdateCheck() != null) {
    String[] split=plugin.getUpdateCheck().getVersionName().split("String_Node_Str");
    if (split.length > 1 && !pluginVersion.equals(split[1])) {
      event.getPlayer().sendMessage(ChatColor.RED + plugin.getUpdateCheck().getVersionName() + "String_Node_Str"+ pluginVersion);
      if (Settings.GAMETYPE.equals(GameType.ASKYBLOCK)) {
        event.getPlayer().sendMessage(ChatColor.RED + "String_Node_Str");
      }
 else {
        event.getPlayer().sendMessage(ChatColor.RED + "String_Node_Str");
      }
    }
  }
  final UUID playerUUID=event.getPlayer().getUniqueId();
  if (players == null) {
    plugin.getLogger().severe("String_Node_Str");
  }
  final List<String> messages=Messages.getMessages(playerUUID);
  if (messages != null) {
    plugin.getServer().getScheduler().runTaskLater(plugin,new Runnable(){
      @Override public void run(){
        event.getPlayer().sendMessage(ChatColor.AQUA + Locale.newsHeadline);
        int i=1;
        for (        String message : messages) {
          event.getPlayer().sendMessage(i++ + "String_Node_Str" + message);
        }
        Messages.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 (loc != null) {
    Island island=plugin.getGrid().getIsland(leader);
    if (island == null) {
      island=plugin.getGrid().getIslandAt(loc);
      if (island == null) {
        plugin.getGrid().addIsland(loc.getBlockX(),loc.getBlockZ(),leader);
      }
    }
 else {
      plugin.getGrid().setIslandOwner(island,leader);
    }
    if (Settings.loginLevel) {
      if (!plugin.isCalculatingLevel()) {
        plugin.setCalculatingLevel(true);
        LevelCalc levelCalc=new LevelCalc(plugin,playerUUID,event.getPlayer(),true);
        levelCalc.runTaskTimer(plugin,0L,10L);
      }
    }
  }
  players.setPlayerName(playerUUID,event.getPlayer().getName());
  players.save(playerUUID);
  if (Settings.logInRemoveMobs) {
    plugin.getGrid().removeMobs(event.getPlayer().getLocation());
  }
}