public override void Run()
{
CreateEnumerableConstructor();
CreateEnumerator();
MethodInvocationExpression enumerableConstructorInvocation = CodeBuilder.CreateConstructorInvocation(_enumerable.ClassDefinition);
MethodInvocationExpression enumeratorConstructorInvocation = CodeBuilder.CreateConstructorInvocation(_enumerator.ClassDefinition);
PropagateReferences(enumerableConstructorInvocation, enumeratorConstructorInvocation);
CreateGetEnumerator(enumeratorConstructorInvocation);
FixGeneratorMethodBody(enumerableConstructorInvocation);
}