private static <E extends Enum<E>> CollectionSchema.MessageFactory newEnumSetFactory(
            final EnumIO<E> eio)
    {
        return new CollectionSchema.MessageFactory()
        {
            @Override
            @SuppressWarnings("unchecked")
            public <V> Collection<V> newMessage()
            {
                return (Collection<V>) eio.newEnumSet();
            }

            @Override
            public Class<?> typeClass()
            {
                return EnumSet.class;
            }
        };
    }
Transfers the {@link Enum} from the input to the output.
protostuff-runtime/src/main/java/io/protostuff/runtime/EnumIO.java