if ((message.getType() == MessageType.USER_NAME)
                        && (name != null && !name.isEmpty())
                        && (!connectionMap.containsKey(name)))

В случае, если в ответ пришло пустое имя, запрос имени должен быть выполнен снова.
if ((message.getType() == MessageType.USER_NAME)
                        && (!name.isEmpty())
                        && (!connectionMap.containsKey(name)))

В случае, если в ответ пришло пустое имя, запрос имени должен быть выполнен снова.
if ((message.getType() == MessageType.USER_NAME)
                        && (name != null)
                        && (!connectionMap.containsKey(name)))

В случае, если в ответ пришло пустое имя, запрос имени должен быть выполнен снова.