TypeVariableImpl

getBounds

Returns an array of Type objects representing the upper bound(s) of this
type variable. Note that if no upper bound is explicitly declared, the
upper bound is Object.
For each upper bound B:
if B is a parameterized type or a type variable, it is created, (see
ParameterizedType for the details of the creation process for
parameterized types). Otherwise, B is resolved.