anchor.diff:    }
   
     Future<ProjectAnalyzer> _createProjectAnalyzer(Project project) {
  -    if (_contextMap[project] != null) {
  -      return new Future.value(_contextMap[project]);
  -    }
  -
       _logger.info('creating analysis context [${project.name}]');
       Stopwatch timer = new Stopwatch()..start();
   
       ProjectAnalyzer context = new ProjectAnalyzer._(this, project);
  -    _contextMap[project] = context;
       _recentContexts.insert(0, context);
   
       if (_recentContexts.length > MAX_CONTEXTS) {
  
positive.code:       _contextCompleters.containsKey(project);
  
    Future<ProjectAnalyzer> getCreateProjectAnalyzer(Project project) {
      ProjectAnalyzer context = _contextMap[project];
      Completer completer = _contextCompleters[project];
  
      if (completer == null) {
  
negative.code:   }
  
    Future disposeProjectAnalyzer(Project project) {
      Completer completer = _contextCompleters[project];
  
      return completer.future.then((ProjectAnalyzer context) {
        _logger.info('disposed analysis context [${project.name}]');
  
        if (_recentContexts.indexOf(context) >= MAX_CONTEXTS) {
          _recentContexts.remove(context);
          _contextCompleters.remove(completer);
  
          return _sendAction('disposeContext', {'contextId': project.uuid});
        }
      });
    }
  
    PackageManager getPackageManager() => services._packageManager;
  