public override int GetHashCode()
        {
            int hash = 1;

            if (localAddress_ != null)
            {
                hash ^= LocalAddress.GetHashCode();
            }
            if (metadata_ != null)
            {
                hash ^= Metadata.GetHashCode();
            }
            if (dataCase_ == DataOneofCase.LegacyDataMessage)
            {
                hash ^= LegacyDataMessage.GetHashCode();
            }
            if (dataCase_ == DataOneofCase.Content)
            {
                hash ^= Content.GetHashCode();
            }
            hash ^= (int)dataCase_;
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
        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);
        }