@Override
    public void run() {
        try {
            while (true) {
                String message = this.inQueue.take();
                if (message.equals(User.KILL_MSG)) {
                    break;
                } else if (message.equals(User.DO_NOTHING)) {
                    continue;
                }
                handleRequest(message);
            }
        } catch (InterruptedException e) {
            e.printStackTrace();
        } finally {
            if (this.wb != null) {
                this.wb.removeClient(this); // remove user from users
            }
        }
    }