@java.lang.Override
  public int hashCode() {
    if (memoizedHashCode != 0) {
      return memoizedHashCode;
    }
    int hash = 41;
    hash = (19 * hash) + getDescriptor().hashCode();
    switch (dataCase_) {
      case 1:
        hash = (37 * hash) + TEXT_FIELD_NUMBER;
        hash = (53 * hash) + getText().hashCode();
        break;
      case 2:
        hash = (37 * hash) + INLINE_DATA_FIELD_NUMBER;
        hash = (53 * hash) + getInlineData().hashCode();
        break;
      case 3:
        hash = (37 * hash) + FILE_DATA_FIELD_NUMBER;
        hash = (53 * hash) + getFileData().hashCode();
        break;
      case 5:
        hash = (37 * hash) + FUNCTION_CALL_FIELD_NUMBER;
        hash = (53 * hash) + getFunctionCall().hashCode();
        break;
      case 6:
        hash = (37 * hash) + FUNCTION_RESPONSE_FIELD_NUMBER;
        hash = (53 * hash) + getFunctionResponse().hashCode();
        break;
      case 8:
        hash = (37 * hash) + EXECUTABLE_CODE_FIELD_NUMBER;
        hash = (53 * hash) + getExecutableCode().hashCode();
        break;
      case 9:
        hash = (37 * hash) + CODE_EXECUTION_RESULT_FIELD_NUMBER;
        hash = (53 * hash) + getCodeExecutionResult().hashCode();
        break;
      case 0:
      default:
    }
    switch (metadataCase_) {
      case 4:
        hash = (37 * hash) + VIDEO_METADATA_FIELD_NUMBER;
        hash = (53 * hash) + getVideoMetadata().hashCode();
        break;
      case 0:
      default:
    }
    hash = (29 * hash) + getUnknownFields().hashCode();
    memoizedHashCode = hash;
    return hash;
  }
<pre>
Optional. Video metadata. The metadata should only be specified while the
video data is presented in inline_data or file_data.
</pre>

<code>
.google.cloud.vertexai.v1.VideoMetadata video_metadata = 4 [(.google.api.field_behavior) = OPTIONAL];
</code>
java-vertexai/proto-google-cloud-vertexai-v1/src/main/java/com/google/cloud/vertexai/api/Part.java