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