docs: @Nullable
    public static String getFileNameFromUri(URI uri) {
      if (!uri.getScheme().equals("jar")) {
        return uri.getPath();
      }
  
      try {
        String jarEntryFileName = ((JarURLConnection) uri.toURL().openConnection()).getEntryName();
        // It's possible (though it violates the zip file spec) for paths to zip file entries to use
        // '\' as the separator. Normalize to use '/'.
        jarEntryFileName = BACKSLASH_MATCHER.replaceFrom(jarEntryFileName, '/');
        if (!jarEntryFileName.startsWith("/")) {
          jarEntryFileName = "/" + jarEntryFileName;
        }
        return jarEntryFileName;
      } catch (IOException e) {
        return null;
      }
    }