private static ParameterizedType findParameterizedTypeForBaseClass()

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