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

            if (ResponseCode != 0)
            {
                hash ^= ResponseCode.GetHashCode();
            }
            if (Type != global::Agrirouter.Response.ResponseEnvelope.Types.ResponseBodyType.Messages)
            {
                hash ^= Type.GetHashCode();
            }
            if (ApplicationMessageId.Length != 0)
            {
                hash ^= ApplicationMessageId.GetHashCode();
            }
            if (MessageId.Length != 0)
            {
                hash ^= MessageId.GetHashCode();
            }
            if (timestamp_ != null)
            {
                hash ^= Timestamp.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
        public override int GetHashCode()
        {
            int hash = 1;

            if (ApplicationMessageId.Length != 0)
            {
                hash ^= ApplicationMessageId.GetHashCode();
            }
            hash ^= recipients_.GetHashCode();
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
        public override int GetHashCode()
        {
            int hash = 1;

            if (ApplicationMessageId.Length != 0)
            {
                hash ^= ApplicationMessageId.GetHashCode();
            }
            if (ApplicationMessageSeqNo != 0L)
            {
                hash ^= ApplicationMessageSeqNo.GetHashCode();
            }
            if (TechnicalMessageType.Length != 0)
            {
                hash ^= TechnicalMessageType.GetHashCode();
            }
            if (TeamSetContextId.Length != 0)
            {
                hash ^= TeamSetContextId.GetHashCode();
            }
            if (Mode != global::Agrirouter.Request.RequestEnvelope.Types.Mode.Direct)
            {
                hash ^= Mode.GetHashCode();
            }
            hash ^= recipients_.GetHashCode();
            if (chunkInfo_ != null)
            {
                hash ^= ChunkInfo.GetHashCode();
            }
            if (timestamp_ != null)
            {
                hash ^= Timestamp.GetHashCode();
            }
            if (metadata_ != null)
            {
                hash ^= Metadata.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }