public static Type parameterizeClass(Class<?> clazz, Type... arguments) {
        return TypeFactory.parameterizedClass(clazz, arguments);
    }
Creates a type of class {@code clazz} with {@code arguments} as type arguments.
<p>
For example: {@code parameterizedClass(Map.class, Integer.class, String.class)}
returns the type {@code Map<Integer, String>}.

@param clazz     Type class of the type to create
@param arguments Type arguments for the variables of {@code clazz}, or null if these are not
                 known.
@return A {@link ParameterizedType}, or simply {@code clazz} if {@code arguments} is
{@code null} or empty.
core/src/main/java/org/jdbi/v3/core/generic/GenericTypes.java