public List<R> scanForResourcesInPackage(String packageName, Predicate<String> packageFilter) {
        requireValidPackageName(packageName);
        requireNonNull(packageFilter, "packageFilter must not be null");
        BiFunction<Path, Path, Resource> createResource = createPackageResource(packageName);
        List<URI> rootUrisForPackage = getUrisForPackage(getClassLoader(), packageName);
        return findResourcesForUris(rootUrisForPackage, packageName, packageFilter, createResource);
    }
@Test
    void scanForResourcesInSubPackage() {
        String basePackageName = "io.cucumber.core.resource";
        List<URI> resources = resourceScanner.scanForResourcesInPackage(basePackageName, aPackage -> true);
        assertThat(resources, containsInAnyOrder(
            URI.create("classpath:io/cucumber/core/resource/test/resource.txt"),
            URI.create("classpath:io/cucumber/core/resource/test/other-resource.txt"),
            URI.create("classpath:io/cucumber/core/resource/test/spaces%20in%20name%20resource.txt")));
    }