private List<Class<?>> scanForClassesInPackage(String packageName, Predicate<Class<?>> classFilter) {
        requireValidPackageName(packageName);
        requireNonNull(classFilter, "classFilter must not be null");
        List<URI> rootUris = getUrisForPackage(getClassLoader(), packageName);
        return findClassesForUris(rootUris, packageName, classFilter);
    }
@Test
    void scanForResourcesInUnsupportedFileSystem(LogRecordListener logRecordListener) throws IOException {
        ClassLoader classLoader = mock(ClassLoader.class);
        ClasspathScanner scanner = new ClasspathScanner(() -> classLoader);
        URLStreamHandler handler = new URLStreamHandler() {
            @Override
            protected URLConnection openConnection(URL u) {
                return null;
            }
        };
        URL resourceUrl = new URL(null, "bundle-resource:com/cucumber/bundle", handler);
        when(classLoader.getResources("com/cucumber/bundle")).thenReturn(enumeration(singletonList(resourceUrl)));
        assertThat(scanner.scanForClassesInPackage("com.cucumber.bundle"), empty());
        assertThat(logRecordListener.getLogRecords().get(0).getMessage(),
            containsString("Failed to find resources for 'bundle-resource:com/cucumber/bundle'"));
    }