@java.lang.Override
    @java.lang.SuppressWarnings("unchecked")
    public void invoke(Req request, io.grpc.stub.StreamObserver<Resp> responseObserver) {
      switch (methodId) {
        case METHODID_BATCH_ANNOTATE_IMAGES:
          serviceImpl.batchAnnotateImages(
              (com.google.cloud.vision.v1.BatchAnnotateImagesRequest) request,
              (io.grpc.stub.StreamObserver<com.google.cloud.vision.v1.BatchAnnotateImagesResponse>)
                  responseObserver);
          break;
        case METHODID_BATCH_ANNOTATE_FILES:
          serviceImpl.batchAnnotateFiles(
              (com.google.cloud.vision.v1.BatchAnnotateFilesRequest) request,
              (io.grpc.stub.StreamObserver<com.google.cloud.vision.v1.BatchAnnotateFilesResponse>)
                  responseObserver);
          break;
        case METHODID_ASYNC_BATCH_ANNOTATE_IMAGES:
          serviceImpl.asyncBatchAnnotateImages(
              (com.google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest) request,
              (io.grpc.stub.StreamObserver<com.google.longrunning.Operation>) responseObserver);
          break;
        case METHODID_ASYNC_BATCH_ANNOTATE_FILES:
          serviceImpl.asyncBatchAnnotateFiles(
              (com.google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest) request,
              (io.grpc.stub.StreamObserver<com.google.longrunning.Operation>) responseObserver);
          break;
        default:
          throw new AssertionError();
      }
    }
<pre>
Run asynchronous image detection and annotation for a list of generic
files, such as PDF files, which may contain multiple pages and multiple
images per page. Progress and results can be retrieved through the
`google.longrunning.Operations` interface.
`Operation.metadata` contains `OperationMetadata` (metadata).
`Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results).
</pre>
java-vision/grpc-google-cloud-vision-v1/src/main/java/com/google/cloud/vision/v1/ImageAnnotatorGrpc.java