@java.lang.Override
  public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
    for (int i = 0; i < faceAnnotations_.size(); i++) {
      output.writeMessage(1, faceAnnotations_.get(i));
    }
    for (int i = 0; i < landmarkAnnotations_.size(); i++) {
      output.writeMessage(2, landmarkAnnotations_.get(i));
    }
    for (int i = 0; i < logoAnnotations_.size(); i++) {
      output.writeMessage(3, logoAnnotations_.get(i));
    }
    for (int i = 0; i < labelAnnotations_.size(); i++) {
      output.writeMessage(4, labelAnnotations_.get(i));
    }
    for (int i = 0; i < textAnnotations_.size(); i++) {
      output.writeMessage(5, textAnnotations_.get(i));
    }
    if (((bitField0_ & 0x00000002) != 0)) {
      output.writeMessage(6, getSafeSearchAnnotation());
    }
    if (((bitField0_ & 0x00000004) != 0)) {
      output.writeMessage(8, getImagePropertiesAnnotation());
    }
    if (((bitField0_ & 0x00000040) != 0)) {
      output.writeMessage(9, getError());
    }
    if (((bitField0_ & 0x00000008) != 0)) {
      output.writeMessage(11, getCropHintsAnnotation());
    }
    if (((bitField0_ & 0x00000001) != 0)) {
      output.writeMessage(12, getFullTextAnnotation());
    }
    if (((bitField0_ & 0x00000010) != 0)) {
      output.writeMessage(13, getWebDetection());
    }
    if (((bitField0_ & 0x00000020) != 0)) {
      output.writeMessage(14, getProductSearchResults());
    }
    if (((bitField0_ & 0x00000080) != 0)) {
      output.writeMessage(21, getContext());
    }
    for (int i = 0; i < localizedObjectAnnotations_.size(); i++) {
      output.writeMessage(22, localizedObjectAnnotations_.get(i));
    }
    getUnknownFields().writeTo(output);
  }
<pre>
If present, contextual information is needed to understand where this image
comes from.
</pre>

<code>.google.cloud.vision.v1p3beta1.ImageAnnotationContext context = 21;</code>
java-vision/proto-google-cloud-vision-v1p3beta1/src/main/java/com/google/cloud/vision/v1p3beta1/AnnotateImageResponse.java