anchor.diff:      requireArgumentNotNull(task, 'task');
       requireArgument(!context.isDisposed, 'context', 'cannot be disposed');
   
  +    final start = new DateTime.now();
  +    context.finest('Started at $start');
  +
       return task.run(context)
           .then((bool didComplete) {
             if(didComplete == null) {
  
positive.code: 
        final task = _state._getTask(taskName);
        return runTask(subCtx, task)
            .then((RunResult result) => _logExitCode(ctx, result))
            .whenComplete(() => subCtx.dispose());
  
      } else if(_args.rest.length == 0) {
        _printHelp(_state);
  
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();
          });
    }
  
  