anchor.diff:        SuperInitializer current = constructor.initializers.first;
         var args = _createArgumentExpressionList(
             current.arguments, current.target.function);
  -      var superApp = new ConstructorInvocationApplication(
  +      var superApp = new SuperConstructorApplication(
             newObject, current.target, expressionContinuation);
         _initializeNullFields(_currentClass, newObject);
         return new ExpressionListConfiguration(args, environment, superApp);
  
positive.code:     if (next is RedirectingInitializer) {
        // RedirectingInitializer appears last in the initializer list.
        assert(initializers.length == 2);
        var cont = new ConstructorInvocationApplication(
            newObject, next.target, continuation);
        var args =
            _createArgumentExpressionList(next.arguments, next.target.function);
  
negative.code: /// Represents the application continuation for constructor invocation applied
  /// on the list of evaluated arguments.
  class ConstructorInvocationApplication extends ApplicationContinuation {
    final Constructor constructor;
    final ExpressionContinuation continuation;
  
    ConstructorInvocationApplication(this.constructor, this.continuation);
  
    Configuration call(List<InterpreterValue> argValues) {
      Environment ctrEnv = ApplicationContinuation.createEnvironment(
          constructor.function, argValues);
  
      var class_ = new Class(constructor.enclosingClass.reference);
      var newObject =
          new ObjectValue(class_, new List<Value>(class_.instanceSize));
  
      var cont =
          new ObjectInitializationContinuation(constructor, ctrEnv, continuation);
  
      return new ContinuationConfiguration(cont, newObject);
    }
  }
  
  /// Represents the application continuation for redirecting constructor
  /// invocation applied on the list of evaluated arguments.
  class RedirectingConstructorApplication extends ApplicationContinuation {
    final ObjectValue newObject;
    final Constructor constructor;
    final ExpressionContinuation continuation;
  
    RedirectingConstructorApplication(
        this.newObject, this.constructor, this.continuation);
  
    Configuration call(List<InterpreterValue> argValues) {
      Environment ctrEnv = ApplicationContinuation.createEnvironment(
          constructor.function, argValues);
      var cont =
          new ObjectInitializationContinuation(constructor, ctrEnv, continuation);
      return new ContinuationConfiguration(cont, newObject);
    }
  }
  
  /// Represents the application continuation for super constructor
  /// invocation applied on the list of evaluated arguments.
  class SuperConstructorApplication extends ApplicationContinuation {
    final ObjectValue newObject;
    final Constructor constructor;
    // TODO: remember to execute body of previous ctr.
    final ExpressionContinuation continuation;
  
    SuperConstructorApplication(
        this.newObject, this.constructor, this.continuation);
  
    Configuration call(List<InterpreterValue> argValues) {
      Environment ctrEnv = ApplicationContinuation.createEnvironment(
          constructor.function, argValues);
      var cont =
          new ObjectInitializationContinuation(constructor, ctrEnv, continuation);
      return new ContinuationConfiguration(cont, newObject);
    }
  }
  
  class ObjectInitializationContinuation extends ExpressionContinuation {
    final Constructor constructor;
    final Environment environment;
    final ExpressionContinuation continuation;
  
    ObjectInitializationContinuation(
        this.constructor, this.environment, this.continuation);
  
    Configuration call(Value v) {
      if (constructor.initializers.isNotEmpty &&
          constructor.initializers.last is RedirectingInitializer) {
        // Constructor is redirecting.
        Initializer initializer = constructor.initializers.first;
        if (initializer is RedirectingInitializer) {
          var app = new RedirectingConstructorApplication(
              v, initializer.target, continuation);
          var args = _createArgumentExpressionList(
              initializer.arguments, initializer.target.function);
  
          return new ExpressionListConfiguration(args, environment, app);
        }
        // Redirecting initializer is not the only initializer.
        for (Initializer i in constructor.initializers.reversed.skip(1)) {
          assert(i is LocalInitializer);
        }
        var class_ = new Class(constructor.enclosingClass.reference);
        var cont = new InitializerContinuation(
            v, class_, environment, constructor.initializers, continuation);
        return new ExpressionConfiguration(
            (initializer as LocalInitializer).variable.initializer,
            environment,
            cont);
      }
  
      // Initialize fields in immediately enclosing class.
      var cont = new InstanceFieldsApplication(
          v, constructor, environment, continuation);
      var fieldExpressions = _createInstanceInitializers(constructor);
  
      return new ExpressionListConfiguration(
          fieldExpressions, new Environment.empty(), cont);
    }
  
    /// Creates a list of expressions for instance field initializers in
  