Abstract invalidator of "something". An example would be a global invalidator
for cached constants.
How invalidation is performed is considered to be opaque. To invalidate, call
#invalidate. To get data associated with the invalidation, use getData; the
meaning of this data is Invalidator-implementation-specific. In the case of
JSR-292's SwitchPoint, this would return a SwitchPoint to be used for guarding
e.g. a cached constant value.