public Expression GetLazyExpression(LazyExpression expression) { return _lazyExpressions[expression.Id]; }
public Expression EvaluateLazyExpression(LazyExpression expression, int depthLimit, bool stopOnAbstraction) { if (_evaluatedLazyExpressions.Contains(expression.Id)) return _lazyExpressions[expression.Id]; var result = Evaluate(_lazyExpressions[expression.Id], depthLimit, this, stopOnAbstraction); if (!stopOnAbstraction) { _lazyExpressions[expression.Id] = result; _evaluatedLazyExpressions.Add(expression.Id); } return result; }