in src/main/java/org/apache/sling/servlets/resolver/internal/bundle/BundledScriptTracker.java [742:763]
private void collectInheritanceChain(
@NotNull Set<TypeProvider> providers,
@NotNull BundleWiring wiring,
@NotNull String extendedResourceType,
@NotNull Map<BundleCapability, BundledRenderUnitCapability> cache) {
for (BundleWire wire : wiring.getRequiredWires(NS_SLING_SERVLET)) {
BundledRenderUnitCapability wiredCapability =
cache.computeIfAbsent(wire.getCapability(), BundledRenderUnitCapabilityImpl::fromBundleCapability);
if (wiredCapability.getSelectors().isEmpty()) {
for (ResourceType resourceType : wiredCapability.getResourceTypes()) {
if (extendedResourceType.equals(resourceType.getType())) {
Bundle providingBundle = wire.getProvider().getBundle();
providers.add(new TypeProviderImpl(wiredCapability, providingBundle));
String wiredExtends = wiredCapability.getExtendedResourceType();
if (wiredExtends != null) {
collectInheritanceChain(providers, wire.getProviderWiring(), wiredExtends, cache);
}
}
}
}
}
}