code: @BetaApi(
        "The surface for long-running operations is not stable yet and may change in the future.")
    public final OperationFuture<BatchTranslateResponse, BatchTranslateMetadata>
        batchTranslateTextAsync(BatchTranslateTextRequest request) {
      return batchTranslateTextOperationCallable().futureCall(request);
    }
docs: Translates a large volume of text in asynchronous batch mode. This function provides real-time
  output as the inputs are being processed. If caller cancels a request, the partial results (for
  an input file, it's all or nothing) may still be available on the specified output location.
  
  <p>This call returns immediately and you can use google.longrunning.Operation.name to poll the
  status of the call.
  
  <p>Sample code:
  
  <pre><code>
  try (TranslationServiceClient translationServiceClient = TranslationServiceClient.create()) {
  String sourceLanguageCode = "";
  List&lt;String&gt; targetLanguageCodes = new ArrayList&lt;&gt;();
  List&lt;InputConfig&gt; inputConfigs = new ArrayList&lt;&gt;();
  OutputConfig outputConfig = OutputConfig.newBuilder().build();
  BatchTranslateTextRequest request = BatchTranslateTextRequest.newBuilder()
  .setSourceLanguageCode(sourceLanguageCode)
  .addAllTargetLanguageCodes(targetLanguageCodes)
  .addAllInputConfigs(inputConfigs)
  .setOutputConfig(outputConfig)
  .build();
  BatchTranslateResponse response = translationServiceClient.batchTranslateTextAsync(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