@java.lang.Override
  public int hashCode() {
    if (memoizedHashCode != 0) {
      return memoizedHashCode;
    }
    int hash = 41;
    hash = (19 * hash) + getDescriptor().hashCode();
    if (hasTemperature()) {
      hash = (37 * hash) + TEMPERATURE_FIELD_NUMBER;
      hash = (53 * hash) + java.lang.Float.floatToIntBits(getTemperature());
    }
    if (hasTopP()) {
      hash = (37 * hash) + TOP_P_FIELD_NUMBER;
      hash = (53 * hash) + java.lang.Float.floatToIntBits(getTopP());
    }
    if (hasTopK()) {
      hash = (37 * hash) + TOP_K_FIELD_NUMBER;
      hash = (53 * hash) + java.lang.Float.floatToIntBits(getTopK());
    }
    if (hasCandidateCount()) {
      hash = (37 * hash) + CANDIDATE_COUNT_FIELD_NUMBER;
      hash = (53 * hash) + getCandidateCount();
    }
    if (hasMaxOutputTokens()) {
      hash = (37 * hash) + MAX_OUTPUT_TOKENS_FIELD_NUMBER;
      hash = (53 * hash) + getMaxOutputTokens();
    }
    if (getStopSequencesCount() > 0) {
      hash = (37 * hash) + STOP_SEQUENCES_FIELD_NUMBER;
      hash = (53 * hash) + getStopSequencesList().hashCode();
    }
    if (hasResponseLogprobs()) {
      hash = (37 * hash) + RESPONSE_LOGPROBS_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getResponseLogprobs());
    }
    if (hasLogprobs()) {
      hash = (37 * hash) + LOGPROBS_FIELD_NUMBER;
      hash = (53 * hash) + getLogprobs();
    }
    if (hasPresencePenalty()) {
      hash = (37 * hash) + PRESENCE_PENALTY_FIELD_NUMBER;
      hash = (53 * hash) + java.lang.Float.floatToIntBits(getPresencePenalty());
    }
    if (hasFrequencyPenalty()) {
      hash = (37 * hash) + FREQUENCY_PENALTY_FIELD_NUMBER;
      hash = (53 * hash) + java.lang.Float.floatToIntBits(getFrequencyPenalty());
    }
    if (hasSeed()) {
      hash = (37 * hash) + SEED_FIELD_NUMBER;
      hash = (53 * hash) + getSeed();
    }
    hash = (37 * hash) + RESPONSE_MIME_TYPE_FIELD_NUMBER;
    hash = (53 * hash) + getResponseMimeType().hashCode();
    if (hasResponseSchema()) {
      hash = (37 * hash) + RESPONSE_SCHEMA_FIELD_NUMBER;
      hash = (53 * hash) + getResponseSchema().hashCode();
    }
    if (hasRoutingConfig()) {
      hash = (37 * hash) + ROUTING_CONFIG_FIELD_NUMBER;
      hash = (53 * hash) + getRoutingConfig().hashCode();
    }
    hash = (29 * hash) + getUnknownFields().hashCode();
    memoizedHashCode = hash;
    return hash;
  }
<pre>
Optional. Routing configuration.
</pre>

<code>
optional .google.cloud.vertexai.v1.GenerationConfig.RoutingConfig routing_config = 17 [(.google.api.field_behavior) = OPTIONAL];
</code>
java-vertexai/proto-google-cloud-vertexai-v1/src/main/java/com/google/cloud/vertexai/api/GenerationConfig.java