@Override
  public boolean equalsIgnoreCase(@Nullable Url o) {
    if (this == o) return true;
    if (!(o instanceof UrlImpl url)) return false;

    return StringUtil.equalsIgnoreCase(scheme, url.scheme) &&
           StringUtil.equalsIgnoreCase(authority, url.authority) &&
           getPath().equalsIgnoreCase(url.getPath()) &&
           StringUtil.equalsIgnoreCase(parameters, url.parameters);
  }
@Override
  public boolean equalsIgnoreCase(@Nullable Url o)