identifyServiceInterfaces(clazz.getSuperclass(), serviceInterfaces);
return serviceInterfaces;
}
private <T extends Service> void put(ServiceRegistry registry, Class<T> key, Service value) {
Service previous = registry.get(key);
if (previous == null) {
BootstrapLogger.LOG.debugv("Installing additional service {0} ({1})", key.getName(), value.getClass());
registry.add(key, Reflections.cast(value));
} else if (shouldOverride(key, previous, value)) {
BootstrapLogger.LOG.debugv("Overriding service implementation for {0}. Previous implementation {1} is replaced with {2}", key.getName(), previous
.getClass().getName(), value.getClass().getName());
registry.add(key, Reflections.cast(value));
}
}