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);
        }