anchor.diff:  import 'package:analyzer/src/generated/ast.dart';
   import 'package:analyzer/src/generated/element.dart';
   import 'package:analyzer/src/generated/engine.dart'
  -    hide AnalysisContextImpl, AnalysisTask;
  +    hide AnalysisCache, AnalysisContextImpl, AnalysisTask;
   import 'package:analyzer/src/generated/java_engine.dart';
   import 'package:analyzer/src/generated/source.dart';
   import 'package:analyzer/src/generated/utilities_collection.dart';
   import 'package:analyzer/src/generated/utilities_general.dart';
   import 'package:analyzer/src/task/dart.dart';
  +import 'package:analyzer/src/task/html.dart';
   import 'package:analyzer/task/dart.dart';
  +import 'package:analyzer/task/general.dart';
  +import 'package:analyzer/task/html.dart';
   import 'package:analyzer/task/model.dart';
   import 'package:plugin/plugin.dart';
   
  
positive.code:             CONTEXT_QUERY_PARAM: folder.path,
              SOURCE_QUERY_PARAM: sourceUri
            };
            List<ResultDescriptor> results = entry.nonInvalidResults;
            results.sort((ResultDescriptor first, ResultDescriptor second) =>
                first.toString().compareTo(second.toString()));
  
  
negative.code:           buffer.write(entry.modificationTime);
            buffer.write('</dd>');
            for (ResultDescriptor result in results) {
              CacheState state = entry.getState(result);
              String descriptorName = HTML_ESCAPE.convert(result.toString());
              String descriptorState = HTML_ESCAPE.convert(state.toString());
              buffer.write('<dt>$descriptorName ($descriptorState)</dt><dd>');
              if (state == CacheState.VALID) {
                try {
                  _writeValueAsHtml(buffer, entry.getValue(result), linkParameters);
                } catch (exception) {
                  buffer.write('(${HTML_ESCAPE.convert(exception.toString())})');
                }
              }
              buffer.write('</dd>');
            }
  