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:           var rootFolder = analysisContext.contextRoot.root;
            driverMap[rootFolder] = driver;
  
            var watcher = rootFolder.watch();
            watchers.add(watcher);
            changeSubscriptions[rootFolder] = watcher.changes
                .listen(_handleWatchEvent, onError: _handleWatchInterruption);
  
            _watchBazelFilesIfNeeded(rootFolder, driver);
  
  
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);
        }
  