docs: public static List<Field> getFields(Class<?> startClass) {
          List<Field> currentClassFields = new ArrayList<Field>();
          currentClassFields.addAll(Arrays.asList(startClass.getDeclaredFields()));
          Class<?> parentClass = startClass.getSuperclass();
          if (parentClass != null) {
              List<Field> parentClassFields = (List<Field>) getFields(parentClass);
              currentClassFields.addAll(parentClassFields);
          }
          return currentClassFields;
      }