@java.lang.Override
  public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
    if (((bitField0_ & 0x00000001) != 0)) {
      output.writeFloat(1, temperature_);
    }
    if (((bitField0_ & 0x00000002) != 0)) {
      output.writeFloat(2, topP_);
    }
    if (((bitField0_ & 0x00000004) != 0)) {
      output.writeFloat(3, topK_);
    }
    if (((bitField0_ & 0x00000008) != 0)) {
      output.writeInt32(4, candidateCount_);
    }
    if (((bitField0_ & 0x00000010) != 0)) {
      output.writeInt32(5, maxOutputTokens_);
    }
    for (int i = 0; i < stopSequences_.size(); i++) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 6, stopSequences_.getRaw(i));
    }
    if (((bitField0_ & 0x00000040) != 0)) {
      output.writeInt32(7, logprobs_);
    }
    if (((bitField0_ & 0x00000080) != 0)) {
      output.writeFloat(8, presencePenalty_);
    }
    if (((bitField0_ & 0x00000100) != 0)) {
      output.writeFloat(9, frequencyPenalty_);
    }
    if (((bitField0_ & 0x00000200) != 0)) {
      output.writeInt32(12, seed_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(responseMimeType_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 13, responseMimeType_);
    }
    if (((bitField0_ & 0x00000400) != 0)) {
      output.writeMessage(16, getResponseSchema());
    }
    if (((bitField0_ & 0x00000800) != 0)) {
      output.writeMessage(17, getRoutingConfig());
    }
    if (((bitField0_ & 0x00000020) != 0)) {
      output.writeBool(18, responseLogprobs_);
    }
    getUnknownFields().writeTo(output);
  }
<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