Avoid unnecessary allocations needed to convert List to Set

Change-Id: I80b0bcf31f625f8e151155880075c888a0cf1c1d
diff --git a/core/store/dist/src/main/java/org/onosproject/store/resource/impl/TransactionalDiscreteResourceSubStore.java b/core/store/dist/src/main/java/org/onosproject/store/resource/impl/TransactionalDiscreteResourceSubStore.java
index e98cb20..d2cecb0 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/resource/impl/TransactionalDiscreteResourceSubStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/resource/impl/TransactionalDiscreteResourceSubStore.java
@@ -24,9 +24,8 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.util.LinkedHashSet;
-import java.util.List;
 import java.util.Optional;
+import java.util.Set;
 
 import static org.onosproject.store.resource.impl.ConsistentResourceStore.SERIALIZER;
 
@@ -54,13 +53,13 @@
         return values.lookup(id);
     }
 
-    boolean register(DiscreteResourceId key, List<DiscreteResource> values) {
+    boolean register(DiscreteResourceId key, Set<DiscreteResource> values) {
         // short-circuit: receiving empty resource is regarded as success
         if (values.isEmpty()) {
             return true;
         }
 
-        DiscreteResources requested = DiscreteResources.of(new LinkedHashSet<>(values));
+        DiscreteResources requested = DiscreteResources.of(values);
         DiscreteResources oldValues = childMap.putIfAbsent(key, requested);
         if (oldValues == null) {
             return true;
@@ -77,7 +76,7 @@
         return childMap.replace(key, oldValues, newValues);
     }
 
-    boolean unregister(DiscreteResourceId key, List<DiscreteResource> values) {
+    boolean unregister(DiscreteResourceId key, Set<DiscreteResource> values) {
         // short-circuit: receiving empty resource is regarded as success
         if (values.isEmpty()) {
             return true;