public void MergeFrom(Instruction other)
 {
     if (other == null)
     {
         return;
     }
     if (other.Name.Length != 0)
     {
         Name = other.Name;
     }
     if (other.DisplayName.Length != 0)
     {
         DisplayName = other.DisplayName;
     }
     if (other.Description.Length != 0)
     {
         Description = other.Description;
     }
     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);
     }
     if (other.DataType != global::Google.Cloud.DataLabeling.V1Beta1.DataType.Unspecified)
     {
         DataType = other.DataType;
     }
     if (other.csvInstruction_ != null)
     {
         if (csvInstruction_ == null)
         {
             CsvInstruction = new global::Google.Cloud.DataLabeling.V1Beta1.CsvInstruction();
         }
         CsvInstruction.MergeFrom(other.CsvInstruction);
     }
     if (other.pdfInstruction_ != null)
     {
         if (pdfInstruction_ == null)
         {
             PdfInstruction = new global::Google.Cloud.DataLabeling.V1Beta1.PdfInstruction();
         }
         PdfInstruction.MergeFrom(other.PdfInstruction);
     }
     blockingResources_.Add(other.blockingResources_);
     _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
 }
        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input)
        {
            uint tag;

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

                case 10: {
                    Name = input.ReadString();
                    break;
                }

                case 18: {
                    DisplayName = input.ReadString();
                    break;
                }

                case 26: {
                    Description = input.ReadString();
                    break;
                }

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

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

                case 48: {
                    DataType = (global::Google.Cloud.DataLabeling.V1Beta1.DataType)input.ReadEnum();
                    break;
                }

                case 58: {
                    if (csvInstruction_ == null)
                    {
                        CsvInstruction = new global::Google.Cloud.DataLabeling.V1Beta1.CsvInstruction();
                    }
                    input.ReadMessage(CsvInstruction);
                    break;
                }

                case 74: {
                    if (pdfInstruction_ == null)
                    {
                        PdfInstruction = new global::Google.Cloud.DataLabeling.V1Beta1.PdfInstruction();
                    }
                    input.ReadMessage(PdfInstruction);
                    break;
                }

                case 82: {
                    blockingResources_.AddEntriesFrom(ref input, _repeated_blockingResources_codec);
                    break;
                }
                }
            }
        }
        public void MergeFrom(pb::CodedInputStream input)
        {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
            input.ReadRawMessage(this);
    #else
            uint tag;
            while ((tag = input.ReadTag()) != 0)
            {
                switch (tag)
                {
                default:
                    _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
                    break;

                case 10: {
                    Name = input.ReadString();
                    break;
                }

                case 18: {
                    DisplayName = input.ReadString();
                    break;
                }

                case 26: {
                    Description = input.ReadString();
                    break;
                }

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

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

                case 48: {
                    DataType = (global::Google.Cloud.DataLabeling.V1Beta1.DataType)input.ReadEnum();
                    break;
                }

                case 58: {
                    if (csvInstruction_ == null)
                    {
                        CsvInstruction = new global::Google.Cloud.DataLabeling.V1Beta1.CsvInstruction();
                    }
                    input.ReadMessage(CsvInstruction);
                    break;
                }

                case 74: {
                    if (pdfInstruction_ == null)
                    {
                        PdfInstruction = new global::Google.Cloud.DataLabeling.V1Beta1.PdfInstruction();
                    }
                    input.ReadMessage(PdfInstruction);
                    break;
                }

                case 82: {
                    blockingResources_.AddEntriesFrom(input, _repeated_blockingResources_codec);
                    break;
                }
                }
            }
    #endif
        }