code: @BetaApi(
        "The surface for long-running operations is not stable yet and may change in the future.")
    public final OperationFuture<Document, KnowledgeOperationMetadata> createDocumentAsync(
        CreateDocumentRequest request) {
      return createDocumentOperationCallable().futureCall(request);
    }
docs: Creates a new document.
  
  <p>Operation &lt;response: [Document][google.cloud.dialogflow.v2beta1.Document], metadata:
  [KnowledgeOperationMetadata][google.cloud.dialogflow.v2beta1.KnowledgeOperationMetadata]&gt;
  
  <p>Sample code:
  
  <pre><code>
  try (DocumentsClient documentsClient = DocumentsClient.create()) {
  KnowledgeBaseName parent = KnowledgeBaseName.of("[PROJECT]", "[KNOWLEDGE_BASE]");
  Document document = Document.newBuilder().build();
  CreateDocumentRequest request = CreateDocumentRequest.newBuilder()
  .setParent(parent.toString())
  .setDocument(document)
  .build();
  Document response = documentsClient.createDocumentAsync(request).get();
  }
  </code></pre>
  
  @param request The request object containing all of the parameters for the API call.
  @throws com.google.api.gax.rpc.ApiException if the remote call fails