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/DiscreteResources.java b/core/store/dist/src/main/java/org/onosproject/store/resource/impl/DiscreteResources.java
index b6acccc..3bb1f07 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/resource/impl/DiscreteResources.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/resource/impl/DiscreteResources.java
@@ -91,4 +91,13 @@
      * @return all resources
      */
     Set<DiscreteResource> values();
+
+    /**
+     * Returns all of resources this instance holds and filtered by the specified type.
+     *
+     * @param cls class instance of the resource value
+     * @param <T> type of the resource value
+     * @return all of resources this instance holds and filtered by the specified type
+     */
+    <T> Set<DiscreteResource> valuesOf(Class<T> cls);
 }