private void collectInheritanceChain()

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);
                        }
                    }
                }
            }
        }
    }