Represents a type variable.
A type variable may be explicitly declared by a
type parameter of a
type, method, or constructor.
A type variable may also be declared implicitly, as by
the capture conversion of a wildcard type argument
(see chapter 5 of
The Java Language Specification, Third
Edition).