@java.lang.Override
  public boolean equals(final java.lang.Object obj) {
    if (obj == this) {
      return true;
    }
    if (!(obj instanceof com.google.cloud.videointelligence.v1.TimestampedObject)) {
      return super.equals(obj);
    }
    com.google.cloud.videointelligence.v1.TimestampedObject other =
        (com.google.cloud.videointelligence.v1.TimestampedObject) obj;

    if (hasNormalizedBoundingBox() != other.hasNormalizedBoundingBox()) return false;
    if (hasNormalizedBoundingBox()) {
      if (!getNormalizedBoundingBox().equals(other.getNormalizedBoundingBox())) return false;
    }
    if (hasTimeOffset() != other.hasTimeOffset()) return false;
    if (hasTimeOffset()) {
      if (!getTimeOffset().equals(other.getTimeOffset())) return false;
    }
    if (!getAttributesList().equals(other.getAttributesList())) return false;
    if (!getLandmarksList().equals(other.getLandmarksList())) return false;
    if (!getUnknownFields().equals(other.getUnknownFields())) return false;
    return true;
  }
<pre>
Optional. The detected landmarks.
</pre>

<code>
repeated .google.cloud.videointelligence.v1.DetectedLandmark landmarks = 4 [(.google.api.field_behavior) = OPTIONAL];
</code>
java-video-intelligence/proto-google-cloud-video-intelligence-v1/src/main/java/com/google/cloud/videointelligence/v1/TimestampedObject.java