docs: @SuppressWarnings({ "unchecked", "rawtypes" })
      protected Class<S> resolveClass(Type type) {
  
          Map<TypeVariable, Type> map = new HashMap<TypeVariable, Type>();
          map.putAll(getTypeVariableMap());
  
          return (Class<S>) ResolvableType.forType(type, new TypeVariableMapVariableResolver(map)).resolve(Object.class);
      }