SLING-7517 - fix fake request object memory leak for interface-based models.
diff --git a/src/main/java/org/apache/sling/models/impl/ModelAdapterFactory.java b/src/main/java/org/apache/sling/models/impl/ModelAdapterFactory.java
index 9fcdb12..3f50ad8 100644
--- a/src/main/java/org/apache/sling/models/impl/ModelAdapterFactory.java
+++ b/src/main/java/org/apache/sling/models/impl/ModelAdapterFactory.java
@@ -606,8 +606,9 @@
         if (!registry.callbacks.isEmpty()) {
             registry.seal();
 
-            if (adaptable instanceof ServletRequest) {
-                registerRequestCallbackRegistry((ServletRequest) adaptable, registry);
+            if (adaptable instanceof SlingHttpServletRequest &&
+                    ((SlingHttpServletRequest) adaptable).getAttribute(REQUEST_MARKER_ATTRIBUTE) == REQUEST_MARKER_VALUE) {
+                registerRequestCallbackRegistry((SlingHttpServletRequest) adaptable, registry);
             } else {
                 registerCallbackRegistry(handler, registry);
             }