diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index cf6c0a17288af99a6bcea5079abad3bf7c083227..e9f379c79c1fc1edf2ebc7b4cbf79714ba0463c1 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -6,15 +6,7 @@
   </component>
   <component name="ChangeListManager">
     <list default="true" readonly="true" id="3ad7d15b-0167-4c60-a3f9-2d3c54aea812" name="Default" comment="">
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/ant.xml" />
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/dps_sdk_4_0_0.xml" />
-      <change type="DELETED" beforePath="$PROJECT_DIR$/.idea/libraries/NFSStoragePlugin.xml" afterPath="" />
-      <change type="DELETED" beforePath="$PROJECT_DIR$/.idea/libraries/dps_sdk_3_2_2.xml" afterPath="" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/Makefile" afterPath="$PROJECT_DIR$/Makefile" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/SLUBStoragePlugin.java" afterPath="$PROJECT_DIR$/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/SLUBStoragePlugin.java" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/compiler.xml" afterPath="$PROJECT_DIR$/.idea/compiler.xml" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/copyright/profiles_settings.xml" afterPath="$PROJECT_DIR$/.idea/copyright/profiles_settings.xml" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
     </list>
     <ignored path="StoragePlugin4Rosetta.iws" />
     <ignored path=".idea/workspace.xml" />
@@ -76,8 +68,30 @@
         <option name="LOG_MESSAGE" value="" />
       </breakpoint>
     </breakpoint_any>
-    <breakpoint_rules converted="true" />
     <ui_properties converted="true" />
+    <breakpoint_rules converted="true" />
+  </component>
+  <component name="DockManager">
+    <window id="2">
+      <content type="file-editors">
+        <state>
+          <leaf>
+            <file leaf-file-name="NFSStoragePlugin.java" pinned="false" current="false" current-in-tab="true">
+              <entry file="file://$PROJECT_DIR$/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/NFSStoragePlugin.java">
+                <provider selected="true" editor-type-id="text-editor">
+                  <state vertical-scroll-proportion="9.099181E-4" vertical-offset="1829" max-vertical-offset="6840">
+                    <caret line="122" column="17" selection-start-line="122" selection-start-column="17" selection-end-line="122" selection-end-column="17" />
+                    <folding>
+                      <element signature="imports" expanded="true" />
+                    </folding>
+                  </state>
+                </provider>
+              </entry>
+            </file>
+          </leaf>
+        </state>
+      </content>
+    </window>
   </component>
   <component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
   <component name="FavoritesManager">
@@ -88,21 +102,31 @@
       <file leaf-file-name="SLUBStoragePlugin.java" pinned="false" current="true" current-in-tab="true">
         <entry file="file://$PROJECT_DIR$/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/SLUBStoragePlugin.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state vertical-scroll-proportion="1.248366" vertical-offset="1332" max-vertical-offset="7965">
-              <caret line="127" column="25" selection-start-line="127" selection-start-column="25" selection-end-line="127" selection-end-column="25" />
+            <state vertical-scroll-proportion="1.3856503" vertical-offset="7278" max-vertical-offset="8295">
+              <caret line="547" column="0" selection-start-line="547" selection-start-column="0" selection-end-line="547" selection-end-column="0" />
               <folding>
-                <element signature="e#0#24439#0" expanded="true" />
+                <element signature="e#0#27428#0" expanded="true" />
                 <element signature="imports" expanded="true" />
