in src/main/java/org/apache/sling/caconfig/impl/ConfigurationBuilderImpl.java [158:185]
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();
}
}