public Registration getRegistration(final Class clazz) {
            if (IoX.class.isAssignableFrom(clazz)) {
                final Registration registration = super.getRegistration(DetachedVertex.class);
                return new Registration(registration.getType(), ioXToVertexSerializer, registration.getId());
            } else if (IoY.class.isAssignableFrom(clazz)) {
                final Registration registration = super.getRegistration(HashMap.class);
                return new Registration(registration.getType(), ioYToHashMapSerializer, registration.getId());
            } else {
                return super.getRegistration(clazz);
            }
        }
A custom {@code ClassResolver} that alters the {@code Registration} returned to Kryo when an {@link IoX} class
is requested, coercing it to a totally different class (a {@link DetachedVertex}).  This coercion demonstrates
how a TinkerPop provider might take a custom internal class and serialize it into something core to
TinkerPop which then removes the requirement for providers to expose serializers on the client side for user
consumption.
gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoMapperTest.java