-                <element signature="e#3017#3018#0" expanded="true" />
-                <element signature="e#3075#3076#0" expanded="true" />
-                <element signature="e#15518#15534#0" expanded="true" />
-                <element signature="e#22145#22153#0" expanded="true" />
-                <element signature="e#24094#24102#0" expanded="true" />
+                <element signature="e#3064#3065#0" expanded="true" />
+                <element signature="e#3122#3123#0" expanded="true" />
+                <element signature="e#18256#18272#0" expanded="true" />
+                <marker date="1414588087286" expanded="true" signature="3987:5275" placeholder="..." />
+                <marker date="1414588087286" expanded="true" signature="5383:5708" placeholder="..." />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
+      <file leaf-file-name="Checksummer.class" pinned="false" current="false" current-in-tab="false">
+        <entry file="jar:///exlibris/dps/d4_1/system.dir/dps-sdk-4.0.0/lib/dps-sdk-4.0.0.jar!/com/exlibris/digitool/infrastructure/utils/Checksummer.class">
+          <provider selected="true" editor-type-id="text-editor">
+            <state vertical-scroll-proportion="-22.2" vertical-offset="0" max-vertical-offset="1110">
+              <caret line="38" column="61" selection-start-line="38" selection-start-column="61" selection-end-line="38" selection-end-column="61" />
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
     </leaf>
   </component>
   <component name="FindManager">
@@ -122,10 +146,10 @@
     <treeState />
   </component>
   <component name="ProjectFrameBounds">
-    <option name="x" value="92" />
-    <option name="y" value="93" />
-    <option name="width" value="1594" />
-    <option name="height" value="1000" />
+    <option name="x" value="-4" />
+    <option name="y" value="27" />
+    <option name="width" value="1928" />
+    <option name="height" value="1177" />
   </component>
   <component name="ProjectInspectionProfilesVisibleTreeState">
     <entry key="Project Default">
@@ -202,7 +226,7 @@
     <option name="STATE" value="0" />
   </component>
   <component name="ProjectView">
-    <navigator currentView="ProjectPane" proportions="" version="1">
+    <navigator proportions="" version="1">
       <flattenPackages />
       <showMembers />
       <showModules />
@@ -213,20 +237,7 @@
       <autoscrollFromSource />
       <sortByType />
     </navigator>
-    <panes>
-      <pane id="Scope" />
-      <pane id="ProjectPane">
-        <subPane>
-          <PATH>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="StoragePlugin4Rosetta" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
-            </PATH_ELEMENT>
-          </PATH>
-        </subPane>
-      </pane>
-      <pane id="PackagesPane" />
-    </panes>
+    <panes />
   </component>
   <component name="PropertiesComponent">
     <property name="GoToClass.includeLibraries" value="false" />
@@ -239,7 +250,7 @@
     <property name="options.splitter.main.proportions" value="0.3" />
     <property name="options.splitter.details.proportions" value="0.2" />
     <property name="options.searchVisible" value="true" />
-    <property name="last_opened_file_path" value="/usr/lib/jvm/java-7-openjdk-amd64/src.zip!/" />
+    <property name="last_opened_file_path" value="$PROJECT_DIR$/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/NFSStoragePlugin.java" />
     <property name="project.structure.last.edited" value="SDKs" />
     <property name="project.structure.proportion" value="0.15" />
     <property name="project.structure.side.proportion" value="0.2" />
@@ -252,6 +263,7 @@
     <property name="GenerateAntBuildDialog.inclineRuntiemClasspath" value="false" />
     <property name="GenerateAntBuildDialog.generateIdeaHomeProperty" value="false" />
     <property name="GenerateAntBuildDialog.outputFileNameProperty" value="storageplugin4rosetta" />
+    <property name="extract.method.default.visibility" value="private" />
   </component>
   <component name="RunManager">
     <configuration default="true" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType" factoryName="Plugin">
@@ -268,6 +280,19 @@
       <option name="PORT" value="5005" />
       <method />
     </configuration>
+    <configuration default="true" type="Applet" factoryName="Applet">
+      <module name="" />
+      <option name="MAIN_CLASS_NAME" />
+      <option name="HTML_FILE_NAME" />
+      <option name="HTML_USED" value="false" />
+      <option name="WIDTH" value="400" />
+      <option name="HEIGHT" value="300" />
+      <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
+      <option name="VM_PARAMETERS" />
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+      <option name="ALTERNATIVE_JRE_PATH" />
+      <method />
+    </configuration>
     <configuration default="true" type="TestNG" factoryName="TestNG">
       <module name="" />
       <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
