So once we have the class of element or key, value, we can create generic type for containers (List, Set, Collection, Iterable) and Map.
Proposed factory method:
public static Type listOf(Class<?> elementType);
public static Type setOf(Class<?> elementType);
public static Type collectionOf(Class<?> elementType);
public static Type IterableOf(Class<?> elementType);
public static Type mapOf(Class<?> keyType, Class<?> valType);
So once we have the class of element or key, value, we can create generic type for containers (List, Set, Collection, Iterable) and Map.
Proposed factory method: