@Override
  public boolean equals(Object o) {
    if (this == o) return true;
    if (!(o instanceof UrlImpl url)) return false;

    return StringUtil.equals(scheme, url.scheme) && StringUtil.equals(authority, url.authority) && getPath().equals(url.getPath()) && StringUtil.equals(parameters, url.parameters);
  }
@Override
  public boolean equals(Object o)