Program: 5806
Project: 5806
Buggy source:
public void onEnable(){
  getDataFolder().mkdir();
  getCommand("String_Node_Str").setExecutor(cmdExecutor);
  getCommand("String_Node_Str").setUsage("String_Node_Str");
  PlayerListener rightClickListener=new PlayerListener(){
    @Override public void onPlayerInteract(    PlayerInteractEvent event){
      if (event.getAction() == Action.RIGHT_CLICK_BLOCK) {
        UserSaves mySave=getSaved(event.getPlayer().getName());
        if (event.getPlayer().getItemInHand().getTypeId() == AreaWandId && mySave.isSelecting()) {
          Location pos=event.getClickedBlock().getLocation();
          if (mySave.setPosition(pos) == 2) {
            event.getPlayer().sendMessage("String_Node_Str");
          }
 else {
            event.getPlayer().sendMessage("String_Node_Str");
          }
        }
      }
    }
  }
;
  EntityListener entityListener=new EntityListener(){
    public void onEntityDamageByEntity(    EntityDamageByEntityEvent event){
      Entity attacker=event.getDamager();
      Entity defender=event.getEntity();
      if (defender instanceof Player) {
        Player player=(Player)defender;
        if (player.getHealth() - event.getDamage() <= 0) {
          if (attacker != null && attacker instanceof Player) {
            double bounty=getSaved(((Player)attacker).getName()).getBounty();
            if (bounty > 0.00) {
              Account attackerAccount=com.nijiko.coelho.iConomy.iConomy.getBank().getAccount(((Player)attacker).getName());
              attackerAccount.add(bounty);
              getSaved(((Player)attacker).getName()).setBounty(0.00);
            }
          }
        }
      }
    }
    public void onEntityDamageByProjectile(    EntityDamageByProjectileEvent event){
      Entity defender=event.getEntity();
      Entity attacker=event.getDamager();
      if (defender instanceof Player) {
        Player player=(Player)defender;
        if (player.getHealth() - event.getDamage() <= 0) {
          if (attacker != null && attacker instanceof Player) {
            double bounty=getSaved(((Player)attacker).getName()).getBounty();
            if (bounty > 0.00) {
              Account attackerAccount=com.nijiko.coelho.iConomy.iConomy.getBank().getAccount(((Player)attacker).getName());
              attackerAccount.add(bounty);
              getSaved(((Player)attacker).getName()).setBounty(0.00);
            }
          }
        }
      }
    }
    @Override public void onEntityDamage(    EntityDamageEvent event){
      if (event instanceof EntityDamageByProjectileEvent) {
        this.onEntityDamageByProjectile((EntityDamageByProjectileEvent)event);
        return;
      }
 else       if (event instanceof EntityDamageByEntityEvent) {
        this.onEntityDamageByEntity((EntityDamageByEntityEvent)event);
        return;
      }
    }
  }
;
  ServerListener pluginListener=new ServerListener(){
    Plugin checkPlugin(    String pluginname){
      return getServer().getPluginManager().getPlugin(pluginname);
    }
    @Override public void onPluginEnable(    PluginEnableEvent event){
      String plugin=event.getPlugin().getDescription().getName();
      if (iConomy == null && plugin.equalsIgnoreCase("String_Node_Str")) {
        Plugin test=checkPlugin("String_Node_Str");
        if (test != null) {
          iConomy=(iConomy)test;
          foundiConomy();
        }
      }
      if (Permissions == null && plugin.equalsIgnoreCase("String_Node_Str") && UsePermissions) {
        Plugin test=checkPlugin("String_Node_Str");
        if (test != null) {
          ((Permissions)test).getDatabase();
          Permissions=((Permissions)test).getHandler();
          consoleInfo("String_Node_Str" + plugin + "String_Node_Str");
        }
      }
      if (GroupManager == null && plugin.equalsIgnoreCase("String_Node_Str") && UseGroupManager) {
        Plugin test=checkPlugin("String_Node_Str");
        if (test != null) {
          GroupManager=(GroupManager)test;
          consoleInfo("String_Node_Str" + plugin + "String_Node_Str");
          if (checkJobId > 0) {
            getServer().getScheduler().cancelTask(checkJobId);
          }
        }
      }
    }
    @Override public void onPluginDisable(    PluginDisableEvent event){
      String plugin=event.getPlugin().getDescription().getName();
      if (iConomy != null && plugin.equalsIgnoreCase("String_Node_Str")) {
        iConomy=null;
        if (LoanSystem.LoanActive && LoanSystem.running) {
          LoanSystem.shutdownRunner();
        }
        consoleWarning("String_Node_Str" + plugin + "String_Node_Str");
        consoleWarning("String_Node_Str");
        getServer().getPluginManager().disablePlugin(thisPlugin);
      }
      if (Permissions != null && plugin.equalsIgnoreCase("String_Node_Str")) {
        Permissions=null;
        consoleWarning("String_Node_Str" + plugin + "String_Node_Str");
      }
      if (GroupManager != null && plugin.equalsIgnoreCase("String_Node_Str")) {
        GroupManager=null;
        consoleWarning("String_Node_Str" + plugin + "String_Node_Str");
      }
    }
  }
;
  PluginManager pm=getServer().getPluginManager();
  pm.registerEvent(Type.PLAYER_INTERACT,rightClickListener,Priority.Normal,this);
  pm.registerEvent(Type.ENTITY_DAMAGE,entityListener,Priority.Normal,this);
  pm.registerEvent(Type.PLUGIN_ENABLE,pluginListener,Priority.Low,this);
  pm.registerEvent(Type.PLUGIN_DISABLE,pluginListener,Priority.Low,this);
  pdfFile=this.getDescription();
  log.info(pdfFile.getName() + "String_Node_Str" + pdfFile.getVersion()+ "String_Node_Str");
  myFolder=getDataFolder();
  if (!myFolder.exists()) {
    consoleInfo("String_Node_Str");
    myFolder.mkdir();
    consoleInfo("String_Node_Str");
  }
  checkJobId=this.getServer().getScheduler().scheduleSyncDelayedTask(thisPlugin,new Runnable(){
    public void run(){
      if (iConomy == null) {
        consoleWarning("String_Node_Str");
        getServer().getPluginManager().disablePlugin(thisPlugin);
        checkJobId=0;
      }
    }
  }
,20 * 60);
  createDefaultConfiguration();
  loadConfiguration();
  loadFontWidth();
  if (iConomy == null) {
    Plugin test=getServer().getPluginManager().getPlugin("String_Node_Str");
    if (test != null) {
      if (test.isEnabled()) {
        iConomy=(iConomy)test;
        foundiConomy();
      }
    }
  }
  if (Permissions == null && UsePermissions) {
    Plugin test=getServer().getPluginManager().getPlugin("String_Node_Str");
    if (test != null) {
      if (test.isEnabled()) {
        Permissions=((Permissions)test).getHandler();
        consoleInfo("String_Node_Str");
      }
    }
  }
  if (GroupManager == null && UseGroupManager) {
    Plugin test=getServer().getPluginManager().getPlugin("String_Node_Str");
    if (test != null) {
      if (test.isEnabled()) {
        GroupManager=(GroupManager)test;
        consoleInfo("String_Node_Str");
      }
    }
  }
}

