Reduce number of Map lookups

Change-Id: I6ea71c120e9143dabdb44dfd86b78f570647eb4b
diff --git a/core/store/dist/src/main/java/org/onosproject/store/resource/impl/EncodableDiscreteResources.java b/core/store/dist/src/main/java/org/onosproject/store/resource/impl/EncodableDiscreteResources.java
index ca4cfca..e5f3834 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/resource/impl/EncodableDiscreteResources.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/resource/impl/EncodableDiscreteResources.java
@@ -26,6 +26,7 @@
 import java.util.LinkedHashMap;
 import java.util.LinkedHashSet;
 import java.util.Map;
+import java.util.Map.Entry;
 import java.util.Objects;
 import java.util.Optional;
 import java.util.Set;
@@ -100,13 +101,14 @@
             EncodableDiscreteResources cast = (EncodableDiscreteResources) other;
 
             Map<Class<?>, EncodedDiscreteResources> newMap = new LinkedHashMap<>();
-            for (Class<?> key : this.map.keySet()) {
-                EncodedDiscreteResources thisValues = this.map.get(key);
-                if (!cast.map.containsKey(key)) {
+            for (Entry<Class<?>, EncodedDiscreteResources> e : this.map.entrySet()) {
+                Class<?> key = e.getKey();
+                EncodedDiscreteResources thisValues = e.getValue();
+                EncodedDiscreteResources otherValues = cast.map.get(key);
+                if (otherValues == null) {
                     newMap.put(key, thisValues);
                     continue;
                 }
-                EncodedDiscreteResources otherValues = cast.map.get(key);
                 EncodedDiscreteResources diff = thisValues.difference(otherValues);
                 // omit empty resources from a new resource set
                 // empty EncodedDiscreteResources can't deserialize due to