public final OperationFuture<BatchRecognizeResponse, OperationMetadata> batchRecognizeAsync(
      RecognizerName recognizer,
      RecognitionConfig config,
      FieldMask configMask,
      List<BatchRecognizeFileMetadata> files) {
    BatchRecognizeRequest request =
        BatchRecognizeRequest.newBuilder()
            .setRecognizer(recognizer == null ? null : recognizer.toString())
            .setConfig(config)
            .setConfigMask(configMask)
            .addAllFiles(files)
            .build();
    return batchRecognizeAsync(request);
  }
Performs batch asynchronous speech recognition: send a request with N audio files and receive a
long running operation that can be polled to see when the transcriptions are finished.

<p>Sample code:

<pre>{@code
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (SpeechClient speechClient = SpeechClient.create()) {
  RecognizerName recognizer = RecognizerName.of("[PROJECT]", "[LOCATION]", "[RECOGNIZER]");
  RecognitionConfig config = RecognitionConfig.newBuilder().build();
  FieldMask configMask = FieldMask.newBuilder().build();
  List<BatchRecognizeFileMetadata> files = new ArrayList<>();
  BatchRecognizeResponse response =
      speechClient.batchRecognizeAsync(recognizer, config, configMask, files).get();
}
}</pre>

@param recognizer Required. The name of the Recognizer to use during recognition. The expected
    format is `projects/{project}/locations/{location}/recognizers/{recognizer}`. The
    {recognizer} segment may be set to `_` to use an empty implicit Recognizer.
@param config Features and audio metadata to use for the Automatic Speech Recognition. This
    field in combination with the
    [config_mask][google.cloud.speech.v2.BatchRecognizeRequest.config_mask] field can be used
    to override parts of the
    [default_recognition_config][google.cloud.speech.v2.Recognizer.default_recognition_config]
    of the Recognizer resource.
@param configMask The list of fields in
    [config][google.cloud.speech.v2.BatchRecognizeRequest.config] that override the values in
    the
    [default_recognition_config][google.cloud.speech.v2.Recognizer.default_recognition_config]
    of the recognizer during this recognition request. If no mask is provided, all given fields
    in [config][google.cloud.speech.v2.BatchRecognizeRequest.config] override the values in the
    recognizer for this recognition request. If a mask is provided, only the fields listed in
    the mask override the config in the recognizer for this recognition request. If a wildcard
    (`&#42;`) is provided, [config][google.cloud.speech.v2.BatchRecognizeRequest.config]
    completely overrides and replaces the config in the recognizer for this recognition
    request.
@param files Audio files with file metadata for ASR. The maximum number of files allowed to be
    specified is 15.
@throws com.google.api.gax.rpc.ApiException if the remote call fails
java-speech/google-cloud-speech/src/main/java/com/google/cloud/speech/v2/SpeechClient.java