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

    if (!getDataCase().equals(other.getDataCase())) return false;
    switch (dataCase_) {
      case 1:
        if (!getText().equals(other.getText())) return false;
        break;
      case 2:
        if (!getInlineData().equals(other.getInlineData())) return false;
        break;
      case 3:
        if (!getFileData().equals(other.getFileData())) return false;
        break;
      case 5:
        if (!getFunctionCall().equals(other.getFunctionCall())) return false;
        break;
      case 6:
        if (!getFunctionResponse().equals(other.getFunctionResponse())) return false;
        break;
      case 8:
        if (!getExecutableCode().equals(other.getExecutableCode())) return false;
        break;
      case 9:
        if (!getCodeExecutionResult().equals(other.getCodeExecutionResult())) return false;
        break;
      case 0:
      default:
    }
    if (!getMetadataCase().equals(other.getMetadataCase())) return false;
    switch (metadataCase_) {
      case 4:
        if (!getVideoMetadata().equals(other.getVideoMetadata())) return false;
        break;
      case 0:
      default:
    }
    if (!getUnknownFields().equals(other.getUnknownFields())) return false;
    return true;
  }
<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