private boolean executeCommand(String cmd, CommandSender sender, Iterator<String> args) {
            try {
                return (Boolean)commands.get(cmd).getClass().getMethod(cmd, CommandSender.class,
                        Iterator.class).invoke(commands.get(cmd), sender, args);
            } catch(SecurityException ex) {
                plug.getLogger().log(Level.SEVERE, null, ex);
            } catch(IllegalAccessException ex) {
                plug.getLogger().log(Level.SEVERE, null, ex);
            } catch(IllegalArgumentException ex) {
                plug.getLogger().log(Level.SEVERE, null, ex);
            } catch(InvocationTargetException ex) {
                plug.getLogger().log(Level.SEVERE, null, ex);
            } catch(NullPointerException ex) {
                plug.getLogger().log(Level.SEVERE, null, ex);
            } catch(ClassCastException ex) {
                plug.getLogger().log(Level.SEVERE, null, ex);
            } catch(NoSuchMethodException ex) {
                plug.getLogger().log(Level.SEVERE, null, ex);
            }
            return false;
        }