Revert back to a single adaptable.
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;

     }