@@ -295,19 +320,6 @@
       <listeners />
       <method />
     </configuration>
-    <configuration default="true" type="Applet" factoryName="Applet">
-      <module name="" />
-      <option name="MAIN_CLASS_NAME" />
-      <option name="HTML_FILE_NAME" />
-      <option name="HTML_USED" value="false" />
-      <option name="WIDTH" value="400" />
-      <option name="HEIGHT" value="300" />
-      <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
-      <option name="VM_PARAMETERS" />
-      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
-      <option name="ALTERNATIVE_JRE_PATH" />
-      <method />
-    </configuration>
     <configuration default="true" type="Application" factoryName="Application">
       <option name="MAIN_CLASS_NAME" />
       <option name="VM_PARAMETERS" />
@@ -364,6 +376,10 @@
           <option name="myVcsRoot" value="$PROJECT_DIR$/.idea" />
           <option name="myCopyRoot" value="$PROJECT_DIR$/.idea" />
         </SvnCopyRootSimple>
+        <SvnCopyRootSimple>
+          <option name="myVcsRoot" value="$PROJECT_DIR$/java/org" />
+          <option name="myCopyRoot" value="$PROJECT_DIR$/java/org" />
+        </SvnCopyRootSimple>
       </list>
     </option>
     <option name="myMoreRealMappingRoots">
@@ -404,30 +420,30 @@
     </todo-panel>
   </component>
   <component name="ToolWindowManager">
-    <frame x="92" y="93" width="1594" height="1000" extended-state="0" />
+    <frame x="-4" y="27" width="1928" height="1177" extended-state="6" />
     <editor active="false" />
     <layout>
       <window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32954547" sideWeight="0.5" order="12" side_tool="false" content_ui="tabs" />
-      <window_info id="Problems" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32954547" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
+      <window_info id="Problems" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32923368" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
       <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
       <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32954547" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
-      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32954547" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
+      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32923368" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
       <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
       <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
       <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="9" side_tool="true" content_ui="tabs" />
       <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
       <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
-      <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32954547" sideWeight="0.5" order="13" side_tool="false" content_ui="tabs" />
       <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32954547" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
-      <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
+      <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.20553781" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
       <window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32966322" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
       <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
       <window_info id="Application Servers" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="11" side_tool="false" content_ui="tabs" />
       <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.21826425" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
-      <window_info id="Inspection" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.4" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
-      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32954547" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
+      <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33301798" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
+      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32923368" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
       <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
       <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
+      <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32954547" sideWeight="0.5" order="13" side_tool="false" content_ui="tabs" />
       <window_info id="Module Dependencies" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.06282383" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
       <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="3" side_tool="false" content_ui="combo" />
     </layout>
@@ -449,25 +465,43 @@
     </option>
   </component>
   <component name="XDebuggerManager">
-    <breakpoint-manager />
+    <breakpoint-manager>
+      <option name="time" value="1" />
+    </breakpoint-manager>
   </component>
   <component name="antWorkspaceConfiguration">
     <option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
     <option name="FILTER_TARGETS" value="false" />
   </component>
   <component name="editorHistoryManager">
+    <entry file="file://$PROJECT_DIR$/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/SLUBStoragePlugin.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="7965">
+          <caret line="127" column="25" selection-start-line="127" selection-start-column="25" selection-end-line="127" selection-end-column="25" />
+          <folding>
+            <element signature="e#0#27428#0" expanded="true" />
+            <element signature="imports" expanded="true" />
+            <element signature="e#3064#3065#0" expanded="true" />
+            <element signature="e#3122#3123#0" expanded="true" />
+            <element signature="e#18256#18272#0" expanded="true" />
+            <marker date="1414588087286" expanded="true" signature="3987:5275" placeholder="..." />
+            <marker date="1414588087286" expanded="true" signature="5383:5708" placeholder="..." />
+          </folding>
+        </state>
+      </provider>
+    </entry>
     <entry file="file://$PROJECT_DIR$/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/SLUBStoragePlugin.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="2775">
           <caret line="23" column="0" selection-start-line="23" selection-start-column="0" selection-end-line="23" selection-end-column="0" />
           <folding>
