@Override
            public void run() {
                try {
                    // write the message to the sockets output stream
                    PrintWriter toUserOut;
                    toUserOut = new PrintWriter(serverModel.getSocketForUser(
                            username).getOutputStream());
                    toUserOut.println(message);
                    toUserOut.flush();
                } catch (Exception e) {
                    // The user is no longer online! Remove him!!
                    if (serverModel.isUserLoggedIn(username)) {
                        serverModel.logUserOff(username);
                        for (String toUser : serverModel.getUsers()) {
                            sendToUser(
                                    toUser,
                                    Protocol.CLIENT_USERS_LOGGED_IN_NOTIFICATION
                                            + " > " + serverModel.listOfUsers());
                        }
                    }

                    // stop checking this person's socket
                    checkerScheduler.cancel(false);
                }
            }