anchor.diff:    // our memory consumption.
     static final int MAX_CONTEXTS = 5;
   
  -  Map<Project, ProjectAnalyzer> _contextMap = {};
     Map<Project, Completer> _contextCompleters = {};
   
     List<ProjectAnalyzer> _recentContexts = [];
  
positive.code:   }
  
    Future disposeProjectAnalyzer(Project project) {
      ProjectAnalyzer context = _contextMap.remove(project);
  
      Completer completer = _contextCompleters.remove(project);
      if (!completer.isCompleted) {
        completer.completeError('context deleted before construction finished');
      }
  
      if (context != null) {
        _logger.info('disposed analysis context [${project.name}]');
  
        _recentContexts.remove(context);
        return _sendAction('disposeContext', {'contextId': project.uuid});
      } else {
        return new Future.value();
      }
    }
  
    PackageManager getPackageManager() => services._packageManager;
  
negative.code:       _contextCompleters.containsKey(project);
  
    Future<ProjectAnalyzer> getCreateProjectAnalyzer(Project project) {
      Completer completer = _contextCompleters[project];
  
      if (completer == null) {
  