-            <element signature="e#0#24439#0" expanded="true" />
+            <element signature="e#0#27428#0" expanded="true" />
             <element signature="imports" expanded="true" />
-            <element signature="e#3017#3018#0" expanded="true" />
-            <element signature="e#3075#3076#0" expanded="true" />
-            <element signature="e#15518#15534#0" expanded="true" />
-            <element signature="e#22145#22153#0" expanded="true" />
-            <element signature="e#24094#24102#0" expanded="true" />
+            <element signature="e#3064#3065#0" expanded="true" />
+            <element signature="e#3122#3123#0" expanded="true" />
+            <element signature="e#18256#18272#0" expanded="true" />
+            <marker date="1414588087286" expanded="true" signature="3987:5275" placeholder="..." />
+            <marker date="1414588087286" expanded="true" signature="5383:5708" placeholder="..." />
           </folding>
         </state>
       </provider>
@@ -478,8 +512,6 @@
           <caret line="40" column="3" selection-start-line="40" selection-start-column="3" selection-end-line="40" selection-end-column="3" />
           <folding>
             <element signature="imports" expanded="true" />
-            <element signature="e#12505#12506#0" expanded="true" />
-            <element signature="e#12561#12562#0" expanded="true" />
           </folding>
         </state>
       </provider>
@@ -489,25 +521,13 @@
         <state vertical-scroll-proportion="0.0" vertical-offset="675" max-vertical-offset="2370">
           <caret line="45" column="2" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
           <folding>
-            <element signature="e#0#24439#0" expanded="true" />
+            <element signature="e#0#27428#0" expanded="true" />
             <element signature="imports" expanded="true" />
-            <element signature="e#3017#3018#0" expanded="true" />
-            <element signature="e#3075#3076#0" expanded="true" />
-            <element signature="e#15518#15534#0" expanded="true" />
-            <element signature="e#22145#22153#0" expanded="true" />
-            <element signature="e#24094#24102#0" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/NFSStoragePlugin.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="-6.0238614" vertical-offset="6362" max-vertical-offset="6885">
-          <caret line="239" column="38" selection-start-line="239" selection-start-column="38" selection-end-line="239" selection-end-column="38" />
-          <folding>
-            <element signature="imports" expanded="true" />
-            <element signature="e#12505#12506#0" expanded="true" />
-            <element signature="e#12561#12562#0" expanded="true" />
+            <element signature="e#3064#3065#0" expanded="true" />
+            <element signature="e#3122#3123#0" expanded="true" />
+            <element signature="e#18256#18272#0" expanded="true" />
+            <marker date="1414588087286" expanded="true" signature="3987:5275" placeholder="..." />
+            <marker date="1414588087286" expanded="true" signature="5383:5708" placeholder="..." />
           </folding>
         </state>
       </provider>
@@ -516,7 +536,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.16198704" vertical-offset="0" max-vertical-offset="720">
           <caret line="6" column="22" selection-start-line="6" selection-start-column="22" selection-end-line="6" selection-end-column="22" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -524,7 +543,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.3760504" vertical-offset="466" max-vertical-offset="1290">
           <caret line="44" column="56" selection-start-line="44" selection-start-column="56" selection-end-line="44" selection-end-column="56" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -532,22 +550,39 @@
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.16198704" vertical-offset="0" max-vertical-offset="465">
           <caret line="6" column="13" selection-start-line="6" selection-start-column="13" selection-end-line="6" selection-end-column="13" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="jar:///exlibris/dps/d4_1/system.dir/dps-sdk-4.0.0/lib/dps-sdk-4.0.0.jar!/com/exlibris/digitool/infrastructure/utils/Checksummer.class">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="-22.2" vertical-offset="0" max-vertical-offset="1110">
+          <caret line="38" column="61" selection-start-line="38" selection-start-column="61" selection-end-line="38" selection-end-column="61" />
           <folding />
         </state>
       </provider>
     </entry>
