SLING-7692 switch back to Unsupported exception

- This reverts commit 5f4fb0576ec396d2ded98636e433f603290621aa,
- move checklive before exception is sent,
- add comment
diff --git a/src/main/java/org/apache/sling/testing/mock/jcr/MockSession.java b/src/main/java/org/apache/sling/testing/mock/jcr/MockSession.java
index 7e1c5a2..78cafec 100644
--- a/src/main/java/org/apache/sling/testing/mock/jcr/MockSession.java
+++ b/src/main/java/org/apache/sling/testing/mock/jcr/MockSession.java
@@ -21,7 +21,6 @@
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.regex.Pattern;
@@ -54,8 +53,7 @@
 
     private final MockRepository repository;
     private final Workspace workspace;
-    private Map<String, ItemData> items;
-    private Map<String, ItemData> lastState;
+    private final Map<String, ItemData> items;
     private final String userId;
     private boolean isLive;
     private boolean hasKnownChanges;
@@ -65,7 +63,6 @@
         this.repository = repository;
         this.workspace = new MockWorkspace(repository, this, workspaceName);
         this.items = items;
-        this.lastState = items;
         this.userId = userId;
         isLive = true;
         hasKnownChanges = false;
@@ -291,17 +288,20 @@
             itemData.setIsNew(false);
             itemData.setIsChanged(false);
         }
-        this.lastState = new HashMap<>(items);
+
         hasKnownChanges = false;
     }
 
     @Override
     public void refresh(final boolean keepChanges) throws RepositoryException {
-        if (!keepChanges){
-            this.items = new HashMap<>(lastState);
-        }
         // do nothing
         checkLive();
+
+        if (!keepChanges){
+            //if reverting change instruction has been requested,
+            //warn upper user this won't happen
+            throw new UnsupportedOperationException();
+        }
     }
 
     @Override
diff --git a/src/test/java/org/apache/sling/testing/mock/jcr/MockSessionTest.java b/src/test/java/org/apache/sling/testing/mock/jcr/MockSessionTest.java
index cdc1021..6759639 100644
--- a/src/test/java/org/apache/sling/testing/mock/jcr/MockSessionTest.java
+++ b/src/test/java/org/apache/sling/testing/mock/jcr/MockSessionTest.java
@@ -250,26 +250,6 @@
         assertFalse(session.hasPendingChanges());
         session.save();
         session.refresh(true);
-        session.refresh(false);
-    }
-
-    @Test
-    public void testRefreshFalse() throws RepositoryException {
-        Session session = MockJcr.newSession();
-        session.getRootNode().addNode("1");
-        session.getRootNode().addNode("2");
-        session.getNode("/2").setProperty("toRemove", true);
-        session.getNode("/2").setProperty("toChange", "foo");
-        session.save();
-        session.removeItem("/1");
-        session.removeItem("/2/toRemove");
-        session.getNode("/2").setProperty("added", true);
-        session.getNode("/2").setProperty("toChange", "bar");
-        session.refresh(false);
-        assertTrue("/1 should still exist", session.itemExists("/1"));
-        assertTrue("/2/toRemove should still exist", session.itemExists("/2/toRemove"));
-        assertEquals("/2/toChange should not be changed", "foo", session.getProperty("/2/toChange").getString());
-        assertFalse("/2/added should not exist", session.itemExists("/2/added"));
     }
 
     @Test