public static @NotNull List<Field> collectFields(@NotNull Class<?> clazz) {
    List<Field> result = new ArrayList<>();
    for (Class<?> c : JBIterableClassTraverser.classTraverser(clazz)) {
      Collections.addAll(result, c.getDeclaredFields());
    }
    return result;
  }
public static @NotNull List<Field> collectFields(@NotNull Class<?> clazz)