code: private <T> void submitCommand(Command<T> command, CompletableFuture<T> future) {
      CommandRequest request = CommandRequest.builder()
        .withSession(state.getSessionId())
        .withSequence(state.nextCommandRequest())
        .withCommand(command)
        .build();
      submitCommand(request, future);
    }
docs: Submits a command to the cluster.