public Builder mergeNgramSpeculation(
        com.google.cloud.vertexai.api.SpeculativeDecodingSpec.NgramSpeculation value) {
      if (ngramSpeculationBuilder_ == null) {
        if (speculationCase_ == 3
            && speculation_
                != com.google.cloud.vertexai.api.SpeculativeDecodingSpec.NgramSpeculation
                    .getDefaultInstance()) {
          speculation_ =
              com.google.cloud.vertexai.api.SpeculativeDecodingSpec.NgramSpeculation.newBuilder(
                      (com.google.cloud.vertexai.api.SpeculativeDecodingSpec.NgramSpeculation)
                          speculation_)
                  .mergeFrom(value)
                  .buildPartial();
        } else {
          speculation_ = value;
        }
        onChanged();
      } else {
        if (speculationCase_ == 3) {
          ngramSpeculationBuilder_.mergeFrom(value);
        } else {
          ngramSpeculationBuilder_.setMessage(value);
        }
      }
      speculationCase_ = 3;
      return this;
    }
<pre>
N-Gram speculation.
</pre>

<code>
.google.cloud.vertexai.v1.SpeculativeDecodingSpec.NgramSpeculation ngram_speculation = 3;
</code>
java-vertexai/proto-google-cloud-vertexai-v1/src/main/java/com/google/cloud/vertexai/api/SpeculativeDecodingSpec.java