in core/src/main/java/org/apache/sling/testing/mock/osgi/OsgiServiceUtil.java [385:398]
private static Field getFieldWithAssignableType(Class clazz, String fieldName, Class<?> type) {
Field[] fields = clazz.getDeclaredFields();
for (Field field : fields) {
if (StringUtils.equals(field.getName(), fieldName) && field.getType().isAssignableFrom(type)) {
return field;
}
}
// not found? check super classes
Class<?> superClass = clazz.getSuperclass();
if (superClass != null && superClass != Object.class) {
return getFieldWithAssignableType(superClass, fieldName, type);
}
return null;
}