code: @Override
    protected String receiveMessage(Socket socket) {
      try {
        String message = super.receiveMessage(socket);
  
        getLogger().fine(() -> String.format("Received message [%1$s] from EchoClient [%2$s]",
          message, socket.getRemoteSocketAddress()));
  
        return message;
      }
      catch (IOException cause) {
        getLogger().warning(() -> String.format("Failed to receive message from EchoClient [%s]",
          socket.getRemoteSocketAddress()));
  
        getLogger().fine(() -> ThrowableUtils.getStackTrace(cause));
  
        return "What?";
      }
    }
docs: Receives a {@link String message} from a {@link EchoClient} over the given {@link Socket}.
  
  @param socket {@link Socket} used to receive the {@link EchoClient EchoClient's} {@link String message}.
  @return a {@link String} containing the message sent by the {@link EchoClient}.