docs: public static Optional<Class> resolveSuperGenericTypeArgument(Class type) {
          try {
              Type genericSuperclass = type.getGenericSuperclass();
              if (genericSuperclass instanceof ParameterizedType) {
                  return resolveSingleTypeArgument(genericSuperclass);
              }
              return Optional.empty();
          } catch (NoClassDefFoundError e) {
              return Optional.empty();
          }
      }