docs: private CompletableFuture<PrimaryTerm> term() {
      CompletableFuture<PrimaryTerm> future = new CompletableFuture<>();
      threadContext.execute(() -> {
        if (term != null) {
          future.complete(term);
        } else {
          primaryElection.getTerm().whenCompleteAsync((term, error) -> {
            if (term != null) {
              this.term = term;
              future.complete(term);
            } else {
              future.completeExceptionally(new PrimitiveException.Unavailable());
            }
          });
        }
      });
      return future;
    }