anchor.diff:  
     ProgressJob(String name, Completer completer) : super(name, completer);
   
  -  Future run(ProgressMonitor monitor) {
  +  Future<SparkJobStatus> run(ProgressMonitor monitor) {
       monitor.start(name);
       return _completer.future;
     }
  
positive.code:    * Will schedule a [job] after all other queued jobs. If no [Job] is currently
     * waiting, [job] will run.
     */
    Future schedule(Job job) {
      Completer completer = job.completer;
      _waitingJobs.add(job);
  
  
negative.code:    * progress monitor. When it finishes, it should complete the [Future] that
     * is returned.
     */
    Future<SparkJobStatus> run(ProgressMonitor monitor);
  
    String toString() => name;
  }
  