Any object can implement this interface to provide its actual
ResolvableType
.
Such information is very useful when figuring out if the instance matches a generic
signature as Java does not convey the signature at runtime.
Users of this interface should be careful in complex hierarchy scenarios, especially
when the generic type signature of the class changes in sub-classes. It is always
possible to return null
to fallback on a default behavior.