anchor.diff:     */
     Stream<JobManagerEvent> get onChange => _controller.stream;
   
  -  void _scheduleNextJob() {
  -    if (!_waitingJobs.isEmpty) {
  -      Job job = _waitingJobs.removeAt(0);
  -      _runNextJob(job);
  -    }
  -  }
  -
  -  void _runNextJob(Job job) {
  -    _runningJob = job;
  +  void _runNextJob() {
  +    if (_waitingJobs.isEmpty) return;
  +
  +    _runningJob = _waitingJobs.removeAt(0);
   
       Timer.run(() {
         _ProgressMonitorImpl monitor = new _ProgressMonitorImpl(this, _runningJob);
  
positive.code:     _waitingJobs.add(job);
  
      if (!isJobRunning) {
        _scheduleNextJob();
      }
      return completer.future;
    }
  
negative.code:           _jobFinished(_runningJob);
            if (_runningJob != null) _runningJob.done();
            _runningJob = null;
            _runNextJob();
          });
        } catch (e, st) {
          _logger.severe('Error running job ${_runningJob}', e, st);
          _runningJob = null;
          _runNextJob();
        }
      });
    }
  