code: public CompletableFuture<CloseSessionResponse> closeSession(CloseSessionRequest request) {
      CompletableFuture<CloseSessionResponse> future = new CompletableFuture<>();
      if (context.isCurrentContext()) {
        sendRequest(request, protocol::closeSession, future);
      } else {
        context.execute(() -> sendRequest(request, protocol::closeSession, future));
      }
      return future;
    }
docs: Sends a close session request to the given node.
  
  @param request the request to send
  @return a future to be completed with the response