Program: 2072
Project: 2072
Buggy source:
private void changeBalance(Player player,HumanNPC npc,String[] args) throws NumberFormatException {
  int amount=Integer.valueOf(args[2]);
  if (args[1].equals("String_Node_Str")) {
    if (EconomyHandler.canBuy(new Payment(amount,true),player)) {
      EconomyHandler.pay(new Payment(-amount,true),npc);
      EconomyHandler.pay(new Payment(amount,true),player);
      player.sendMessage(ChatColor.GREEN + "String_Node_Str" + StringUtils.yellowify(IconomyInterface.getCurrency(amount),ChatColor.GREEN)+ "String_Node_Str"+ StringUtils.yellowify(npc.getStrippedName(),ChatColor.GREEN)+ "String_Node_Str"+ StringUtils.yellowify(IconomyInterface.getBalance(player.getName()),ChatColor.GREEN)+ "String_Node_Str");
    }
 else {
      player.sendMessage(ChatColor.RED + "String_Node_Str" + "String_Node_Str"+ StringUtils.yellowify(IconomyInterface.getCurrency(amount - IconomyInterface.getBalance(player.getName())),ChatColor.RED)+ "String_Node_Str");
    }
  }
 else   if (args[1].equals("String_Node_Str")) {
    if (EconomyHandler.canBuy(new Payment(amount,true),npc)) {
      EconomyHandler.pay(new Payment(amount,true),npc);
      EconomyHandler.pay(new Payment(-amount,true),player);
      player.sendMessage(ChatColor.GREEN + "String_Node_Str" + StringUtils.yellowify(IconomyInterface.getCurrency(amount),ChatColor.GREEN)+ "String_Node_Str"+ StringUtils.yellowify(npc.getStrippedName(),ChatColor.GREEN)+ "String_Node_Str"+ StringUtils.yellowify(IconomyInterface.getBalance(player.getName()),ChatColor.GREEN)+ "String_Node_Str");
    }
 else {
      player.sendMessage(ChatColor.RED + "String_Node_Str" + StringUtils.yellowify(IconomyInterface.getCurrency(amount - npc.getTraderNPC().getBalance()),ChatColor.RED)+ "String_Node_Str");
    }
  }
 else   player.sendMessage(ChatColor.RED + "String_Node_Str" + StringUtils.yellowify(args[1],ChatColor.RED)+ "String_Node_Str");
}

Fixed version (ground truth):
private void changeBalance(Player player,HumanNPC npc,String[] args) throws NumberFormatException {
  int amount=Integer.valueOf(args[2]);
  if (args[1].equals("String_Node_Str")) {
    if (EconomyHandler.canBuy(new Payment(amount,true),player)) {
      EconomyHandler.pay(new Payment(-amount,true),npc);
      EconomyHandler.pay(new Payment(amount,true),player);
      player.sendMessage(ChatColor.GREEN + "String_Node_Str" + StringUtils.yellowify(IconomyInterface.getCurrency(amount))+ "String_Node_Str"+ StringUtils.yellowify(npc.getStrippedName())+ "String_Node_Str"+ StringUtils.yellowify(IconomyInterface.getBalance(player.getName()),ChatColor.GREEN)+ "String_Node_Str");
    }
 else {
      player.sendMessage(ChatColor.RED + "String_Node_Str" + "String_Node_Str"+ StringUtils.yellowify(IconomyInterface.getCurrency(amount - IconomyInterface.getBalance(player.getName())),ChatColor.RED)+ "String_Node_Str");
    }
  }
 else   if (args[1].equals("String_Node_Str")) {
    if (EconomyHandler.canBuy(new Payment(amount,true),npc)) {
      EconomyHandler.pay(new Payment(amount,true),npc);
      EconomyHandler.pay(new Payment(-amount,true),player);
      player.sendMessage(ChatColor.GREEN + "String_Node_Str" + StringUtils.yellowify(IconomyInterface.getCurrency(amount))+ "String_Node_Str"+ StringUtils.yellowify(npc.getStrippedName())+ "String_Node_Str"+ StringUtils.yellowify(IconomyInterface.getBalance(player.getName()))+ "String_Node_Str");
    }
 else {
      player.sendMessage(ChatColor.RED + "String_Node_Str" + StringUtils.yellowify(IconomyInterface.getCurrency(amount - npc.getTraderNPC().getBalance()),ChatColor.RED)+ "String_Node_Str");
    }
  }
 else   player.sendMessage(ChatColor.RED + "String_Node_Str" + StringUtils.yellowify(args[1],ChatColor.RED)+ "String_Node_Str");
}