Kryo related fixes

- KryoNamespace to allow control over registration id

Change-Id: Idc2a0e27a09916657c725ee97e4366109144cc66
diff --git a/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/ImmutableSetSerializer.java b/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/ImmutableSetSerializer.java
index f63d17d..bcba7df 100644
--- a/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/ImmutableSetSerializer.java
+++ b/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/ImmutableSetSerializer.java
@@ -18,9 +18,8 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import org.onlab.util.KryoNamespace.FamilySerializer;
-
 import com.esotericsoftware.kryo.Kryo;
+import com.esotericsoftware.kryo.Serializer;
 import com.esotericsoftware.kryo.io.Input;
 import com.esotericsoftware.kryo.io.Output;
 import com.esotericsoftware.kryo.serializers.CollectionSerializer;
@@ -29,7 +28,7 @@
 /**
 * Kryo Serializer for {@link ImmutableSet}.
 */
-public class ImmutableSetSerializer extends FamilySerializer<ImmutableSet<?>> {
+public class ImmutableSetSerializer extends Serializer<ImmutableSet<?>> {
 
     private final CollectionSerializer serializer = new CollectionSerializer();
 
@@ -39,6 +38,7 @@
     public ImmutableSetSerializer() {
         // non-null, immutable
         super(false, true);
+        serializer.setElementsCanBeNull(false);
     }
 
     @Override
@@ -52,12 +52,4 @@
         List<?> elms = kryo.readObject(input, ArrayList.class, serializer);
         return ImmutableSet.copyOf(elms);
     }
-
-    @Override
-    public void registerFamilies(Kryo kryo) {
-        kryo.register(ImmutableSet.of().getClass(), this);
-        kryo.register(ImmutableSet.of(1).getClass(), this);
-        kryo.register(ImmutableSet.of(1, 2).getClass(), this);
-        // TODO register required ImmutableSet variants
-    }
 }