Index: midpath-0.3rc2/components/core/src/org/thenesis/midpath/io/backend/j2se/FileHandlerImpl.java
===================================================================
--- midpath-0.3rc2.orig/components/core/src/org/thenesis/midpath/io/backend/j2se/FileHandlerImpl.java 2008-12-04 21:10:39.000000000 +0100
-+++ midpath-0.3rc2/components/core/src/org/thenesis/midpath/io/backend/j2se/FileHandlerImpl.java 2008-12-04 21:12:11.000000000 +0100
-@@ -182,7 +182,7 @@
++++ midpath-0.3rc2/components/core/src/org/thenesis/midpath/io/backend/j2se/FileHandlerImpl.java 2008-12-05 12:29:47.000000000 +0100
+@@ -181,10 +181,13 @@
+ \r
public void openForRead() throws IOException {\r
if (randomAccessFile == null) {\r
- //stream = new FileRandomAccessStream(file);\r
+- //stream = new FileRandomAccessStream(file);\r
- randomAccessFile = new RandomAccessFile(file, "rws");\r
-+ randomAccessFile = new RandomAccessFile(file, "r");\r
- }\r
- }\r
+- }\r
+- }\r
++ // Try to get maximum rights to avoid closing the stream if openForWrite is called next\r
++ if (file.canWrite()) {\r
++ randomAccessFile = new RandomAccessFile(file, "rws");\r
++ } else {\r
++ randomAccessFile = new RandomAccessFile(file, "r");\r
++ }\r
++ }\r
\r
+ public void openForWrite() throws IOException {\r
+ if (randomAccessFile == null) {\r