in src/main/java/org/apache/sling/junit/jupiter/osgi/impl/ReflectionHelper.java [78:94]
private static ParameterizedType findParameterizedTypeForBaseClass(Class<?> baseClass, Class<?> clazz) {
Class<?> superclass = clazz.getSuperclass();
// Abort?
if (superclass == null || superclass == Object.class) {
return null;
}
Type genericSuperclass = clazz.getGenericSuperclass();
if (genericSuperclass instanceof ParameterizedType) {
Type rawType = ((ParameterizedType) genericSuperclass).getRawType();
if (rawType == baseClass) {
return ((ParameterizedType) genericSuperclass);
}
}
return findParameterizedTypeForBaseClass(baseClass, superclass);
}