public List<R> scanForResourcesUri(URI classpathResourceUri) {
        requireNonNull(classpathResourceUri, "classpathResourceUri must not be null");
        if (CLASSPATH_SCHEME.equals(classpathResourceUri.getScheme())) {
            return scanForClasspathResource(resourceName(classpathResourceUri), NULL_FILTER);
        }

        return findResourcesForUri(classpathResourceUri, DEFAULT_PACKAGE_NAME, NULL_FILTER, createUriResource());
    }
@Test
    void scanForResourcesJarUriMissingEntry() {
        URI jarFileUri = new File("src/test/resources/io/cucumber/core/resource/test/jar-resource.jar").toURI();
        URI resourceUri = URI.create("jar:file://" + jarFileUri.getSchemeSpecificPart() + "");
        IllegalArgumentException exception = assertThrows(
            IllegalArgumentException.class,
            () -> resourceScanner.scanForResourcesUri(resourceUri));
        assertThat(exception.getMessage(),
            containsString("jar uri '" + resourceUri + "' must contain '!/'"));
    }