anchor.diff:    }
   
     Future apply(Transform transform) {
  +    // Wait for any ongoing apply to finish first.
  +    // TODO(rnystrom): If there are multiple simultaneous compiles, this will
  +    // resume and pause them repeatedly. It still serializes them correctly,
  +    // but it might be cleaner to use a real queue.
  +    // TODO(rnystrom): Add a test that this is functionality is helpful.
  +    if (_running != null) {
  +      return _running.then((_) => apply(transform));
  +    }
  +
  +    var completer = new Completer();
  +    _running = completer.future;
  +
       var stopwatch = new Stopwatch();
       stopwatch.start();
   
  
positive.code:   // TODO(rnystrom): Do something cleaner for this, or eliminate those files.
    final entrypoints = new Set<AssetId>();
  
    Dart2JSTransformer(this._graph, {bool minify})
        : _minify = minify == true ? true : false;
  
  
negative.code:         if (error is CompilerException) return;
          throw error;
        });
      }).whenComplete(() {
        completer.complete();
        _running = null;
      });
    }
  }
  