Implementation that will accept arbitrary (but unique) String Ids on
deserialization, and (by default) use random UUID generation similar
to ObjectIdGenerators.UUIDGenerator for generation ids.
Method called to check whether this generator instance can
be used for Object Ids of specific generator type and
scope; determination is based by passing a configured
"blueprint" (prototype) instance; from which the actual
instances are created (using newForSerialization(java.lang.Object)).