public void MergeFrom(MetadataProto other)
 {
     if (other == null)
     {
         return;
     }
     if (other.address_ != null)
     {
         if (address_ == null)
         {
             Address = new global::serialize.protos.AddressProto();
         }
         Address.MergeFrom(other.Address);
     }
     if (other.HasSenderDevice)
     {
         SenderDevice = other.SenderDevice;
     }
     if (other.HasTimestamp)
     {
         Timestamp = other.Timestamp;
     }
     if (other.HasNeedsReceipt)
     {
         NeedsReceipt = other.NeedsReceipt;
     }
     _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 10: {
                    if (localAddress_ == null)
                    {
                        LocalAddress = new global::serialize.protos.AddressProto();
                    }
                    input.ReadMessage(LocalAddress);
                    break;
                }

                case 18: {
                    if (metadata_ == null)
                    {
                        Metadata = new global::serialize.protos.MetadataProto();
                    }
                    input.ReadMessage(Metadata);
                    break;
                }

                case 26: {
                    global::libsignalservice.push.DataMessage subBuilder = new global::libsignalservice.push.DataMessage();
                    if (dataCase_ == DataOneofCase.LegacyDataMessage)
                    {
                        subBuilder.MergeFrom(LegacyDataMessage);
                    }
                    input.ReadMessage(subBuilder);
                    LegacyDataMessage = subBuilder;
                    break;
                }

                case 34: {
                    global::libsignalservice.push.Content subBuilder = new global::libsignalservice.push.Content();
                    if (dataCase_ == DataOneofCase.Content)
                    {
                        subBuilder.MergeFrom(Content);
                    }
                    input.ReadMessage(subBuilder);
                    Content = subBuilder;
                    break;
                }
                }
            }
        }
        public void MergeFrom(SignalServiceContentProto other)
        {
            if (other == null)
            {
                return;
            }
            if (other.localAddress_ != null)
            {
                if (localAddress_ == null)
                {
                    LocalAddress = new global::serialize.protos.AddressProto();
                }
                LocalAddress.MergeFrom(other.LocalAddress);
            }
            if (other.metadata_ != null)
            {
                if (metadata_ == null)
                {
                    Metadata = new global::serialize.protos.MetadataProto();
                }
                Metadata.MergeFrom(other.Metadata);
            }
            switch (other.DataCase)
            {
            case DataOneofCase.LegacyDataMessage:
                if (LegacyDataMessage == null)
                {
                    LegacyDataMessage = new global::libsignalservice.push.DataMessage();
                }
                LegacyDataMessage.MergeFrom(other.LegacyDataMessage);
                break;

            case DataOneofCase.Content:
                if (Content == null)
                {
                    Content = new global::libsignalservice.push.Content();
                }
                Content.MergeFrom(other.Content);
                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 10: {
                    if (address_ == null)
                    {
                        Address = new global::serialize.protos.AddressProto();
                    }
                    input.ReadMessage(Address);
                    break;
                }

                case 16: {
                    SenderDevice = input.ReadInt32();
                    break;
                }

                case 24: {
                    Timestamp = input.ReadInt64();
                    break;
                }

                case 32: {
                    NeedsReceipt = input.ReadBool();
                    break;
                }
                }
            }
        }