internal static LambdaExpression ExpandInternal(LambdaExpression expression, IObjectContext context = null) { while (true) { var visitor = new TransformInvokeMapExpression(context); expression = (LambdaExpression)visitor.Visit(expression); if (!visitor.ExpressionWasReplaced) { return((LambdaExpression)expression.Expand()); } } }