@java.lang.Override
  public int hashCode() {
    if (memoizedHashCode != 0) {
      return memoizedHashCode;
    }
    int hash = 41;
    hash = (19 * hash) + getDescriptor().hashCode();
    if (hasIndex()) {
      hash = (37 * hash) + INDEX_FIELD_NUMBER;
      hash = (53 * hash) + getIndex().hashCode();
    }
    if (hasUpdateMask()) {
      hash = (37 * hash) + UPDATE_MASK_FIELD_NUMBER;
      hash = (53 * hash) + getUpdateMask().hashCode();
    }
    hash = (29 * hash) + getUnknownFields().hashCode();
    memoizedHashCode = hash;
    return hash;
  }
<pre>
Required. Field mask is used to specify the fields to be overwritten in the
Index resource by the update. The fields specified in the update_mask are
relative to the resource, not the full request. A field of the resource
will be overwritten if it is in the mask. Empty field mask is not allowed.
If the mask is "*", it triggers a full update of the index, and also a
whole rebuild of index data.
</pre>

<code>.google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED];
</code>
java-visionai/proto-google-cloud-visionai-v1/src/main/java/com/google/cloud/visionai/v1/UpdateIndexRequest.java