Program: 94046
Project: 94046
Buggy source:
public void onPlayerChat(PlayerChatEvent event){
  if (!plugin.isAuthorized(event.getPlayer())) {
    Player player=event.getPlayer();
    if (ZPermissions.isAllowed(player,Permission.command_login)) {
      if (Util.toLoginMethod(Config.login_method).equalsIgnoreCase("String_Node_Str") && (this.plugin.isRegistered("String_Node_Str",event.getPlayer().getName()) || this.plugin.isRegistered("String_Node_Str",Util.checkOtherName(event.getPlayer().getName())))) {
        String[] split=event.getMessage().split("String_Node_Str");
        if (this.plugin.isRegistered("String_Node_Str",player.getName()) || this.plugin.isRegistered("String_Node_Str",Util.checkOtherName(player.getName()))) {
          if (plugin.isAuthorized(player)) {
            Messages.sendMessage(Message.login_authorized,player,null);
          }
 else           if (split.length > 1) {
            player.sendMessage("String_Node_Str" + Util.checkOtherName(player.getName()));
          }
 else           if (this.plugin.checkPassword(player.getName(),split[0]) || this.plugin.checkPassword(Util.checkOtherName(player.getName()),split[0])) {
            Processes.Login(player);
            Messages.sendMessage(Message.login_success,player,null);
          }
 else {
            Messages.sendMessage(Message.login_failure,player,null);
          }
          Util.logging.Debug(player.getName() + "String_Node_Str");
          event.setMessage("String_Node_Str");
          event.setCancelled(true);
        }
        event.setMessage("String_Node_Str");
        event.setCancelled(true);
      }
    }
 else     if (!checkGuest(event.getPlayer(),Config.guests_chat)) {
      event.setCancelled(true);
    }
  }
}

Fixed version (ground truth):
public void onPlayerChat(PlayerChatEvent event){
  if (event.isCancelled()) {
    return;
  }
  if (!plugin.isAuthorized(event.getPlayer())) {
    Player player=event.getPlayer();
    if (ZPermissions.isAllowed(player,Permission.command_login)) {
      if (Util.toLoginMethod(Config.login_method).equalsIgnoreCase("String_Node_Str") && (this.plugin.isRegistered("String_Node_Str",event.getPlayer().getName()) || this.plugin.isRegistered("String_Node_Str",Util.checkOtherName(event.getPlayer().getName())))) {
        String[] split=event.getMessage().split("String_Node_Str");
        if (this.plugin.isRegistered("String_Node_Str",player.getName()) || this.plugin.isRegistered("String_Node_Str",Util.checkOtherName(player.getName()))) {
          if (plugin.isAuthorized(player)) {
            Messages.sendMessage(Message.login_authorized,player,null);
          }
 else           if (split.length > 1) {
            player.sendMessage("String_Node_Str" + Util.checkOtherName(player.getName()));
          }
 else           if (this.plugin.checkPassword(player.getName(),split[0]) || this.plugin.checkPassword(Util.checkOtherName(player.getName()),split[0])) {
            Processes.Login(player);
            Messages.sendMessage(Message.login_success,player,null);
          }
 else {
            Messages.sendMessage(Message.login_failure,player,null);
          }
          Util.logging.Debug(player.getName() + "String_Node_Str");
          event.setMessage("String_Node_Str");
          event.setCancelled(true);
        }
        event.setMessage("String_Node_Str");
        event.setCancelled(true);
      }
    }
 else     if (!checkGuest(event.getPlayer(),Config.guests_chat)) {
      event.setCancelled(true);
    }
  }
}