public void MergeFrom(OperationMetadata other)
        {
            if (other == null)
            {
                return;
            }
            if (other.ProgressPercent != 0)
            {
                ProgressPercent = other.ProgressPercent;
            }
            partialFailures_.Add(other.partialFailures_);
            if (other.createTime_ != null)
            {
                if (createTime_ == null)
                {
                    CreateTime = new global::Google.Protobuf.WellKnownTypes.Timestamp();
                }
                CreateTime.MergeFrom(other.CreateTime);
            }
            if (other.updateTime_ != null)
            {
                if (updateTime_ == null)
                {
                    UpdateTime = new global::Google.Protobuf.WellKnownTypes.Timestamp();
                }
                UpdateTime.MergeFrom(other.UpdateTime);
            }
            switch (other.DetailsCase)
            {
            case DetailsOneofCase.DeleteDetails:
                if (DeleteDetails == null)
                {
                    DeleteDetails = new global::Google.Cloud.AutoML.V1.DeleteOperationMetadata();
                }
                DeleteDetails.MergeFrom(other.DeleteDetails);
                break;

            case DetailsOneofCase.CreateModelDetails:
                if (CreateModelDetails == null)
                {
                    CreateModelDetails = new global::Google.Cloud.AutoML.V1.CreateModelOperationMetadata();
                }
                CreateModelDetails.MergeFrom(other.CreateModelDetails);
                break;
            }

            _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
        }
        public void MergeFrom(pb::CodedInputStream input)
        {
            uint tag;

            while ((tag = input.ReadTag()) != 0)
            {
                switch (tag)
                {
                default:
                    _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
                    break;

                case 18: {
                    partialFailures_.AddEntriesFrom(input, _repeated_partialFailures_codec);
                    break;
                }

                case 26: {
                    if (createTime_ == null)
                    {
                        CreateTime = new global::Google.Protobuf.WellKnownTypes.Timestamp();
                    }
                    input.ReadMessage(CreateTime);
                    break;
                }

                case 34: {
                    if (updateTime_ == null)
                    {
                        UpdateTime = new global::Google.Protobuf.WellKnownTypes.Timestamp();
                    }
                    input.ReadMessage(UpdateTime);
                    break;
                }

                case 66: {
                    global::Google.Cloud.AutoML.V1.DeleteOperationMetadata subBuilder = new global::Google.Cloud.AutoML.V1.DeleteOperationMetadata();
                    if (detailsCase_ == DetailsOneofCase.DeleteDetails)
                    {
                        subBuilder.MergeFrom(DeleteDetails);
                    }
                    input.ReadMessage(subBuilder);
                    DeleteDetails = subBuilder;
                    break;
                }

                case 82: {
                    global::Google.Cloud.AutoML.V1.CreateModelOperationMetadata subBuilder = new global::Google.Cloud.AutoML.V1.CreateModelOperationMetadata();
                    if (detailsCase_ == DetailsOneofCase.CreateModelDetails)
                    {
                        subBuilder.MergeFrom(CreateModelDetails);
                    }
                    input.ReadMessage(subBuilder);
                    CreateModelDetails = subBuilder;
                    break;
                }

                case 104: {
                    ProgressPercent = input.ReadInt32();
                    break;
                }
                }
            }
        }