src/main/java/de/javakaffee/kryoserializers/guava/ImmutableSetSerializer.java
public static void registerSerializers(final Kryo kryo) {

        // ImmutableList (abstract class)
        //  +- EmptyImmutableSet
        //  |   EmptyImmutableSet
        //  +- SingletonImmutableSet
        //  |   Optimized for Set with only 1 element.
        //  +- RegularImmutableSet
        //  |   RegularImmutableList
        //  +- EnumImmutableSet
        //  |   EnumImmutableSet

        final ImmutableSetSerializer serializer = new ImmutableSetSerializer();

        kryo.register(ImmutableSet.class, serializer);

        // Note:
        //  Only registering above is good enough for serializing/deserializing.
        //  but if using Kryo#copy, following is required.

        kryo.register(ImmutableSet.of().getClass(), serializer);
        kryo.register(ImmutableSet.of(1).getClass(), serializer);
        kryo.register(ImmutableSet.of(1,2,3).getClass(), serializer);

        kryo.register(Sets.immutableEnumSet(SomeEnum.A, SomeEnum.B, SomeEnum.C).getClass(), serializer);
    }
public static void registerSerializers(final Kryo kryo) {

        // ImmutableList (abstract class)
        //  +- EmptyImmutableSet
        //  |   EmptyImmutableSet
        //  +- SingletonImmutableSet
        //  |   Optimized for Set with only 1 element.
        //  +- RegularImmutableSet
        //  |   RegularImmutableList
        //  +- EnumImmutableSet
        //  |   EnumImmutableSet

        final ImmutableSetSerializer serializer = new ImmutableSetSerializer();

        kryo.register(ImmutableSet.class, serializer);

        // Note:
        //  Only registering above is good enough for serializing/deserializing.
        //  but if using Kryo#copy, following is required.

        kryo.register(ImmutableSet.of().getClass(), serializer);
        kryo.register(ImmutableSet.of(1).getClass(), serializer);
        kryo.register(ImmutableSet.of(1,2,3).getClass(), serializer);

        kryo.register(Sets.immutableEnumSet(SomeEnum.A, SomeEnum.B, SomeEnum.C).getClass(), serializer);
    }
public static void registerSerializers ( final Kryo kryo ) { // ImmutableList (abstract class) //  +- EmptyImmutableSet //  |   EmptyImmutableSet //  +- SingletonImmutableSet //  |   Optimized for Set with only 1 element. //  +- RegularImmutableSet //  |   RegularImmutableList //  +- EnumImmutableSet //  |   EnumImmutableSet final ImmutableSetSerializer serializer = new ImmutableSetSerializer ( ) ; kryo . register ( ImmutableSet . class , serializer ) ; // Note: //  Only registering above is good enough for serializing/deserializing. //  but if using Kryo#copy, following is required. kryo . register ( ImmutableSet . of ( ) . getClass ( ) , serializer ) ; kryo . register ( ImmutableSet . of ( 1 ) . getClass ( ) , serializer ) ; kryo . register ( ImmutableSet . of ( 1 , 2 , 3 ) . getClass ( ) , serializer ) ; kryo . register ( Sets . immutableEnumSet ( SomeEnum . A , SomeEnum . B , SomeEnum . C ) . getClass ( ) , serializer ) ; }
Creates a new {@link ImmutableSetSerializer} and registers its serializer
for the several ImmutableSet related classes.

@param kryo the {@link Kryo} instance to set the serializer on
Creates a new { @link ImmutableSetSerializer } and registers its serializer for the several ImmutableSet related classes .