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

    if (!getKey().equals(other.getKey())) return false;
    if (hasValue() != other.hasValue()) return false;
    if (hasValue()) {
      if (!getValue().equals(other.getValue())) return false;
    }
    if (hasPartition() != other.hasPartition()) return false;
    if (hasPartition()) {
      if (!getPartition().equals(other.getPartition())) return false;
    }
    if (!getUnknownFields().equals(other.getUnknownFields())) return false;
    return true;
  }
<pre>
Partition information in time and space for the sub-asset level annotation.
</pre>

<code>.google.cloud.visionai.v1.Partition partition = 3;</code>
java-visionai/proto-google-cloud-visionai-v1/src/main/java/com/google/cloud/visionai/v1/UserSpecifiedAnnotation.java