public synchronized boolean removePlayer(int slotID) {
        if (!_isOpen) {
            return false;
        }
        if ((slotID < 0) || (slotID >= _slots.size())) {
            return false;
        }
        if (!_slots.get(slotID).isOccupied()) {
            return false;
        }
        
        _slots.get(slotID).setOpen();

        ArrayList<ClientThread> clients = new ArrayList<>(_clients.values());
        for (ClientThread client : clients) {
            client.send("removePlayer");
            client.send(slotID);
        }           

        return true;
    }