public static void initialize(FileSystemProvider provider,
                                String providerClassName,
                                String pathClassName,
                                String mountedFSPrefix,
                                String filesystemClassName,
                                @Nullable Class<? extends CoreRoutingFileSystemDelegate> routingFilesystemDelegateClass,
                                boolean initializeMountedFSProvider) throws IOException {
    // Now we can use our provider. Initializing in such a hacky way because of different classloaders.
    Map<String, Object> map = new HashMap<>();
    map.put(INITIALIZATION_KEY, true);
    map.put(INITIALIZATION_MOUNTED_FS_PROVIDER_KEY, initializeMountedFSProvider);
    map.put(PROVIDER_CLASS_NAME, providerClassName);
    map.put(PATH_CLASS_NAME, pathClassName);
    map.put(MOUNTED_FS_PREFIX, mountedFSPrefix);
    map.put(FILESYSTEM_CLASS_NAME, filesystemClassName);
    map.put(ROUTING_FILESYSTEM_DELEGATE_CLASS, routingFilesystemDelegateClass);
    //noinspection resource
    provider.newFileSystem(URI.create("file:///"), map);
  }
public static void initialize(FileSystemProvider provider,
                                String providerClassName,
                                String pathClassName,
                                String mountedFSPrefix,
                                String filesystemClassName,
                                @Nullable Class<? extends CoreRoutingFileSystemDelegate> routingFilesystemDelegateClass,
                                boolean initializeMountedFSProvider)