@java.lang.Override
    public Builder mergeFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10:
              {
                input.readMessage(getBoundingPolyFieldBuilder().getBuilder(), extensionRegistry);
                bitField0_ |= 0x00000001;
                break;
              } // case 10
            case 18:
              {
                input.readMessage(getFdBoundingPolyFieldBuilder().getBuilder(), extensionRegistry);
                bitField0_ |= 0x00000002;
                break;
              } // case 18
            case 26:
              {
                com.google.cloud.vision.v1.FaceAnnotation.Landmark m =
                    input.readMessage(
                        com.google.cloud.vision.v1.FaceAnnotation.Landmark.parser(),
                        extensionRegistry);
                if (landmarksBuilder_ == null) {
                  ensureLandmarksIsMutable();
                  landmarks_.add(m);
                } else {
                  landmarksBuilder_.addMessage(m);
                }
                break;
              } // case 26
            case 37:
              {
                rollAngle_ = input.readFloat();
                bitField0_ |= 0x00000008;
                break;
              } // case 37
            case 45:
              {
                panAngle_ = input.readFloat();
                bitField0_ |= 0x00000010;
                break;
              } // case 45
            case 53:
              {
                tiltAngle_ = input.readFloat();
                bitField0_ |= 0x00000020;
                break;
              } // case 53
            case 61:
              {
                detectionConfidence_ = input.readFloat();
                bitField0_ |= 0x00000040;
                break;
              } // case 61
            case 69:
              {
                landmarkingConfidence_ = input.readFloat();
                bitField0_ |= 0x00000080;
                break;
              } // case 69
            case 72:
              {
                joyLikelihood_ = input.readEnum();
                bitField0_ |= 0x00000100;
                break;
              } // case 72
            case 80:
              {
                sorrowLikelihood_ = input.readEnum();
                bitField0_ |= 0x00000200;
                break;
              } // case 80
            case 88:
              {
                angerLikelihood_ = input.readEnum();
                bitField0_ |= 0x00000400;
                break;
              } // case 88
            case 96:
              {
                surpriseLikelihood_ = input.readEnum();
                bitField0_ |= 0x00000800;
                break;
              } // case 96
            case 104:
              {
                underExposedLikelihood_ = input.readEnum();
                bitField0_ |= 0x00001000;
                break;
              } // case 104
            case 112:
              {
                blurredLikelihood_ = input.readEnum();
                bitField0_ |= 0x00002000;
                break;
              } // case 112
            case 120:
              {
                headwearLikelihood_ = input.readEnum();
                bitField0_ |= 0x00004000;
                break;
              } // case 120
            default:
              {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
          } // switch (tag)
        } // while (!done)
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.unwrapIOException();
      } finally {
        onChanged();
      } // finally
      return this;
    }
<pre>
A face annotation object contains the results of face detection.
</pre>

Protobuf type {@code google.cloud.vision.v1.FaceAnnotation}
java-vision/proto-google-cloud-vision-v1/src/main/java/com/google/cloud/vision/v1/FaceAnnotation.java