public QueryTranslator(IQueryable source, Expression expression, IEnumerable <ExpressionVisitor> visitors)
 {
     if (expression == null)
     {
         throw new ArgumentNullException("expression");
     }
     _expression = expression;
     _provider   = new QueryTranslatorProvider <T>(source, visitors);
 }
        public QueryTranslator(IQueryable source, IEnumerable <ExpressionVisitor> visitors)
        {
            if (source == null)
            {
                throw new ArgumentNullException("source");
            }

            if (visitors == null)
            {
                throw new ArgumentNullException("visitors");
            }

            Expression = Expression.Constant(this);
            _provider  = new QueryTranslatorProvider <T>(source, visitors);
        }