anchor.diff:    }
   
     int get hashCode {
  -    return (_text ?? toString()).hashCode;
  +    return _hashCodeCache ??= toString().hashCode;
     }
   
     static List _createList() => [];
  
positive.code:     sb.write(path);
      if (_query != null) sb..write("?")..write(_query);
      if (_fragment != null) sb..write("#")..write(_fragment);
      _text = sb.toString();
      return _text;
    }
  
    bool operator==(other) {
  
negative.code:   UriData get data => (scheme == "data") ? new UriData.fromUri(this) : null;
  
    String toString() {
      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")) {
  