To facilitate interfacing with non-generic legacy code, it is also possible to use as
a type the erasure (§4.6) of a parameterized type (§4.5). Such a type is called a
raw type.
More precisely, a raw type is define to be either:
• The name of a generic type declaration used without any accompanying
actual type parameters.
• Any non-static type member of a raw type R that is not inherited from a super-
class or superinterface of R.