anchor.diff:     */
     @visibleForTesting
     Package getUnlinkedForUri(Uri uri) {
  -    Folder outputFolder = getOutputFolder(uri);
  -    if (outputFolder != null) {
  -      String uriStr = uri.toString();
  -      List<Package> packages = _getUnlinkedPackages(outputFolder);
  -      for (Package package in packages) {
  -        if (package._unitUris.contains(uriStr)) {
  -          return package;
  -        }
  -      }
  -    }
  -    return null;
  +    return uriToPackageMap.putIfAbsent(uri, () {
  +      Folder outputFolder = getOutputFolder(uri);
  +      if (outputFolder != null) {
  +        String uriStr = uri.toString();
  +        List<Package> packages = _getUnlinkedPackages(outputFolder);
  +        for (Package package in packages) {
  +          if (package._unitUris.contains(uriStr)) {
  +            return package;
  +          }
  +        }
  +      }
  +      return null;
  +    });
     }
   
     /**
  
positive.code:    * bundle that contains [uri].
     */
    _LinkNode _getLinkNodeForUri(Uri uri) {
      return uriToNodeMap.putIfAbsent(uri, () {
        Package package = getUnlinkedForUri(uri);
        if (package == null) {
          return null;
        }
  
negative.code:   final Map<Folder, List<Package>> folderToPackagesMap = {};
  
    /**
     * Mapping from [Uri]s to corresponding [Package]s.
     */
    final Map<Uri, Package> uriToPackageMap = {};
  
    /**
     * Mapping from [Package]s to corresponding [_LinkNode]s.
     */
    final Map<Package, _LinkNode> packageToNodeMap = {};
  
    SummaryProvider(this.provider, this.getOutputFolder, AnalysisContext context)
        : context = context,
  