Fix "force" in commit method

Change-Id: I240665665a2dbf9120e582befa107b2e4e9723f2
diff --git a/Changes b/Changes
index 480e77e..2260a67 100644
--- a/Changes
+++ b/Changes
@@ -1,10 +1,12 @@
 0.65.1 2026-06-10
     - [feature] Prevent indexation of documents without
       a token stream (diewald; AI-assisted Claude Opus 4.6)
+    - [bugfix] Fix "force" in commit method
+      (diewald; AI-assisted Claude Opus 4.6)
 
 0.65 2026-05-12
     - [bugfix] Keep highlights that extend beyond a cut match
-      (diewald; fixes #177; diewald; AI-assisted Claude Opus 4.6)
+      (diewald; fixes #177; AI-assisted Claude Opus 4.6)
     - [bugfix] Correctly handle foundry and layer in attribute groups
       (diewald; AI-assisted Claude Opus 4.6)
     - [bugfix] Support regular expressions in attribute queries
diff --git a/src/main/java/de/ids_mannheim/korap/KrillIndex.java b/src/main/java/de/ids_mannheim/korap/KrillIndex.java
index 0b673e9..892bc05 100644
--- a/src/main/java/de/ids_mannheim/korap/KrillIndex.java
+++ b/src/main/java/de/ids_mannheim/korap/KrillIndex.java
@@ -444,7 +444,7 @@
      */
     public void commit (boolean force) throws IOException {
         // There is something to commit
-        if (commitCounter > 0 || !force)
+        if (commitCounter > 0 || force)
             this.commit();
     };
 
diff --git a/src/test/java/de/ids_mannheim/korap/index/TestIndexRevision.java b/src/test/java/de/ids_mannheim/korap/index/TestIndexRevision.java
index 1c43baf..d6d8278 100644
--- a/src/test/java/de/ids_mannheim/korap/index/TestIndexRevision.java
+++ b/src/test/java/de/ids_mannheim/korap/index/TestIndexRevision.java
@@ -3,6 +3,7 @@
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotEquals;
 import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.assertFalse;
 
 import java.util.List;
 
@@ -209,4 +210,50 @@
 
         assertEquals("Wes8Bd4h1OypPqbWF5njeQ==",ki.getFingerprint());
     };
+
+    @Test
+    public void testCommitForceFalseDoesNotCloseReaderWhenNoChanges ()
+                  throws IOException {
+              KrillIndex ki = new KrillIndex();
+        
+            FieldDocument fd = new FieldDocument();
+            fd.addString("textSigle", "TEST/DOC/001");
+            fd.addString("content", "Example1");
+            ki.addDoc(fd);
+            ki.commit();
+    
+            // Ensure reader is open (and there are no pending changes)
+            ki.reader();
+            assertTrue(ki.isReaderOpen());
+    
+            // With no pending changes, force=false must NOT trigger a commit
+            // (and therefore must not close the reader)
+            ki.commit(false);
+            assertTrue(ki.isReaderOpen());
+    
+            ki.close();
+    }
+    
+    @Test
+    public void testCommitForceTrueClosesReaderWhenNoChanges ()
+                throws IOException {
+            KrillIndex ki = new KrillIndex();
+    
+            FieldDocument fd = new FieldDocument();
+            fd.addString("textSigle", "TEST/DOC/001");
+            fd.addString("content", "Example1");
+            ki.addDoc(fd);
+            ki.commit();
+    
+            // Ensure reader is open (and there are no pending changes)
+            ki.reader();
+            assertTrue(ki.isReaderOpen());
+    
+            // With no pending changes, force=true must still trigger a commit,
+            // which closes the reader
+            ki.commit(true);
+            assertFalse(ki.isReaderOpen());
+    
+            ki.close();
+    };
 };