Make sure to supply Kryo serializable set to constructor

Change-Id: Ida776fc3e7fbcacb604ae578865f2a280970101c
diff --git a/core/store/dist/src/main/java/org/onosproject/store/resource/impl/GenericDiscreteResources.java b/core/store/dist/src/main/java/org/onosproject/store/resource/impl/GenericDiscreteResources.java
index ca6728f..1f0f62d 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/resource/impl/GenericDiscreteResources.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/resource/impl/GenericDiscreteResources.java
@@ -16,7 +16,6 @@
 package org.onosproject.store.resource.impl;
 
 import com.google.common.base.MoreObjects;
-import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Sets;
 
 import org.onosproject.net.resource.DiscreteResource;
@@ -41,7 +40,7 @@
     }
 
     private GenericDiscreteResources(Set<DiscreteResource> values) {
-        this.values = ImmutableSet.copyOf(values);
+        this.values = values;
     }
 
     // for serializer
@@ -62,7 +61,8 @@
     @Override
     public DiscreteResources difference(DiscreteResources other) {
         if (other instanceof GenericDiscreteResources) {
-            return of(Sets.difference(this.values(), other.values()));
+            // make sure that the set is serializable
+            return of(new LinkedHashSet<>(Sets.difference(this.values(), other.values())));
         } else if (other instanceof EmptyDiscreteResources) {
             return this;
         }
@@ -84,7 +84,8 @@
     @Override
     public DiscreteResources add(DiscreteResources other) {
         if (other instanceof GenericDiscreteResources) {
-            return new GenericDiscreteResources(Sets.union(this.values(), other.values()));
+            // make sure that the set is serializable
+            return of(new LinkedHashSet<>(Sets.union(this.values(), other.values())));
         } else if (other instanceof EmptyDiscreteResources) {
             return this;
         }