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