Program: 33862
Project: 33862
Buggy source:
@EventHandler(priority=EventPriority.LOWEST,ignoreCancelled=true) void placeArmorStandEvent(PlayerInteractEvent e){
  Player p=e.getPlayer();
  if (DEBUG) {
    plugin.getLogger().info("String_Node_Str" + "String_Node_Str" + e.getEventName());
  }
  if (!IslandGuard.inWorld(p)) {
    return;
  }
  if (p.isOp() || VaultHelper.checkPerm(p,Settings.PERMPREFIX + "String_Node_Str")) {
    return;
  }
  ItemStack inHand=e.getPlayer().getItemInHand();
  if (inHand != null && inHand.getType().equals(Material.ARMOR_STAND)) {
    Island island=plugin.getGrid().getIslandAt(e.getPlayer().getLocation());
    if (island == null && Settings.defaultWorldSettings.get(SettingsFlag.PLACE_BLOCKS)) {
      return;
    }
    if (island != null && (island.getMembers().contains(p.getUniqueId()) || island.getIgsFlag(SettingsFlag.PLACE_BLOCKS))) {
      if (Settings.limitedBlocks.containsKey("String_Node_Str") && Settings.limitedBlocks.get("String_Node_Str") > -1) {
        int count=island.getTileEntityCount(Material.ARMOR_STAND,e.getPlayer().getWorld());
        if (Settings.limitedBlocks.get("String_Node_Str") <= count) {
          Util.sendMessage(e.getPlayer(),ChatColor.RED + (plugin.myLocale(e.getPlayer().getUniqueId()).entityLimitReached.replace("String_Node_Str",Util.prettifyText(Material.ARMOR_STAND.toString()))).replace("String_Node_Str",String.valueOf(Settings.limitedBlocks.get("String_Node_Str"))));
          e.setCancelled(true);
          return;
        }
      }
      return;
    }
    e.setCancelled(true);
    Util.sendMessage(e.getPlayer(),ChatColor.RED + plugin.myLocale(e.getPlayer().getUniqueId()).islandProtected);
    e.getPlayer().updateInventory();
  }
}

Fixed version (ground truth):
@EventHandler(priority=EventPriority.LOWEST,ignoreCancelled=true) void placeArmorStandEvent(PlayerInteractEvent e){
  Player p=e.getPlayer();
  if (DEBUG) {
    plugin.getLogger().info("String_Node_Str" + "String_Node_Str" + e.getEventName());
  }
  if (!IslandGuard.inWorld(p)) {
    return;
  }
  if (p.isOp() || VaultHelper.checkPerm(p,Settings.PERMPREFIX + "String_Node_Str")) {
    return;
  }
  for (  ItemStack inHand : Util.getPlayerInHandItems(e.getPlayer())) {
    if (inHand.getType().equals(Material.ARMOR_STAND)) {
      Island island=plugin.getGrid().getIslandAt(e.getPlayer().getLocation());
      if (island == null && Settings.defaultWorldSettings.get(SettingsFlag.PLACE_BLOCKS)) {
        return;
      }
      if (island != null && (island.getMembers().contains(p.getUniqueId()) || island.getIgsFlag(SettingsFlag.PLACE_BLOCKS))) {
        if (Settings.limitedBlocks.containsKey("String_Node_Str") && Settings.limitedBlocks.get("String_Node_Str") > -1) {
          int count=island.getTileEntityCount(Material.ARMOR_STAND,e.getPlayer().getWorld());
          if (Settings.limitedBlocks.get("String_Node_Str") <= count) {
            Util.sendMessage(e.getPlayer(),ChatColor.RED + (plugin.myLocale(e.getPlayer().getUniqueId()).entityLimitReached.replace("String_Node_Str",Util.prettifyText(Material.ARMOR_STAND.toString()))).replace("String_Node_Str",String.valueOf(Settings.limitedBlocks.get("String_Node_Str"))));
            e.setCancelled(true);
            return;
          }
        }
        return;
      }
      e.setCancelled(true);
      Util.sendMessage(e.getPlayer(),ChatColor.RED + plugin.myLocale(e.getPlayer().getUniqueId()).islandProtected);
      e.getPlayer().updateInventory();
    }
  }
}