anchor.diff:      var watched = bazelWatchedPathsPerFolder.remove(rootFolder);
       if (watched != null) {
         for (var path in watched.paths) {
  -        bazelWatcherService.stopWatching(watched.workspace, path);
  +        bazelWatcherService!.stopWatching(watched.workspace, path);
         }
       }
       driverMap.remove(rootFolder);
     }
   
     void _destroyAnalysisContexts() {
  -    if (_collection != null) {
  -      for (var analysisContext in _collection.contexts) {
  +    var collection = _collection;
  +    if (collection != null) {
  +      for (var analysisContext in collection.contexts) {
           _destroyAnalysisContext(analysisContext);
         }
         callbacks.afterContextsDestroyed();
  
positive.code:   /// The scheduler used to create analysis contexts, and report status.
    final AnalysisDriverScheduler _scheduler;
  
    /// The current set of analysis contexts.
    AnalysisContextCollectionImpl _collection;
  
    /// The context used to work with file system paths.
    path.Context pathContext;
  
negative.code: // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
  // for details. All rights reserved. Use of this source code is governed by a
  // BSD-style license that can be found in the LICENSE file.
  
  import 'dart:async';
  import 'dart:collection';
  