anchor.diff:    Future<List<SearchMatch>> searchTopLevelDeclarations(String pattern) async {
       List<SearchMatch> allDeclarations = [];
       RegExp regExp = new RegExp(pattern);
  -    for (AnalysisDriver driver in _drivers) {
  +    List<AnalysisDriver> drivers = _drivers.toList();
  +    for (AnalysisDriver driver in drivers) {
         List<Element> elements = await driver.search.topLevelElements(regExp);
         allDeclarations.addAll(elements.map(_SearchMatch.forElement));
       }
  
positive.code: 
    Future<List<SearchResult>> _searchDirectSubtypes(ClassElement type) async {
      List<SearchResult> allResults = [];
      for (AnalysisDriver driver in _drivers) {
        List<SearchResult> results = await driver.search.subTypes(type);
        allResults.addAll(results);
      }
  
negative.code:   @override
    Future<List<SearchMatch>> searchReferences(Element element) async {
      List<SearchResult> allResults = [];
      List<AnalysisDriver> drivers = _drivers.toList();
      for (AnalysisDriver driver in drivers) {
        List<SearchResult> results = await driver.search.references(element);
        allResults.addAll(results);
      }
  