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

            if (matchPatternCase_ == MatchPatternOneofCase.NullMatch)
            {
                hash ^= NullMatch.GetHashCode();
            }
            if (matchPatternCase_ == MatchPatternOneofCase.DoubleMatch)
            {
                hash ^= DoubleMatch.GetHashCode();
            }
            if (matchPatternCase_ == MatchPatternOneofCase.StringMatch)
            {
                hash ^= StringMatch.GetHashCode();
            }
            if (matchPatternCase_ == MatchPatternOneofCase.BoolMatch)
            {
                hash ^= BoolMatch.GetHashCode();
            }
            if (matchPatternCase_ == MatchPatternOneofCase.PresentMatch)
            {
                hash ^= PresentMatch.GetHashCode();
            }
            if (matchPatternCase_ == MatchPatternOneofCase.ListMatch)
            {
                hash ^= ListMatch.GetHashCode();
            }
            hash ^= (int)matchPatternCase_;
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }