anchor.diff:    UriData get data => (scheme == "data") ? new UriData.fromUri(this) : null;
   
     String toString() {
  -    if (_text != null) return _text;
  +    return _text ??= _initializeText();
  +  }
  +
  +  String _initializeText() {
  +    assert(_text == null);
       StringBuffer sb = new StringBuffer();
       if (scheme.isNotEmpty) sb..write(scheme)..write(":");
       if (hasAuthority || path.startsWith("//") || (scheme == "file")) {
  
positive.code:   /// To make comparisons more efficient, we cache the value, and
    /// canonicalize a few known types.
    String _schemeCache;
  
    _SimpleUri(
        this._uri,
  
negative.code:     return null;
    }
  
    int get hashCode => _hashCodeCache ??= _uri.hashCode;
  
    bool operator==(Object other) {
      if (identical(this, other)) return true;
  