Since generics were introduced, Class is parametrized, so that List.class produces Class. This is clear.
What I am not able to figure out is how to get a in
Classes represent classes loaded by a class loader, which are raw types. To represent a parameterized type, use java.lang.reflect.ParameterizedType.