docs: private static List<Field> getAllFields(Class type) {
  		final List<Field> fields = new ArrayList<>();
  		for (Class<?> c = type; c != null; c = c.getSuperclass()) {
  			fields.addAll(Arrays.asList(c.getDeclaredFields()));
  		}
  		return fields;
  	}