code: public static TypeDescriptor valueOf(Class<?> type) {
  		TypeDescriptor desc = typeDescriptorCache.get(type);
  		return (desc != null ? desc : new TypeDescriptor(type));
  	}
docs: Create a new type descriptor from the given type.
  <p>Use this to instruct the conversion system to convert an object to a
  specific target type, when no type location such as a method parameter or
  field is available to provide additional conversion context.
  <p>Generally prefer use of {@link #forObject(Object)} for constructing type
  descriptors from source objects, as it handles the {@code null} object case.
  @param type the class
  @return the type descriptor