in core/src/main/java/org/apache/sling/testing/mock/sling/context/ModelAdapterFactoryUtil.java [137:153]
private static Collection<URL> getModelClassUrlsForPackages(String packageNames) {
List<URL> urls = MODEL_URLS_FOR_PACKAGES.get(packageNames);
if (urls == null) {
urls = new ArrayList<URL>();
// add "." to each package name because it's a prefix, not a package name
ConfigurationBuilder reflectionsConfig = new ConfigurationBuilder();
Stream.of(StringUtils.split(packageNames, ","))
.forEach(packageName -> reflectionsConfig.addUrls(ClasspathHelper.forPackage(packageName + ".")));
Reflections reflections = new Reflections(reflectionsConfig);
Set<Class<?>> classes = reflections.getTypesAnnotatedWith(Model.class);
for (Class<?> clazz : classes) {
urls.add(classToUrl(clazz));
}
MODEL_URLS_FOR_PACKAGES.putIfAbsent(packageNames, urls);
}
return urls;
}