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

    if (hasParameters() != other.hasParameters()) return false;
    if (hasParameters()) {
      if (!getParameters().equals(other.getParameters())) return false;
    }
    if (hasMetadata() != other.hasMetadata()) return false;
    if (hasMetadata()) {
      if (!getMetadata().equals(other.getMetadata())) return false;
    }
    if (!getUnknownFields().equals(other.getUnknownFields())) return false;
    return true;
  }
<pre>
Optional. Metadata describing the Model's input and output for explanation.
</pre>

<code>
.google.cloud.vertexai.v1.ExplanationMetadata metadata = 2 [(.google.api.field_behavior) = OPTIONAL];
</code>
java-vertexai/proto-google-cloud-vertexai-v1/src/main/java/com/google/cloud/vertexai/api/ExplanationSpec.java