private static Collection<String> findAllClasses(String packageName) {
        final ConfigurationBuilder configuration = new ConfigurationBuilder()
                .filterInputsBy(filePath -> filePath != null && filePath.endsWith(".class"))
                .setUrls(ClasspathHelper.forPackage(packageName))
                .setScanners(new SubTypesScanner())
                .setMetadataAdapter(new JavaReflectionAdapter());
        final Reflections reflections = new Reflections(configuration);
        return reflections.getStore().get(SubTypesScanner.class.getSimpleName()).values();
    }
Makes sure most builder overrides all overridden methods with the correct return type.
it/builders/src/test/java/com/linecorp/armeria/OverriddenBuilderMethodsReturnTypeTest.java