anchor.diff:      });
     }
   
  -  Future<List<String>> runLaterPhases() async {
  +  Future<List<String>> runLaterPhases({bool resetProgress = false}) async {
  +    if (resetProgress) {
  +      _progressBar =
  +          _ProgressBar(pathsToProcess.length * (_task.numPhases - 1));
  +    }
  +
       for (var phase = 1; phase < _task.numPhases; phase++) {
         await processResources((ResolvedUnitResult result) async {
           _progressBar.tick();
  
positive.code:     _task = task;
    }
  
    Future<void> runFirstPhase() async {
      // All tasks should be registered; [numPhases] should be finalized.
      _progressBar = _ProgressBar(pathsToProcess.length * _task.numPhases);
  
      // Process package
      _task.processPackage(context.contextRoot.root);
  
negative.code:       return b.offset - a.offset;
      });
      return edits;
    }
  
    static ArgParser createParser({bool hide = true}) {
  