SLING-11601 use the LazyBindings (#39)

SLING-11601 use the LazyBindings
diff --git a/pom.xml b/pom.xml
index 5ce4e6b..4b7e1ed 100644
--- a/pom.xml
+++ b/pom.xml
@@ -140,7 +140,7 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.api</artifactId>
-            <version>2.4.0</version>
+            <version>2.21.0</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
diff --git a/src/main/java/org/apache/sling/models/impl/ExportServlet.java b/src/main/java/org/apache/sling/models/impl/ExportServlet.java
index 29c980e..736ba10 100644
--- a/src/main/java/org/apache/sling/models/impl/ExportServlet.java
+++ b/src/main/java/org/apache/sling/models/impl/ExportServlet.java
@@ -32,12 +32,13 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.script.SimpleBindings;
+import javax.script.Bindings;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletResponse;
 
 import org.apache.sling.api.SlingHttpServletRequest;
 import org.apache.sling.api.SlingHttpServletResponse;
+import org.apache.sling.api.scripting.LazyBindings;
 import org.apache.sling.api.scripting.SlingBindings;
 import org.apache.sling.api.scripting.SlingScriptHelper;
 import org.apache.sling.api.servlets.SlingSafeMethodsServlet;
@@ -125,7 +126,7 @@
 
     private void addScriptBindings(SlingScriptHelper scriptHelper, SlingHttpServletRequest request, SlingHttpServletResponse response)
             throws IOException {
-        SimpleBindings bindings = new SimpleBindings();
+        Bindings bindings = new LazyBindings();
         bindings.put(SLING, scriptHelper);
         bindings.put(RESOURCE, request.getResource());
         bindings.put(SlingModelsScriptEngineFactory.RESOLVER, request.getResource().getResourceResolver());
diff --git a/src/main/java/org/apache/sling/models/impl/ResourceOverridingRequestWrapper.java b/src/main/java/org/apache/sling/models/impl/ResourceOverridingRequestWrapper.java
index 803e040..c37e588 100644
--- a/src/main/java/org/apache/sling/models/impl/ResourceOverridingRequestWrapper.java
+++ b/src/main/java/org/apache/sling/models/impl/ResourceOverridingRequestWrapper.java
@@ -24,7 +24,7 @@
 import static org.apache.sling.api.scripting.SlingBindings.RESPONSE;
 import static org.apache.sling.api.scripting.SlingBindings.SLING;
 
-import javax.script.SimpleBindings;
+import javax.script.Bindings;
 
 import org.apache.sling.api.SlingHttpServletRequest;
 import org.apache.sling.api.adapter.AdapterManager;
@@ -40,7 +40,7 @@
 
     private final Resource resource;
     private final AdapterManager adapterManager;
-    private final SlingBindings bindings;
+    private final Bindings bindings;
 
     ResourceOverridingRequestWrapper(SlingHttpServletRequest wrappedRequest, Resource resource,
                                             AdapterManager adapterManager, SlingModelsScriptEngineFactory scriptEngineFactory,
@@ -51,7 +51,7 @@
 
         SlingBindings existingBindings = (SlingBindings) wrappedRequest.getAttribute(SlingBindings.class.getName());
 
-        SimpleBindings bindings = new SimpleBindings();
+        bindings = new SlingBindings();
         if (existingBindings != null) {
             bindings.put(SLING, existingBindings.getSling());
             bindings.put(RESPONSE, existingBindings.getResponse());
@@ -64,12 +64,6 @@
         bindings.put(SlingModelsScriptEngineFactory.RESOLVER, resource.getResourceResolver());
 
         scriptEngineFactory.invokeBindingsValuesProviders(bindingsValuesProvidersByContext, bindings);
-
-        SlingBindings slingBindings = new SlingBindings();
-        slingBindings.putAll(bindings);
-
-        this.bindings = slingBindings;
-
     }
 
     @Override
diff --git a/src/main/java/org/apache/sling/models/impl/SlingModelsScriptEngineFactory.java b/src/main/java/org/apache/sling/models/impl/SlingModelsScriptEngineFactory.java
index 0b81609..bd6d40d 100644
--- a/src/main/java/org/apache/sling/models/impl/SlingModelsScriptEngineFactory.java
+++ b/src/main/java/org/apache/sling/models/impl/SlingModelsScriptEngineFactory.java
@@ -23,9 +23,9 @@
 import org.osgi.framework.Bundle;
 import org.osgi.framework.Constants;
 
+import javax.script.Bindings;
 import javax.script.ScriptEngine;
 import javax.script.ScriptEngineFactory;
-import javax.script.SimpleBindings;
 
 import java.util.Arrays;
 import java.util.Collection;
@@ -74,7 +74,7 @@
         return null;
     }
 
-    void invokeBindingsValuesProviders(BindingsValuesProvidersByContext bindingsValuesProvidersByContext, SimpleBindings bindings) {
+    void invokeBindingsValuesProviders(BindingsValuesProvidersByContext bindingsValuesProvidersByContext, Bindings bindings) {
         final Collection<BindingsValuesProvider> bindingsValuesProviders =
                 bindingsValuesProvidersByContext.getBindingsValuesProviders(this, SlingModelsScriptEngineFactory.BINDINGS_CONTEXT);