anchor.diff:        var stylesheet = importCache.importCanonical(importer, canonicalUrl, url);
         if (stylesheet == null) return null;
   
  -      var active = new Set<Uri>.from([canonicalUrl]);
  -      return new _StylesheetNode(
  -          stylesheet,
  -          importer,
  -          canonicalUrl,
  -          findImports(stylesheet)
  -              .map((import) => _nodeFor(
  -                  Uri.parse(import.url), importer, canonicalUrl, active))
  -              .where((node) => node != null));
  +      return new _StylesheetNode(stylesheet, importer, canonicalUrl,
  +          _upstreamNodes(stylesheet, importer, canonicalUrl));
       });
  +  }
  +
  +  /// Returns a map from non-canonicalized imported URLs in [stylesheet], which
  +  /// appears within [baseUrl] imported by [baseImporter].
  +  Map<Uri, _StylesheetNode> _upstreamNodes(
  +      Stylesheet stylesheet, Importer baseImporter, Uri baseUrl) {
  +    var active = new Set<Uri>.from([baseUrl]);
  +    var upstream = <Uri, _StylesheetNode>{};
  +    for (var import in findImports(stylesheet)) {
  +      var url = Uri.parse(import.url);
  +      upstream[url] = _nodeFor(url, baseImporter, baseUrl, active);
  +    }
  +    return upstream;
     }
   
     /// Returns the [StylesheetNode] for the stylesheet at the given [url], which
  
positive.code:   /// The canonical URL of [stylesheet].
    final Uri canonicalUrl;
  
    /// The stylesheets that [stylesheet] imports.
    final List<_StylesheetNode> upstream;
  
    /// The stylesheets that import [stylesheet].
    ///
  
negative.code:     if (stylesheet == null) return null;
  
      active.add(canonicalUrl);
      var node = new _StylesheetNode(stylesheet, importer, canonicalUrl,
          _upstreamNodes(stylesheet, importer, canonicalUrl));
      active.remove(canonicalUrl);
      _nodes[canonicalUrl] = node;
      return node;
  