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

    size = 0;
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(inputUri_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, inputUri_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(outputUri_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, outputUri_);
    }
    if (jobConfigCase_ == 4) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, jobConfig_);
    }
    if (jobConfigCase_ == 5) {
      size +=
          com.google.protobuf.CodedOutputStream.computeMessageSize(
              5, (com.google.cloud.video.transcoder.v1.JobConfig) jobConfig_);
    }
    if (state_
        != com.google.cloud.video.transcoder.v1.Job.ProcessingState.PROCESSING_STATE_UNSPECIFIED
            .getNumber()) {
      size += com.google.protobuf.CodedOutputStream.computeEnumSize(8, state_);
    }
    if (((bitField0_ & 0x00000001) != 0)) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(12, getCreateTime());
    }
    if (((bitField0_ & 0x00000002) != 0)) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(13, getStartTime());
    }
    if (((bitField0_ & 0x00000004) != 0)) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(14, getEndTime());
    }
    if (ttlAfterCompletionDays_ != 0) {
      size += com.google.protobuf.CodedOutputStream.computeInt32Size(15, ttlAfterCompletionDays_);
    }
    for (java.util.Map.Entry<java.lang.String, java.lang.String> entry :
        internalGetLabels().getMap().entrySet()) {
      com.google.protobuf.MapEntry<java.lang.String, java.lang.String> labels__ =
          LabelsDefaultEntryHolder.defaultEntry
              .newBuilderForType()
              .setKey(entry.getKey())
              .setValue(entry.getValue())
              .build();
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(16, labels__);
    }
    if (((bitField0_ & 0x00000008) != 0)) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(17, getError());
    }
    if (mode_
        != com.google.cloud.video.transcoder.v1.Job.ProcessingMode.PROCESSING_MODE_UNSPECIFIED
            .getNumber()) {
      size += com.google.protobuf.CodedOutputStream.computeEnumSize(20, mode_);
    }
    if (batchModePriority_ != 0) {
      size += com.google.protobuf.CodedOutputStream.computeInt32Size(21, batchModePriority_);
    }
    if (optimization_
        != com.google.cloud.video.transcoder.v1.Job.OptimizationStrategy
            .OPTIMIZATION_STRATEGY_UNSPECIFIED
            .getNumber()) {
      size += com.google.protobuf.CodedOutputStream.computeEnumSize(22, optimization_);
    }
    size += getUnknownFields().getSerializedSize();
    memoizedSize = size;
    return size;
  }
<pre>
Optional. The optimization strategy of the job. The default is
`AUTODETECT`.
</pre>

<code>
.google.cloud.video.transcoder.v1.Job.OptimizationStrategy optimization = 22 [(.google.api.field_behavior) = OPTIONAL];
</code>

@return The optimization.
java-video-transcoder/proto-google-cloud-video-transcoder-v1/src/main/java/com/google/cloud/video/transcoder/v1/Job.java