Buggy code:
public class UndineCommand implements TabExecutor { private static final String COMMAND = UndineMailer . COMMAND ; private static final String PERMISSION = "undine" ; private static final String [ ] COMMANDS = new String [ ] { "inbox" , "outbox" , "read" , "text" , "write" , "to" , "message" , "attach" , "costmoney" , "costitem" , "send" , "cancel" , "reload" } ; private UndineMailer parent ; private MailManager manager ; private UndineConfig config ; public UndineCommand ( UndineMailer parent ) { } @ Override public boolean onCommand ( CommandSender sender , Command command , String label , String [ ] args ) { } @ Override public List < String > onTabComplete ( CommandSender sender , Command command , String alias , String [ ] args ) { } private boolean doInboxCommand ( CommandSender sender , Command command , String label , String [ ] args ) { } private boolean doOutboxCommand ( CommandSender sender , Command command , String label , String [ ] args ) { } private boolean doReadCommand ( CommandSender sender , Command command , String label , String [ ] args ) { } private boolean doTextCommand ( CommandSender sender , Command command , String label , String [ ] args ) { } private boolean doWriteCommand ( CommandSender sender , Command command , String label , String [ ] args ) { } private boolean doToCommand ( CommandSender sender , Command command , String label , String [ ] args ) { } private boolean doMessageCommand ( CommandSender sender , Command command , String label , String [ ] args ) { } private boolean doAttachCommand ( CommandSender sender , Command command , String label , String [ ] args ) { } private boolean doCostmoneyCommand ( CommandSender sender , Command command2 , String label , String [ ] args ) { } private boolean doCostitemCommand ( CommandSender sender , Command command2 , String label , String [ ] args ) { } private boolean doSendCommand ( CommandSender sender , Command command , String label , String [ ] args ) { } private boolean doCancelCommand ( CommandSender sender , Command command , String label , String [ ] args ) { } private boolean doReloadCommand ( CommandSender sender , Command command , String label , String [ ] args ) { } private ItemStack getItemStackFromDescription ( String desc ) { String [ ] descs = desc . split ( ":" ) ; if ( ( descs . length ) <= 0 ) return null ; Material material = Material . getMaterial ( descs [ 0 ] ) ; <START_BUG> if ( ( material == null ) && ( descs [ 0 ] . matches ( "[0-9]{1-5}" ) ) ) { <END_BUG> @ SuppressWarnings ( "deprecation" ) Material m = Material . getMaterial ( Integer . parseInt ( descs [ 0 ] ) ) ; material = m ; } if ( material == null ) return null ; ItemStack item = new ItemStack ( material ) ; if ( ( ( descs . length ) >= 2 ) && ( descs [ 1 ] . matches ( "[0-9]{1,5}" ) ) ) { short durability = Short . parseShort ( descs [ 1 ] ) ; item . setDurability ( durability ) ; } return item ; } private boolean hasItem ( Player player , ItemStack item ) { } @ SuppressWarnings ( "deprecation" ) private boolean consumeItem ( Player player , ItemStack item ) { } private ArrayList < OfflinePlayer > getAllValidPlayers ( ) { } private void showOKCancelButton ( MailSender ms , String okCommand , String cancelCommand ) { } }

Fix:
if ( ( material == null ) && ( descs [ 0 ] . matches ( "[0-9]{1,5}" ) ) ) {