docs: @SuppressWarnings("serial")
      public static Type forGenericSuperclass(final Class<?> type) {
          return forTypeProvider(new DefaultTypeProvider() {
              @Override
              public Type getType() {
                  return type.getGenericSuperclass();
              }
          });
      }