@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(sourceVmId_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, sourceVmId_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, description_);
    }
    if (((bitField0_ & 0x00000001) != 0)) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(8, getPolicy());
    }
    if (((bitField0_ & 0x00000002) != 0)) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(9, getCreateTime());
    }
    if (((bitField0_ & 0x00000004) != 0)) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(10, getUpdateTime());
    }
    if (((bitField0_ & 0x00000008) != 0)) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(11, getLastSync());
    }
    if (((bitField0_ & 0x00000020) != 0)) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(13, getCurrentSyncInfo());
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(group_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(15, group_);
    }
    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__);
    }
    for (int i = 0; i < recentCloneJobs_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(17, recentCloneJobs_.get(i));
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(displayName_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(18, displayName_);
    }
    if (((bitField0_ & 0x00000040) != 0)) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(19, getError());
    }
    for (int i = 0; i < recentCutoverJobs_.size(); i++) {
      size +=
          com.google.protobuf.CodedOutputStream.computeMessageSize(20, recentCutoverJobs_.get(i));
    }
    if (((bitField0_ & 0x00000010) != 0)) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(22, getStateTime());
    }
    if (state_ != com.google.cloud.vmmigration.v1.MigratingVm.State.STATE_UNSPECIFIED.getNumber()) {
      size += com.google.protobuf.CodedOutputStream.computeEnumSize(23, state_);
    }
    if (targetVmDefaultsCase_ == 26) {
      size +=
          com.google.protobuf.CodedOutputStream.computeMessageSize(
              26, (com.google.cloud.vmmigration.v1.ComputeEngineTargetDefaults) targetVmDefaults_);
    }
    if (sourceVmDetailsCase_ == 29) {
      size +=
          com.google.protobuf.CodedOutputStream.computeMessageSize(
              29, (com.google.cloud.vmmigration.v1.AwsSourceVmDetails) sourceVmDetails_);
    }
    size += getUnknownFields().getSerializedSize();
    memoizedSize = size;
    return size;
  }
<pre>
Output only. The recent cutover jobs performed on the migrating VM.
This field holds the vm's last completed cutover job and the vm's
running cutover job, if one exists.
Note: To have this field populated you need to explicitly request it via
the "view" parameter of the Get/List request.
</pre>

<code>
repeated .google.cloud.vmmigration.v1.CutoverJob recent_cutover_jobs = 20 [(.google.api.field_behavior) = OUTPUT_ONLY];
</code>
java-vmmigration/proto-google-cloud-vmmigration-v1/src/main/java/com/google/cloud/vmmigration/v1/MigratingVm.java