Program: 46723
Project: 46723
Buggy source:
@Command(aliases={"String_Node_Str","String_Node_Str"},desc="String_Node_Str",flags="String_Node_Str",max=0) @CommandPermissions({"String_Node_Str"}) public static void claimChunk(final CommandContext args,final MyResidence plugin,final Nation nation,final Player player,final Session session) throws MyResidenceException {
  final Town selectedTown=session.getSelectedTown();
  final Chunk playerChunk=player.getLocation().getBlock().getChunk();
  final Vector2D chunkVector=new Vector2D(playerChunk.getX(),playerChunk.getZ());
  final World chunkWorld=playerChunk.getWorld();
  if (!session.hasMajorRights(selectedTown)) {
    throw new PermissionsDeniedException("String_Node_Str");
  }
  if (args.hasFlag('i') && !session.hasPermission("String_Node_Str")) {
    throw new PermissionsDeniedException("String_Node_Str");
  }
  Town chunkOwner=nation.getChunkManager().getChunkOwner(chunkWorld,chunkVector);
  if (chunkOwner != null) {
    if (chunkOwner.equals(selectedTown)) {
      throw new MyResidenceException("String_Node_Str");
    }
 else     if (!args.hasFlag('i')) {
      throw new MyResidenceException("String_Node_Str");
    }
  }
  double chunkCost=plugin.getConfiguration(player.getWorld()).getChunkCost();
  double townMoney=selectedTown.getMoney();
  if (townMoney < chunkCost) {
    throw new NotEnoughMoneyException(chunkCost);
  }
 else {
    selectedTown.subtractMoney(chunkCost);
  }
  nation.getChunkManager().addChunk(selectedTown,chunkWorld,chunkVector);
  player.sendMessage(ChatColor.DARK_GREEN + "String_Node_Str" + ChatColor.GREEN+ plugin.format(chunkCost)+ ChatColor.DARK_GREEN+ "String_Node_Str");
}

Fixed version (ground truth):
@Command(aliases={"String_Node_Str","String_Node_Str"},desc="String_Node_Str",flags="String_Node_Str",max=0) @CommandPermissions({"String_Node_Str"}) public static void claimChunk(final CommandContext args,final MyResidence plugin,final Nation nation,final Player player,final Session session) throws MyResidenceException {
  final Town selectedTown=session.getSelectedTown();
  final Chunk playerChunk=player.getLocation().getBlock().getChunk();
  final Vector2D chunkVector=new Vector2D(playerChunk.getX(),playerChunk.getZ());
  final World chunkWorld=playerChunk.getWorld();
  if (!session.hasMajorRights(selectedTown)) {
    throw new PermissionsDeniedException("String_Node_Str");
  }
  if (args.hasFlag('i') && !nation.getPermissionsResolver().isAdmin(player)) {
    throw new PermissionsDeniedException("String_Node_Str");
  }
  Town chunkOwner=nation.getChunkManager().getChunkOwner(chunkWorld,chunkVector);
  if (chunkOwner != null) {
    if (chunkOwner.equals(selectedTown)) {
      throw new MyResidenceException("String_Node_Str");
    }
 else     if (!args.hasFlag('i')) {
      throw new MyResidenceException("String_Node_Str");
    }
  }
  double chunkCost=plugin.getConfiguration(player.getWorld()).getChunkCost();
  double townMoney=selectedTown.getMoney();
  if (townMoney < chunkCost) {
    throw new NotEnoughMoneyException(chunkCost);
  }
 else {
    selectedTown.subtractMoney(chunkCost);
  }
  nation.getChunkManager().addChunk(selectedTown,chunkWorld,chunkVector);
  player.sendMessage(ChatColor.DARK_GREEN + "String_Node_Str" + ChatColor.GREEN+ plugin.format(chunkCost)+ ChatColor.DARK_GREEN+ "String_Node_Str");
}