@java.lang.Override
  public int getSerializedSize() {
    int size = memoizedSize;
    if (size != -1) return size;

    size = 0;
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(id_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, id_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(model_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, model_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(displayName_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, displayName_);
    }
    if (((bitField0_ & 0x00000001) != 0)) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(6, getCreateTime());
    }
    if (predictionResourcesCase_ == 7) {
      size +=
          com.google.protobuf.CodedOutputStream.computeMessageSize(
              7, (com.google.cloud.vertexai.api.DedicatedResources) predictionResources_);
    }
    if (predictionResourcesCase_ == 8) {
      size +=
          com.google.protobuf.CodedOutputStream.computeMessageSize(
              8, (com.google.cloud.vertexai.api.AutomaticResources) predictionResources_);
    }
    if (((bitField0_ & 0x00000002) != 0)) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(9, getExplanationSpec());
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(serviceAccount_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(11, serviceAccount_);
    }
    if (enableAccessLogging_ != false) {
      size += com.google.protobuf.CodedOutputStream.computeBoolSize(13, enableAccessLogging_);
    }
    if (((bitField0_ & 0x00000004) != 0)) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(14, getPrivateEndpoints());
    }
    if (disableContainerLogging_ != false) {
      size += com.google.protobuf.CodedOutputStream.computeBoolSize(15, disableContainerLogging_);
    }
    if (predictionResourcesCase_ == 17) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(17, predictionResources_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(modelVersionId_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(18, modelVersionId_);
    }
    if (disableExplanations_ != false) {
      size += com.google.protobuf.CodedOutputStream.computeBoolSize(19, disableExplanations_);
    }
    if (((bitField0_ & 0x00000008) != 0)) {
      size +=
          com.google.protobuf.CodedOutputStream.computeMessageSize(23, getFasterDeploymentConfig());
    }
    if (((bitField0_ & 0x00000010) != 0)) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(26, getStatus());
    }
    for (java.util.Map.Entry<java.lang.String, java.lang.String> entry :
        internalGetSystemLabels().getMap().entrySet()) {
      com.google.protobuf.MapEntry<java.lang.String, java.lang.String> systemLabels__ =
          SystemLabelsDefaultEntryHolder.defaultEntry
              .newBuilderForType()
              .setKey(entry.getKey())
              .setValue(entry.getValue())
              .build();
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(28, systemLabels__);
    }
    if (((bitField0_ & 0x00000020) != 0)) {
      size +=
          com.google.protobuf.CodedOutputStream.computeMessageSize(
              30, getSpeculativeDecodingSpec());
    }
    size += getUnknownFields().getSerializedSize();
    memoizedSize = size;
    return size;
  }
<pre>
Optional. Spec for configuring speculative decoding.
</pre>

<code>
.google.cloud.vertexai.v1.SpeculativeDecodingSpec speculative_decoding_spec = 30 [(.google.api.field_behavior) = OPTIONAL];
</code>
java-vertexai/proto-google-cloud-vertexai-v1/src/main/java/com/google/cloud/vertexai/api/DeployedModel.java