@java.lang.Override
  public int hashCode() {
    if (memoizedHashCode != 0) {
      return memoizedHashCode;
    }
    int hash = 41;
    hash = (19 * hash) + getDescriptor().hashCode();
    if (getFunctionDeclarationsCount() > 0) {
      hash = (37 * hash) + FUNCTION_DECLARATIONS_FIELD_NUMBER;
      hash = (53 * hash) + getFunctionDeclarationsList().hashCode();
    }
    if (hasRetrieval()) {
      hash = (37 * hash) + RETRIEVAL_FIELD_NUMBER;
      hash = (53 * hash) + getRetrieval().hashCode();
    }
    if (hasGoogleSearch()) {
      hash = (37 * hash) + GOOGLE_SEARCH_FIELD_NUMBER;
      hash = (53 * hash) + getGoogleSearch().hashCode();
    }
    if (hasGoogleSearchRetrieval()) {
      hash = (37 * hash) + GOOGLE_SEARCH_RETRIEVAL_FIELD_NUMBER;
      hash = (53 * hash) + getGoogleSearchRetrieval().hashCode();
    }
    if (hasEnterpriseWebSearch()) {
      hash = (37 * hash) + ENTERPRISE_WEB_SEARCH_FIELD_NUMBER;
      hash = (53 * hash) + getEnterpriseWebSearch().hashCode();
    }
    if (hasCodeExecution()) {
      hash = (37 * hash) + CODE_EXECUTION_FIELD_NUMBER;
      hash = (53 * hash) + getCodeExecution().hashCode();
    }
    hash = (29 * hash) + getUnknownFields().hashCode();
    memoizedHashCode = hash;
    return hash;
  }
<pre>
Optional. CodeExecution tool type.
Enables the model to execute code as part of generation.
</pre>

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