private static CloseablePath open(URI jarUri, Function<FileSystem, Path> pathProvider)
            throws IOException {
        FileSystem fileSystem = openFileSystem(jarUri);
        Path path = pathProvider.apply(fileSystem);
        return CloseablePath.open(path, () -> closeFileSystem(jarUri));
    }
@Test
    void canOpenMultipleConcurrently() throws IOException, URISyntaxException {
        ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
        URI first = getUrisForPackage(classLoader, "io.cucumber").stream()
                .filter(JarUriFileSystemService::supports)
                .findFirst()
                .orElseThrow(IllegalStateException::new);

        CloseablePath path1 = JarUriFileSystemService.open(first);
        FileSystem fileSystem1 = path1.getPath().getFileSystem();

        CloseablePath path2 = JarUriFileSystemService.open(first);
        FileSystem fileSystem2 = path2.getPath().getFileSystem();

        assertThat(fileSystem1, is(fileSystem2));

        path1.close();
        assertTrue(fileSystem1.isOpen());
        assertTrue(fileSystem2.isOpen());

        path2.close();
        assertFalse(fileSystem1.isOpen());
        assertFalse(fileSystem2.isOpen());
    }