public override DbExpression Visit(DbLambdaExpression expression)
        {
            Check.NotNull(expression, "expression");

            DbExpression result       = expression;
            var          newArguments = VisitExpressionList(expression.Arguments);
            var          newLambda    = VisitLambda(expression.Lambda);

            if (!ReferenceEquals(expression.Arguments, newArguments)
                ||
                !ReferenceEquals(expression.Lambda, newLambda))
            {
                result = CqtBuilder.Invoke(newLambda, newArguments);
            }
            NotifyIfChanged(expression, result);
            return(result);
        }