anchor.diff:  
         final task = _state._getTask(taskName);
         return runTask(subCtx, task)
  -          .then((RunResult result) => _logExitCode(ctx, result))
  -          .whenComplete(() => subCtx.dispose());
  +          .then((RunResult result) => _logExitCode(ctx, result));
   
       } else if(_args.rest.length == 0) {
         _printHelp(_state);
  
positive.code:     requireArgumentNotNull(task, 'task');
      requireArgument(!context.isDisposed, 'context', 'cannot be disposed');
  
      return task.run(context)
          .then((bool didComplete) {
            if(didComplete == null) {
  
negative.code:             }
              return RunResult.EXCEPTION;
            }
          })
          .whenComplete(() {
            final end = new DateTime.now();
            context.finest('Finished at $end');
            final duration = end.difference(start);
            context.fine('Run time: $duration');
            context.dispose();
          });
    }
  
  