diff --git a/src/main/java/org/apache/sling/resource/filter/impl/ResourceFilterAdapter.java b/src/main/java/org/apache/sling/resource/filter/impl/ResourceFilterAdapter.java
index 903447e..6f568ce 100644
--- a/src/main/java/org/apache/sling/resource/filter/impl/ResourceFilterAdapter.java
+++ b/src/main/java/org/apache/sling/resource/filter/impl/ResourceFilterAdapter.java
@@ -20,25 +20,23 @@
 
 import org.apache.sling.api.adapter.AdapterFactory;
 import org.apache.sling.api.resource.Resource;
-import org.apache.sling.resource.filter.ResourcePredicates;
 import org.apache.sling.resource.filter.ResourceFilterStream;
+import org.apache.sling.resource.filter.ResourcePredicates;
 import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
 
 
 @Component(property= {"adaptables=org.apache.sling.api.resource.Resource","adapters=org.apache.sling.resource.filter.ResourceFilterStream"})
 public class ResourceFilterAdapter implements AdapterFactory {
+    
+    @Reference
+    private volatile ResourcePredicates filter;
 
     @SuppressWarnings("unchecked")
     @Override
     public <T> T getAdapter(Object adaptable, Class<T> type) {
         if (adaptable instanceof Resource) {
-            ResourcePredicates filter = new ResourcePredicateImpl();
-            if (type == ResourceFilterStream.class) {
-                return (T) new ResourceFilterStream((Resource)adaptable, filter);
-            }
-            if (type == ResourcePredicates.class) {
-                return (T) filter;
-            }
+            return (T) new ResourceFilterStream((Resource)adaptable, filter);
         }
         return null;
     }
