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/GenericDiscreteResources.java b/core/store/dist/src/main/java/org/onosproject/store/resource/impl/GenericDiscreteResources.java
index 161f1ff..94e3c62 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
@@ -22,7 +22,6 @@
 import org.onosproject.net.resource.Resources;
 
 import java.util.LinkedHashSet;
-import java.util.List;
 import java.util.Objects;
 import java.util.Optional;
 import java.util.Set;
@@ -68,7 +67,7 @@
     }
 
     @Override
-    public boolean containsAny(List<DiscreteResource> other) {
+    public boolean containsAny(Set<DiscreteResource> other) {
         return other.stream().anyMatch(values::contains);
     }
 
@@ -82,10 +81,8 @@
 
     // returns a new instance, not mutate the current instance
     @Override
-    public DiscreteResources remove(List<DiscreteResource> removed) {
-        Set<DiscreteResource> newValues = new LinkedHashSet<>(this.values);
-        newValues.removeAll(removed);
-        return new GenericDiscreteResources(newValues);
+    public DiscreteResources remove(Set<DiscreteResource> removed) {
+        return of(Sets.difference(this.values, removed));
     }
 
     @Override