Please consider adding standard java date, datetime and time classes to the classToType method so that they can be used with "of" generic:
/** Creates a {@code QueryParameterValue} object with the given value and type. */
public static QueryParameterValue of(T value, Class type) {
return of(value, classToType(type));
}