Fixed version (ground truth):
public void onEnable(){
  getDataFolder().mkdir();
  getCommand("String_Node_Str").setExecutor(cmdExecutor);
  getCommand("String_Node_Str").setUsage("String_Node_Str");
  PlayerListener rightClickListener=new PlayerListener(){
    @Override public void onPlayerInteract(    PlayerInteractEvent event){
      if (event.getAction() == Action.RIGHT_CLICK_BLOCK) {
        UserSaves mySave=getSaved(event.getPlayer().getName());
        if (event.getPlayer().getItemInHand().getTypeId() == AreaWandId && mySave.isSelecting()) {
          Location pos=event.getClickedBlock().getLocation();
          if (mySave.setPosition(pos) == 2) {
            event.getPlayer().sendMessage("String_Node_Str");
          }
 else {
            event.getPlayer().sendMessage("String_Node_Str");
          }
        }
      }
    }
  }
;
  EntityListener entityListener=new EntityListener(){
    public void onEntityDamageByEntity(    EntityDamageByEntityEvent event){
      Entity attacker=event.getDamager();
      Entity defender=event.getEntity();
      if (defender instanceof Player) {
        Player player=(Player)defender;
        if (player.getHealth() - event.getDamage() <= 0) {
          if (attacker != null && attacker instanceof Player) {
            double bounty=getSaved(((Player)attacker).getName()).getBounty();
            if (bounty > 0.00) {
              Account attackerAccount=com.nijiko.coelho.iConomy.iConomy.getBank().getAccount(((Player)attacker).getName());
              attackerAccount.add(bounty);
              getSaved(((Player)attacker).getName()).setBounty(0.00);
            }
          }
        }
      }
    }
    public void onEntityDamageByProjectile(    EntityDamageByProjectileEvent event){
      Entity defender=event.getEntity();
      Entity attacker=event.getDamager();
      if (defender instanceof Player) {
        Player player=(Player)defender;
        if (player.getHealth() - event.getDamage() <= 0) {
          if (attacker != null && attacker instanceof Player) {
            double bounty=getSaved(((Player)attacker).getName()).getBounty();
            if (bounty > 0.00) {
              Account attackerAccount=com.nijiko.coelho.iConomy.iConomy.getBank().getAccount(((Player)attacker).getName());
              attackerAccount.add(bounty);
              getSaved(((Player)attacker).getName()).setBounty(0.00);
            }
          }
        }
      }
    }
    @Override public void onEntityDamage(    EntityDamageEvent event){
      if (event instanceof EntityDamageByProjectileEvent) {
        this.onEntityDamageByProjectile((EntityDamageByProjectileEvent)event);
        return;
      }
 else       if (event instanceof EntityDamageByEntityEvent) {
        this.onEntityDamageByEntity((EntityDamageByEntityEvent)event);
        return;
      }
    }
  }
;
  ServerListener pluginListener=new ServerListener(){
    Plugin checkPlugin(    String pluginname){
      return getServer().getPluginManager().getPlugin(pluginname);
    }
    @Override public void onPluginEnable(    PluginEnableEvent event){
      String plugin=event.getPlugin().getDescription().getName();
      if (iConomy == null && plugin.equalsIgnoreCase("String_Node_Str")) {
        Plugin test=checkPlugin("String_Node_Str");
        if (test != null) {
          iConomy=(iConomy)test;
          foundiConomy();
        }
      }
      if (Permissions == null && plugin.equalsIgnoreCase("String_Node_Str") && UsePermissions) {
        Plugin test=checkPlugin("String_Node_Str");
        if (test != null) {
          ((Permissions)test).getDatabase();
          Permissions=((Permissions)test).getHandler();
          consoleInfo("String_Node_Str" + plugin + "String_Node_Str");
        }
      }
      if (GroupManager == null && plugin.equalsIgnoreCase("String_Node_Str") && UseGroupManager) {
        Plugin test=checkPlugin("String_Node_Str");
        if (test != null) {
          GroupManager=(GroupManager)test;
          consoleInfo("String_Node_Str" + plugin + "String_Node_Str");
          if (checkJobId > 0) {
            getServer().getScheduler().cancelTask(checkJobId);
          }
        }
      }
    }
    @Override public void onPluginDisable(    PluginDisableEvent event){
      String plugin=event.getPlugin().getDescription().getName();
      if (iConomy != null && plugin.equalsIgnoreCase("String_Node_Str")) {
        iConomy=null;
        if (LoanSystem.LoanActive && LoanSystem.running) {
          LoanSystem.shutdownRunner();
        }
        consoleWarning("String_Node_Str" + plugin + "String_Node_Str");
        consoleWarning("String_Node_Str");
        getServer().getPluginManager().disablePlugin(thisPlugin);
      }
      if (Permissions != null && plugin.equalsIgnoreCase("String_Node_Str")) {
        Permissions=null;
        consoleWarning("String_Node_Str" + plugin + "String_Node_Str");
      }
      if (GroupManager != null && plugin.equalsIgnoreCase("String_Node_Str")) {
        GroupManager=null;
        consoleWarning("String_Node_Str" + plugin + "String_Node_Str");
      }
    }
  }
;
  PluginManager pm=getServer().getPluginManager();
  pm.registerEvent(Type.PLAYER_INTERACT,rightClickListener,Priority.Normal,this);
  pm.registerEvent(Type.ENTITY_DAMAGE,entityListener,Priority.Normal,this);
  pm.registerEvent(Type.PLUGIN_ENABLE,pluginListener,Priority.Low,this);
  pm.registerEvent(Type.PLUGIN_DISABLE,pluginListener,Priority.Low,this);
  pdfFile=this.getDescription();
  log.info(pdfFile.getName() + "String_Node_Str" + pdfFile.getVersion()+ "String_Node_Str");
  myFolder=getDataFolder();
  if (!myFolder.exists()) {
    consoleInfo("String_Node_Str");
    myFolder.mkdir();
    consoleInfo("String_Node_Str");
  }
  checkJobId=this.getServer().getScheduler().scheduleSyncDelayedTask(thisPlugin,new Runnable(){
    public void run(){
      if (iConomy == null) {
        consoleWarning("String_Node_Str");
        getServer().getPluginManager().disablePlugin(thisPlugin);
        checkJobId=0;
      }
    }
  }
,20 * 20);
  createDefaultConfiguration();
  loadConfiguration();
  loadFontWidth();
  if (iConomy == null) {
    Plugin test=getServer().getPluginManager().getPlugin("String_Node_Str");
    if (test != null) {
      if (test.isEnabled()) {
        iConomy=(iConomy)test;
        foundiConomy();
      }
    }
  }
  if (Permissions == null && UsePermissions) {
    Plugin test=getServer().getPluginManager().getPlugin("String_Node_Str");
    if (test != null) {
      if (test.isEnabled()) {
        Permissions=((Permissions)test).getHandler();
        consoleInfo("String_Node_Str");
      }
    }
  }
  if (GroupManager == null && UseGroupManager) {
    Plugin test=getServer().getPluginManager().getPlugin("String_Node_Str");
    if (test != null) {
      if (test.isEnabled()) {
        GroupManager=(GroupManager)test;
        consoleInfo("String_Node_Str");
      }
    }
  }
}