public static Set<ConfigKey<?>> getAllConfigsProduced(Class<? extends ConfigProducer> producerClass, String configId) {
        // TypeToken is @Beta in guava, so consider implementing a simple recursive method instead.
        TypeToken<? extends ConfigProducer>.TypeSet interfaces = TypeToken.of(producerClass).getTypes().interfaces();
        return interfaces.rawTypes().stream()
                .filter(ReflectionUtil::isConcreteProducer)
                .map(i -> createConfigKeyFromInstance(i.getEnclosingClass(), configId))
                .collect(Collectors.toCollection(() -> new LinkedHashSet<>()));
    }
Utility class containing static methods for retrieving information about the config producer tree.

@author Ulf Lilleengen
@author bjorncs
@author gjoranv
config-model/src/main/java/com/yahoo/vespa/model/utils/internal/ReflectionUtil.java