+    <entry file="file://$PROJECT_DIR$/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/NFSStoragePlugin.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="9.099181E-4" vertical-offset="1829" max-vertical-offset="6840">
+          <caret line="122" column="17" selection-start-line="122" selection-start-column="17" selection-end-line="122" selection-end-column="17" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
     <entry file="file://$PROJECT_DIR$/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/SLUBStoragePlugin.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="1.248366" vertical-offset="1332" max-vertical-offset="7965">
-          <caret line="127" column="25" selection-start-line="127" selection-start-column="25" selection-end-line="127" selection-end-column="25" />
+        <state vertical-scroll-proportion="1.3856503" vertical-offset="7278" max-vertical-offset="8295">
+          <caret line="547" column="0" selection-start-line="547" selection-start-column="0" selection-end-line="547" selection-end-column="0" />
           <folding>
-            <element signature="e#0#24439#0" expanded="true" />
+            <element signature="e#0#27428#0" expanded="true" />
             <element signature="imports" expanded="true" />
-            <element signature="e#3017#3018#0" expanded="true" />
-            <element signature="e#3075#3076#0" expanded="true" />
-            <element signature="e#15518#15534#0" expanded="true" />
-            <element signature="e#22145#22153#0" expanded="true" />
-            <element signature="e#24094#24102#0" expanded="true" />
+            <element signature="e#3064#3065#0" expanded="true" />
+            <element signature="e#3122#3123#0" expanded="true" />
+            <element signature="e#18256#18272#0" expanded="true" />
+            <marker date="1414588087286" expanded="true" signature="3987:5275" placeholder="..." />
+            <marker date="1414588087286" expanded="true" signature="5383:5708" placeholder="..." />
           </folding>
         </state>
       </provider>
diff --git a/PLUGIN-INF/metadata_SLUBStoragepPlugin.xml b/PLUGIN-INF/metadata_SLUBStoragepPlugin.xml
index c143da1992933f420b0baebc1ff91deeda3e1265..692679aff2db74f9446fd1c9d1acff237e5a0dbd 100644
--- a/PLUGIN-INF/metadata_SLUBStoragepPlugin.xml
+++ b/PLUGIN-INF/metadata_SLUBStoragepPlugin.xml
@@ -70,7 +70,7 @@
 		</fr:x_form>
 	</pl:initParameters>
 	<pl:description>SLUB Storage Plugin</pl:description>
-	<pl:version>2.804</pl:version>
+	<pl:version>2.805</pl:version>
 	<pl:materialType>DIGITAL</pl:materialType>
 	<pl:module>Repository</pl:module>
 	<pl:generalType>TASK</pl:generalType>
diff --git a/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/SLUBStoragePlugin.java b/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/SLUBStoragePlugin.java
index 2f94f3cbdf376600d6a233421a5f7b1cf8480e1c..dfe81fb9d67913b89c22c470e3c0f8c783e43dbb 100644
--- a/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/SLUBStoragePlugin.java
+++ b/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/SLUBStoragePlugin.java
@@ -34,6 +34,7 @@ import com.exlibris.digitool.common.storage.Fixity;
 import com.exlibris.digitool.infrastructure.utils.Checksummer;
 
 import java.io.*;
