Index: applications/editors/josm/plugins/sds/build.xml
===================================================================
--- applications/editors/josm/plugins/sds/build.xml	(revision 33216)
+++ applications/editors/josm/plugins/sds/build.xml	(revision 33217)
@@ -5,5 +5,5 @@
     <property name="commit.message" value=""/>
     <!-- enter the *lowest* JOSM version this plugin is currently compatible with -->
-    <property name="plugin.main.version" value="10580"/>
+    <property name="plugin.main.version" value="11851"/>
 
     <!--
Index: applications/editors/josm/plugins/sds/src/org/openstreetmap/hot/sds/SeparateDataStorePlugin.java
===================================================================
--- applications/editors/josm/plugins/sds/src/org/openstreetmap/hot/sds/SeparateDataStorePlugin.java	(revision 33216)
+++ applications/editors/josm/plugins/sds/src/org/openstreetmap/hot/sds/SeparateDataStorePlugin.java	(revision 33217)
@@ -4,4 +4,6 @@
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 import org.openstreetmap.josm.Main;
@@ -28,9 +30,9 @@
 public class SeparateDataStorePlugin extends Plugin {
 
-    public HashMap<Long, IPrimitive> originalNodes = new HashMap<>();
-    public HashMap<Long, IPrimitive> originalWays = new HashMap<>();
-    public HashMap<Long, IPrimitive> originalRelations = new HashMap<>();
+    public final Map<Long, IPrimitive> originalNodes = new HashMap<>();
+    public final Map<Long, IPrimitive> originalWays = new HashMap<>();
+    public final Map<Long, IPrimitive> originalRelations = new HashMap<>();
 
-    public ArrayList<QueueItem> uploadQueue = new ArrayList<>();
+    public List<QueueItem> uploadQueue = new ArrayList<>();
 
     private PrimitiveVisitor learnVisitor = new PrimitiveVisitor() {
@@ -52,7 +54,7 @@
 
     static class QueueItem {
-        public IPrimitive primitive;
-        public HashMap<String, String> tags;
-        public boolean sdsOnly;
+        public final IPrimitive primitive;
+        public final Map<String, String> tags;
+        public final boolean sdsOnly;
         public boolean processed;
         QueueItem(IPrimitive p, HashMap<String, String> t, boolean s) {
@@ -69,17 +71,15 @@
     public SeparateDataStorePlugin(PluginInformation info) {
         super(info);
-        System.out.println("initializing SDS plugin");
 
-        // this lets us see what JOSM load from the server, and augment it with our data:
+        // this lets us see what JOSM load from the server, and augment it with our data
         OsmReader.registerPostprocessor(new ReadPostprocessor(this));
 
-        // this makes sure that our data is never written to the OSM server on a low level;
-        OsmWriterFactory.theFactory = new SdsOsmWriterFactory(this);
+        // this makes sure that our data is never written to the OSM server on a low level
+        OsmWriterFactory.setDefaultFactory(new SdsOsmWriterFactory(this));
 
-        // this lets us see what JOSM is planning to upload, and prepare our own uploads
-        // accordingly
+        // this lets us see what JOSM is planning to upload, and prepare our own uploads accordingly
         UploadAction.registerUploadHook(new DetermineSdsModificationsUploadHook(this));
 
-        // this lets us perform our own uploads after JOSM has succeeded:
+        // this lets us perform our own uploads after JOSM has succeeded
         OsmServerWriter.registerPostprocessor(new WritePostprocessor(this));
 
@@ -141,5 +141,3 @@
         return new SdsPluginPreferences();
     }
-
 }
-
