@Contract("null -> null; !null -> !null")
  public static @NlsSafe String urlToPath(@Nullable String url) {
    if (url == null) {
      return null;
    }
    if (url.startsWith(FILE_URL_PREFIX)) {
      return url.substring(FILE_URL_PREFIX.length());
    }
    else if (url.startsWith(JAR_URL_PREFIX)) {
      int p = url.lastIndexOf(JAR_SEPARATOR);
      url = p >= 0 ? url.substring(JAR_URL_PREFIX.length(), p) : url.substring(JAR_URL_PREFIX.length());
    }
    return url;
  }
@Contract("null -> null; !null -> !null")
  public static @NlsSafe String urlToPath(@Nullable String url)