code: private static List<Field> getAllFieldsRec(Class clazz, List<Field> fieldList) {
          Class superClazz = clazz.getSuperclass();
          if (superClazz != null) {
              getAllFieldsRec(superClazz, fieldList);
          }
          fieldList.addAll(ArrayUtil.toList(clazz.getDeclaredFields(), Field.class));
          return fieldList;
      }
docs: recursive method.