in src/main/java/org/apache/sling/caconfig/impl/ConfigurationBuilderImpl.java [169:197]
private <T> Collection<T> getConfigResourceCollection(String configName, Class<T> clazz, Converter<T> converter) {
if (this.contentResource != null) {
validateConfigurationName(configName);
// get all possible colection parent config names
Collection<String> collectionParentConfigNames =
configurationPersistenceStrategy.getAllCollectionParentConfigNames(configName);
List<Iterator<Resource>> resourceInheritanceChains = new ArrayList<>();
for (String collectionParentConfigName : collectionParentConfigNames) {
Collection<Iterator<Resource>> result =
this.configurationResourceResolvingStrategy.getResourceCollectionInheritanceChain(
this.contentResource, configBucketNames, collectionParentConfigName);
if (result != null) {
resourceInheritanceChains.addAll(result);
}
}
final Collection<T> result = new ArrayList<>();
for (final Iterator<Resource> resourceInheritanceChain : resourceInheritanceChains) {
final T obj = convert(resourceInheritanceChain, clazz, converter, configName, true);
if (obj != null) {
result.add(obj);
}
}
return result;
} else {
return Collections.emptyList();
}
}