anchor.diff:    void _destroyAnalysisContext(DriverBasedAnalysisContext context) {
       context.driver.dispose();
       var rootFolder = context.contextRoot.root;
  -    changeSubscriptions.remove(rootFolder)?.cancel();
       var watched = bazelWatchedPathsPerFolder.remove(rootFolder);
       if (watched != null) {
         for (var path in watched.paths) {
  
positive.code:   final Map<Folder, AnalysisDriver> driverMap =
        HashMap<Folder, AnalysisDriver>();
  
    /// Stream subscription we are using to watch each analysis root directory for
    /// changes.
    final Map<Folder, StreamSubscription<WatchEvent>> changeSubscriptions =
        <Folder, StreamSubscription<WatchEvent>>{};
  
    /// For each folder, stores the subscription to the Bazel workspace so that we
    /// can establish watches for the generated files.
  
negative.code:   void _destroyAnalysisContexts() {
      var collection = _collection;
      if (collection != null) {
        for (final subscription in watcherSubscriptions) {
          subscription.cancel();
        }
        for (var analysisContext in collection.contexts) {
          _destroyAnalysisContext(analysisContext);
        }
  