anchor.diff:    /// Completes after the current build is done, and stops further builds from
     /// happening.
     Future terminate() async {
  -    assert(_runningWatch == true);
  +    assert(_terminating == false);
  +    _terminating = true;
       _logger.info('Terminating watchers, no futher builds will be scheduled.');
       _nextBuildScheduled = false;
  -    _runningWatch = false;
       for (var listener in _allListeners) {
         await listener.cancel();
       }
  
positive.code:   /// Whether or not another build is scheduled.
    bool _nextBuildScheduled;
  
    WatchImpl(
        this._directoryWatcherFactory,
        this._debounceDelay,
  
negative.code: 
      doBuild([bool force = false]) {
        // Don't schedule more builds if we are turning down.
        if (_terminating) return;
  
        if (_currentBuild != null) {
          if (_nextBuildScheduled == false) {
  