: all custom implementations are strongly recommended to extend this class, instead of directly implementing
Note that instances created to be constructed from annotations
are always created using no-arguments constructor; protected constructor
is only used sub-classes.
// Standard type id resolvers do not need this: only useful for custom ones.
/* By default we will just defer to regular handling, handing out the
* base type; and since there is no value, must just pass null here
* assuming that implementations can deal with it.
* Alternative would be to pass a bogus Object, but that does not seem right.
instead to get access to contextual information