override public void LeaveGeneratorExpression(GeneratorExpression node)
{
var collector = new ForeignReferenceCollector();
collector.CurrentType = (IType)AstUtil.GetParentClass(node).Entity;
node.Accept(collector);
var processor = new GeneratorExpressionProcessor(Context, collector, node);
processor.Run();
ReplaceCurrentNode(processor.CreateEnumerableConstructorInvocation());
}