Make resource retrieval more efficient when specifing resource type

This resolves ONOS-4666

Change-Id: I9d09b60531ca48b36fc20f43498cda62f1badb8b
diff --git a/core/store/dist/src/main/java/org/onosproject/store/resource/impl/UnifiedDiscreteResources.java b/core/store/dist/src/main/java/org/onosproject/store/resource/impl/UnifiedDiscreteResources.java
index 0bd1fca..56e6b87 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/resource/impl/UnifiedDiscreteResources.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/resource/impl/UnifiedDiscreteResources.java
@@ -93,6 +93,11 @@
                 .collect(Collectors.toCollection(LinkedHashSet::new));
     }
 
+    public <T> Set<DiscreteResource> valuesOf(Class<T> cls) {
+        return Stream.concat(encodables.valuesOf(cls).stream(), generics.valuesOf(cls).stream())
+                .collect(Collectors.toCollection(LinkedHashSet::new));
+    }
+
     @Override
     public int hashCode() {
         return Objects.hash(generics, encodables);