Program: 18987
Project: 18987
Buggy source:
@Override public boolean execute(Plugin plugin,CommandSender sender,String[] args) throws SMSException {
  String menuName=args[0];
  ScrollingMenuSign smsPlugin=(ScrollingMenuSign)plugin;
  SMSHandler handler=smsPlugin.getHandler();
  if (handler.checkMenu(menuName)) {
    throw new SMSException("String_Node_Str" + menuName + "String_Node_Str");
  }
  Location signLoc=null;
  short mapId=-1;
  String owner=null;
  boolean autoCreateView=ScrollingMenuSign.getInstance().getConfig().getBoolean("String_Node_Str");
  if (autoCreateView && sender instanceof Player) {
    Player player=(Player)sender;
    owner=sender.getName();
    Block b=null;
    try {
      b=player.getTargetBlock(null,ScrollingMenuSign.BLOCK_TARGET_DIST);
    }
 catch (    IllegalStateException e) {
    }
    if (b != null && (b.getType() == Material.SIGN_POST || b.getType() == Material.WALL_SIGN)) {
      if (handler.getMenuNameAt(b.getLocation()) == null) {
        PermissionUtils.requirePerms(sender,"String_Node_Str");
        signLoc=b.getLocation();
      }
    }
 else     if (player.getItemInHand().getType() == Material.MAP) {
      short id=player.getItemInHand().getDurability();
      if (!SMSMapView.checkForMapId(id)) {
        PermissionUtils.requirePerms(sender,"String_Node_Str");
        mapId=id;
      }
    }
  }
  String menuTitle=MiscUtil.parseColourSpec(sender,combine(args,1));
  SMSMenu menu=handler.createMenu(menuName,menuTitle,owner);
  if (signLoc != null) {
    SMSSignView.addSignToMenu(menu,signLoc);
    MiscUtil.statusMessage(sender,"String_Node_Str" + menuName + "String_Node_Str"+ MiscUtil.formatLocation(signLoc));
  }
 else   if (mapId >= 0) {
    SMSMapView mapView=SMSMapView.addMapToMenu(menu,mapId);
    MiscUtil.statusMessage(sender,"String_Node_Str" + menuName + "String_Node_Str"+ mapId);
    Player player=(Player)sender;
    mapView.setMapItemName(player.getItemInHand());
  }
 else {
    MiscUtil.statusMessage(sender,"String_Node_Str" + menuName + "String_Node_Str");
  }
  return true;
}

Fixed version (ground truth):
@Override public boolean execute(Plugin plugin,CommandSender sender,String[] args) throws SMSException {
  String menuName=args[0];
  ScrollingMenuSign smsPlugin=(ScrollingMenuSign)plugin;
  SMSHandler handler=smsPlugin.getHandler();
  if (handler.checkMenu(menuName)) {
    throw new SMSException("String_Node_Str" + menuName + "String_Node_Str");
  }
  Location signLoc=null;
  short mapId=-1;
  String owner=null;
  boolean autoCreateView=ScrollingMenuSign.getInstance().getConfig().getBoolean("String_Node_Str");
  if (autoCreateView && sender instanceof Player) {
    Player player=(Player)sender;
    owner=sender.getName();
    Block b=null;
    try {
      b=player.getTargetBlock(null,ScrollingMenuSign.BLOCK_TARGET_DIST);
    }
 catch (    IllegalStateException e) {
    }
    if (b != null && (b.getType() == Material.SIGN_POST || b.getType() == Material.WALL_SIGN)) {
      if (handler.getMenuNameAt(b.getLocation()) == null) {
        PermissionUtils.requirePerms(sender,"String_Node_Str");
        signLoc=b.getLocation();
      }
    }
 else     if (player.getItemInHand().getType() == Material.MAP) {
      short id=player.getItemInHand().getDurability();
      if (!SMSMapView.checkForMapId(id) && !SMSMapView.usedByOtherPlugin(id)) {
        PermissionUtils.requirePerms(sender,"String_Node_Str");
        mapId=id;
      }
    }
  }
  String menuTitle=MiscUtil.parseColourSpec(sender,combine(args,1));
  SMSMenu menu=handler.createMenu(menuName,menuTitle,owner);
  if (signLoc != null) {
    SMSSignView.addSignToMenu(menu,signLoc,sender);
    MiscUtil.statusMessage(sender,"String_Node_Str" + menuName + "String_Node_Str"+ MiscUtil.formatLocation(signLoc));
  }
 else   if (mapId >= 0) {
    SMSMapView mapView=SMSMapView.addMapToMenu(menu,mapId,sender);
    MiscUtil.statusMessage(sender,"String_Node_Str" + menuName + "String_Node_Str"+ mapId);
    Player player=(Player)sender;
    mapView.setMapItemName(player.getItemInHand());
  }
 else {
    MiscUtil.statusMessage(sender,"String_Node_Str" + menuName + "String_Node_Str");
  }
  return true;
}