+import java.security.NoSuchAlgorithmException;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
@@ -83,88 +84,89 @@ public class SLUBStoragePlugin extends AbstractStorageHandler {
         boolean result = true;
         if (fixities != null)
         {
-            boolean calcMD5 = false;
-            boolean calcSHA1 = false;
-            boolean calcCRC32 = false;
-            for (Fixity fixity : fixities)
-            {
-                fixity.setResult(null);
-                log.info("SLUBStoragePlugin.checkFixity() getAlgorithm=" + fixity.getAlgorithm());
-                log.info("SLUBStoragePlugin.checkFixity() FixityAlgorithm.MD5=" + Fixity.FixityAlgorithm.MD5.toString());
-                log.info("SLUBStoragePlugin.checkFixity() FixityAlgorithm.SHA1=" + Fixity.FixityAlgorithm.SHA1.toString());
-                log.info("SLUBStoragePlugin.checkFixity() FixityAlgorithm.CRC32=" + Fixity.FixityAlgorithm.CRC32.toString());
+            InputStream is = null;
+            try {
+                is = retrieveEntity(storedEntityIdentifier, isRelativePath);
+                Checksummer checksummer = new Checksummer(is, true, true, true);
+                for (Fixity fixity : fixities) {
+                    fixity.setResult(null);
+                    log.info("SLUBStoragePlugin.checkFixity() getAlgorithm=" + fixity.getAlgorithm());
+                    log.info("SLUBStoragePlugin.checkFixity() FixityAlgorithm.MD5=" + Fixity.FixityAlgorithm.MD5.toString());
+                    log.info("SLUBStoragePlugin.checkFixity() FixityAlgorithm.SHA1=" + Fixity.FixityAlgorithm.SHA1.toString());
+                    log.info("SLUBStoragePlugin.checkFixity() FixityAlgorithm.CRC32=" + Fixity.FixityAlgorithm.CRC32.toString());
                 /* TODO: with upcoming versions of Rosetta, recheck need of
                  * Workaround for fixity.getAlgorithm() */
-                String algorithm = fixity.getAlgorithm().toUpperCase(); // workaround, because fixity.getAlgorithm() returns lowercase string
-                if (Fixity.FixityAlgorithm.MD5.toString().equals(algorithm))
-                {
-                    log.info("SLUBStoragePlugin.checkFixity() calcMD5=true");
-                    calcMD5 = true;
-                }
-                else if (Fixity.FixityAlgorithm.SHA1.toString().equals(algorithm))
-                {
-                    log.info("SLUBStoragePlugin.checkFixity() calcSHA1=true");
-                    calcSHA1 = true;
-                }
-                else if (Fixity.FixityAlgorithm.CRC32.toString().equals(algorithm))
-                {
-                    log.info("SLUBStoragePlugin.checkFixity() calcCRC32=true");
-                    calcCRC32 = true;
-                }
-                else
-                {
-                    log.info("SLUBStoragePlugin.checkFixity() another fixity");
-                    log.info("SLUBStoragePlugin.checkFixity() pluginname=" + fixity.getPluginName());
-                    String oldValue = fixity.getValue();
-                    log.info("SLUBStoragePlugin.checkFixity() oldvalue=" + oldValue);
-                    fixity.setValue(getChecksumUsingPlugin(isRelativePath ? getLocalFilePath(storedEntityIdentifier) : storedEntityIdentifier, fixity.getPluginName(), oldValue));
-                    fixity.setResult(Boolean.valueOf((oldValue == null) || (oldValue.equals(fixity.getValue()))));
-                    log.info("SLUBStoragePlugin.checkFixity() newvalue=" + fixity.getValue());
-                    result &= fixity.getResult().booleanValue();
-                    log.info("SLUBStoragePlugin.checkFixity() result=" + result);
-                }
-            }
-            if ((calcMD5) || (calcSHA1) || (calcCRC32))
-            {
-                log.info("SLUBStoragePlugin.checkFixity() calcMD5|calcSHA1|calcCRC32=true");
-                InputStream is = null;
-                try
-                {
-                    is = retrieveEntity(storedEntityIdentifier, isRelativePath);
-                    Checksummer checksummer = new Checksummer(is, calcMD5, calcSHA1, calcCRC32);
-                    for (Fixity fixity : fixities)
-                    {
-                      /* TODO: with upcoming versions of Rosetta, recheck need of
-                       * Workaround for fixity.getAlgorithm() */
-                        String algorithm = fixity.getAlgorithm().toUpperCase(); // workaround, because fixity.getAlgorithm() returns lowercase string
+                    String algorithm = fixity.getAlgorithm().toUpperCase(); // workaround, because fixity.getAlgorithm() returns lowercase string
+                    if (
+                            (!Fixity.FixityAlgorithm.MD5.toString().equals(algorithm)) &&
+                                    (!Fixity.FixityAlgorithm.SHA1.toString().equals(algorithm)) &&
+                                    (!Fixity.FixityAlgorithm.CRC32.toString().equals(algorithm))
+                            ) {
+                        result = checkFixityByPlugin(fixity, storedEntityIdentifier, isRelativePath, result);
+                    } else {
+                        log.info("SLUBStoragePlugin.checkFixity() calcMD5|calcSHA1|calcCRC32=true");
                         int checksummerAlgorithmIndex = getChecksummerAlgorithmIndex(algorithm);
+                        log.info("SLUBStoragePlugin.checkFixity() checksummerAlgorithmIndex=" + checksummerAlgorithmIndex);
                         if (checksummerAlgorithmIndex != -1)
-                        {
-                            log.info("SLUBStoragePlugin.checkFixity() checksummerAlgorithmIndex=" + checksummerAlgorithmIndex);
-                            String oldValue = fixity.getValue();
-                            log.info("SLUBStoragePlugin.checkFixity() getAlgorithm (2)=" + algorithm);
-                            log.info("SLUBStoragePlugin.checkFixity() oldvalue=" + oldValue);
-                            fixity.setValue(checksummer.getChecksum(algorithm));
-                            log.info("SLUBStoragePlugin.checkFixity() newvalue=" + fixity.getValue());
-                            fixity.setResult(Boolean.valueOf((oldValue == null) || (oldValue.equalsIgnoreCase(fixity.getValue()))));
-                            result &= fixity.getResult().booleanValue();
-                            log.info("SLUBStoragePlugin.checkFixity() result=" + result);
-                        }
+                            result = checkFixityByBuiltin(fixity, algorithm, checksummer, result);
                     }
                 }
-                finally
-                {
-                    log.info("SLUBStoragePlugin.checkFixity() finally called");
-                    if (is != null) {
-                      log.info("SLUBStoragePlugin.checkFixity()is closed");
-                        is.close();
-                    }
+            }
+            finally
+            {
+                log.info("SLUBStoragePlugin.checkFixity() finally called");
+                if (is != null) {
+                    log.info("SLUBStoragePlugin.checkFixity()is closed");
+                    is.close();
                 }
             }
         }
         return result;
     }
 
+    /** uses a checksummer object and check if fixity of given builtin algorithm is correct
+     *
+     * @param fixity concrete fixity object
+     * @param algorithm which algorithm should be used
+     * @param checksummer checksummer object of given input stream
+     * @param result result is boolean variable to hold states of all fixity checks
+     * @return result
+     * @throws NoSuchAlgorithmException
+     */
+    private boolean checkFixityByBuiltin(Fixity fixity, String algorithm, Checksummer checksummer, boolean result) throws NoSuchAlgorithmException {
+        String oldValue = fixity.getValue();
+        log.info("SLUBStoragePlugin.checkFixity() getAlgorithm (2)=" + algorithm);
+        log.info("SLUBStoragePlugin.checkFixity() oldvalue=" + oldValue);
+        fixity.setValue(checksummer.getChecksum(algorithm));
+        log.info("SLUBStoragePlugin.checkFixity() newvalue=" + fixity.getValue());
+        fixity.setResult((oldValue == null) || (oldValue.equalsIgnoreCase(fixity.getValue())));
+        result &= fixity.getResult().booleanValue();
+        log.info("SLUBStoragePlugin.checkFixity() result=" + result);
+        return result;
+    }
+
+    /** check fixity by calling its registered plugin
+     *
+     * @param fixity concrete fixity object
+     * @param storedEntityIdentifier path to file which should be checked
+     * @param isRelativePath indicates if path is relative
+     * @param result result is boolean variable to hold states of all fixity checks
+     * @return result
+     * @throws Exception
+     */
+    private boolean checkFixityByPlugin(Fixity fixity, String storedEntityIdentifier, boolean isRelativePath, boolean result) throws Exception {
+        log.info("SLUBStoragePlugin.checkFixity() another fixity");
+        log.info("SLUBStoragePlugin.checkFixity() pluginname=" + fixity.getPluginName());
+        String oldValue = fixity.getValue();
+        log.info("SLUBStoragePlugin.checkFixity() oldvalue=" + oldValue);
+        fixity.setValue(getChecksumUsingPlugin(isRelativePath ? getLocalFilePath(storedEntityIdentifier) : storedEntityIdentifier, fixity.getPluginName(), oldValue));
+        fixity.setResult((oldValue == null) || (oldValue.equals(fixity.getValue())));
+        log.info("SLUBStoragePlugin.checkFixity() newvalue=" + fixity.getValue());
+        result &= fixity.getResult().booleanValue();
+        log.info("SLUBStoragePlugin.checkFixity() result=" + result);
+        return result;
+    }
+
     public boolean deleteEntity(String storedEntityIdentifier)
     {
         log.info("SLUBStoragePlugin.deleteEntity() storedEntityIdentifier='" + storedEntityIdentifier + "'");
@@ -348,6 +350,7 @@ public class SLUBStoragePlugin extends AbstractStorageHandler {
         }
     }
 
+    /** copied from NFS Storage Plugin, enhanced with debugging info, {@inheritDoc} */
     private int getChecksummerAlgorithmIndex(String algorithm)
     {
         log.info("SLUBStoragePlugin.getChecksummerAlgorithm() algorithm='" + algorithm + "'");
@@ -365,7 +368,7 @@ public class SLUBStoragePlugin extends AbstractStorageHandler {
 
 
 
-
+    /** copied from NFS Storage Plugin, enhanced with debugging info, {@inheritDoc} */
     private File getCanonicalFile(String srcPath)
     {
         log.info("SLUBStoragePlugin.getCanonicalFile() srcPath='"+ srcPath + "'");
@@ -381,7 +384,7 @@ public class SLUBStoragePlugin extends AbstractStorageHandler {
         return null;
     }
 
-
+    /** copied from NFS Storage Plugin, enhanced with debugging info, {@inheritDoc} */
     private Map<String, String> getStoreEntityIdentifier(StoredEntityMetaData storedEntityMetadata, String destFilePath) throws Exception
     {
         log.info("SLUBStoragePlugin.getStoreEntityIdentifier() destFilePath='" + destFilePath +"'");
@@ -483,6 +486,7 @@ public class SLUBStoragePlugin extends AbstractStorageHandler {
         return relativeDirectoryPath;
     }
 
+    /** copied from NFS Storage Plugin, enhanced with debugging info, {@inheritDoc} */
     private void hardLink(String srcPath, String destPath)
             throws IOException
     {
@@ -497,6 +501,7 @@ public class SLUBStoragePlugin extends AbstractStorageHandler {
             throw new IOException("ln " + srcPath + " " + destPath + " failed " + proc.getErrorStream() + proc.getInputStream());
         }
     }
+    /** copied from NFS Storage Plugin, enhanced with debugging info, {@inheritDoc} */
     private void saveDestPathsTmpFile(String folder, String key, String path)
     {
         log.info("SLUBStoragePlugin.saveDestPathsTmpFile()");
@@ -519,6 +524,7 @@ public class SLUBStoragePlugin extends AbstractStorageHandler {
         StorageUtil.saveDestPathToTmpFile(folder, tmpFilePath, key, path);
     }
 
+    /** copied from NFS Storage Plugin, enhanced with debugging info, {@inheritDoc} */
     private void softLink(String srcPath, String destPath)
             throws IOException
     {
@@ -538,14 +544,4 @@ public class SLUBStoragePlugin extends AbstractStorageHandler {
             throw new IOException("ln -s " + srcPath + " " + destPath + " failed " + proc.getErrorStream() + proc.getInputStream());
         }
     }
-
-
-
-
-
-
-
-
-
-
 }