anchor.diff:            _resolvedUnitResult.unit.accept(visitor);
   
             for (var expectedCompletion in visitor.expectedCompletions) {
  +            var resolvedUnitResultWithOverlay = _resolvedUnitResult;
  +
  +            // If an overlay option is being used, compute the overlay file, and
  +            // have the context reanalyze the file
  +            if (overlay != OVERLAY_NONE) {
  +              var overlayContents = _getOverlayContents(
  +                  _resolvedUnitResult.content, expectedCompletion, overlay);
  +
  +              _provider.setOverlay(filePath,
  +                  content: overlayContents,
  +                  modificationStamp: overlayModificationStamp++);
  +              (context as DriverBasedAnalysisContext)
  +                  .driver
  +                  .changeFile(filePath);
  +              resolvedUnitResultWithOverlay =
  +                  await context.currentSession.getResolvedUnit(filePath);
  +            }
  +
               // As this point the completion suggestions are computed,
               // and results are collected with varying settings for
               // comparison:
  
positive.code: import 'package:analyzer/dart/analysis/results.dart';
  import 'package:analyzer/diagnostic/diagnostic.dart';
  import 'package:analyzer/error/error.dart' as err;
  import 'package:analyzer/file_system/physical_file_system.dart';
  import 'package:analyzer/src/generated/engine.dart';
  import 'package:args/args.dart';
  
  
negative.code:             // First we compute the completions useNewRelevance set to
              // false:
              var suggestions = await _computeCompletionSuggestions(
                  resolvedUnitResultWithOverlay,
                  expectedCompletion.offset,
                  metricsOldMode,
                  false);
  