/// <summary>Creates the combinator.</summary>
        /// <param name="combinatorTree">The combinator tree.</param>
        /// <returns>The combinator value.</returns>
        private static Combinator CreateCombinatorNode(CommonTree combinatorTree)
        {
            var combinator = Combinator.None;

            if (combinatorTree == null)
            {
                return(combinator);
            }

            var text = combinatorTree.FirstChildText();

            switch (text)
            {
            case CssConstants.Plus:
                combinator = Combinator.PlusSign;
                break;

            case CssConstants.Greater:
                combinator = Combinator.GreaterThanSign;
                break;

            case CssConstants.Tilde:
                combinator = Combinator.Tilde;
                break;

            case CssConstants.Whitespace:
                combinator = GetWhitespaceCount(combinatorTree) > 0 ? Combinator.SingleSpace : Combinator.ZeroSpace;
                break;

            default:
                throw new AstException("Encountered an invalid combinator.");
            }

            return(combinator);
        }