Performance improvement in deserialization of EncodableDiscreteResources

Over 1500x faster. This is for ONOS-4698

Before this patch
Benchmark                                   Mode  Cnt     Score   Error  Units
VlanSetSerialize.deserialize_compact_vlans  avgt  200  1681.625 ± 8.937  us/op
VlanSetSerialize.serialize_compact_vlans    avgt  200     1.532 ± 0.017  us/op

After this patch
Benchmark                                   Mode  Cnt  Score   Error  Units
VlanSetSerialize.deserialize_compact_vlans  avgt  200  1.070 ± 0.012  us/op
VlanSetSerialize.serialize_compact_vlans    avgt  200  1.613 ± 0.014  us/op

Change-Id: I2f00f7fbf25ee36555751e0bcff95d06b701f8c8
diff --git a/core/store/dist/src/main/java/org/onosproject/store/resource/impl/EncodedDiscreteResources.java b/core/store/dist/src/main/java/org/onosproject/store/resource/impl/EncodedDiscreteResources.java
index d02e91c..e5bf85a 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/resource/impl/EncodedDiscreteResources.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/resource/impl/EncodedDiscreteResources.java
@@ -76,6 +76,11 @@
                 .collect(Collectors.toCollection(LinkedHashSet::new));
     }
 
+    Class<?> encodedClass() {
+        Range<Integer> firstRange = rangeSet.asRanges().iterator().next();
+        return codec.decode(firstRange.lowerEndpoint()).getClass();
+    }
+
     @SuppressWarnings("unchecked")
     boolean contains(DiscreteResource resource) {
         return resource.valueAs(Object.class)