public <T> List<Class<? extends T>> scanForSubClassesInPackage(String packageName, Class<T> parentClass) {
        return scanForClassesInPackage(packageName, isSubClassOf(parentClass))
                .stream()
                .map(aClass -> (Class<? extends T>) aClass.asSubclass(parentClass))
                .collect(toList());
    }
@Test
    void scanForSubClassesInPackage() {
        List<Class<? extends ExampleInterface>> classes = scanner.scanForSubClassesInPackage(
            "io.cucumber.core.resource.test",
            ExampleInterface.class);

        assertThat(classes, contains(ExampleClass.class));
    }