in maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/MojoExtension.java [357:370]
public static Map<String, Object> getVariablesAndValuesFromObject(Class<?> clazz, Object object)
throws IllegalAccessException {
Map<String, Object> map = new HashMap<>();
Field[] fields = clazz.getDeclaredFields();
AccessibleObject.setAccessible(fields, true);
for (Field field : fields) {
map.put(field.getName(), field.get(object));
}
Class<?> superclass = clazz.getSuperclass();
if (!Object.class.equals(superclass)) {
map.putAll(getVariablesAndValuesFromObject(superclass, object));
}
return map;
}