private static object OrderProperty(OrderClause order, IDictionary<string, object> e)
        {
            var t = e[order.Property];

            return t;
        }
        private static OrderClause ParseOrder(string[] tokens, ref int i)
        {
            var order = new OrderClause();

            var direction = tokens[i].ToLowerInvariant();

            switch (direction)
            {
                case "ascending":
                    order.Operator = OrderOperator.Ascending;
                    break;

                case "descending":
                    order.Operator = OrderOperator.Descending;
                    break;
            }

            ++i;

            order.Property = tokens[i];

            return order;
        }