public int GetHashCode(Token obj)
        {
            if (obj.Type == TokenType.CommandText)
            {
                return(obj.GetHashCode());
            }

            return(TokenFacts.ToSourceType(obj.Type).GetHashCode());
        }
        public bool Equals(Token x, Token y)
        {
            if (TokenFacts.IsPlaceholder(x.Type) || TokenFacts.IsPlaceholder(y.Type))
            {
                return(TokenFacts.ToSourceType(x.Type) == TokenFacts.ToSourceType(y.Type));
            }

            return(x.Equals(y));
        }