public boolean serveRequest(ServerMessage message) {
    if (message.getMessageType() != ServerMessageType.CONVERSATION) {
      return false;
    }
    ServerConversationMessage conversationMessage = (ServerConversationMessage) message;
    User targetUser = userManager.getUserByUsername(conversationMessage.getTargetUser());
    if (targetUser != null) {
      Connection targetConnection = targetUser.getConnection();
      try {
        ObjectOutputStream output = targetConnection.getOutputStream();
        ClientConversationMessage messageForClient = new ClientConversationMessage(conversationMessage);
        output.writeObject(messageForClient);
        output.flush();
      }
      catch (IOException e) {
        return false;
      }
      return true;
    }
    return false;
  }