A parameterized type may be an parameterization of a generic class or interface which
is nested. For example, if a non-generic class C has a generic member class D, then
C.D is a parameterized type. And if a generic class C has a non-generic
member class D, then the member type C.D is a parameterized type, even though
the class D is not generic.