if (!canRunRestrictedCommand(connId)) { server.sendServerChat(connId, "Observers are restricted from kicking others."); return; }
    public void run(int connId, String[] args) {        int kickArg = server.isPassworded() ? 2 : 1;                if (server.isPassworded() && (args.length < 3 || !server.isPassword(args[1]))) {            server.sendServerChat(connId, "The password is incorrect.  Usage: /kick <password> [id#]");        }        else             try {                int kickedId = Integer.parseInt(args[kickArg]);                                if (kickedId == connId) {                    server.sendServerChat("Don't be silly.");                    return;                }                                server.sendServerChat(server.getPlayer(connId).getName() + " attempts to kick player #" + kickedId + " (" + server.getPlayer(kickedId).getName() + ")...");                server.getConnection(kickedId).close();                            } catch (ArrayIndexOutOfBoundsException ex) {                server.sendServerChat("/kick : kick failed.  Type /who for a list of players with id #s.");            } catch (NumberFormatException ex) {                server.sendServerChat("/kick : kick failed.  Type /who for a list of players with id #s.");            } catch (NullPointerException ex) {                server.sendServerChat("/kick : kick failed.  Type /who for a list of players with id #s.");            }    }