Index: applications/editors/josm/plugins/turnlanes/build.xml
===================================================================
--- applications/editors/josm/plugins/turnlanes/build.xml	(revision 33857)
+++ applications/editors/josm/plugins/turnlanes/build.xml	(revision 33858)
@@ -5,5 +5,5 @@
     <property name="commit.message" value="fix toolbar warnings - toolbar still does not work"/>
     <!-- enter the *lowest* JOSM version this plugin is currently compatible with -->
-    <property name="plugin.main.version" value="10580"/>
+    <property name="plugin.main.version" value="12636"/>
 
     <!--
Index: applications/editors/josm/plugins/turnlanes/src/org/openstreetmap/josm/plugins/turnlanes/gui/TurnLanesDialog.java
===================================================================
--- applications/editors/josm/plugins/turnlanes/src/org/openstreetmap/josm/plugins/turnlanes/gui/TurnLanesDialog.java	(revision 33857)
+++ applications/editors/josm/plugins/turnlanes/src/org/openstreetmap/josm/plugins/turnlanes/gui/TurnLanesDialog.java	(revision 33858)
@@ -18,5 +18,4 @@
 import javax.swing.JToggleButton;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.JosmAction;
 import org.openstreetmap.josm.data.SelectionChangedListener;
@@ -34,4 +33,5 @@
 import org.openstreetmap.josm.data.osm.event.TagsChangedEvent;
 import org.openstreetmap.josm.data.osm.event.WayNodesChangedEvent;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.dialogs.ToggleDialog;
 import org.openstreetmap.josm.gui.layer.MainLayerManager.ActiveLayerChangeEvent;
@@ -147,5 +147,5 @@
         super(tr("Turn Lanes"), "turnlanes.png", tr("Edit turn lanes"), null, 200);
 
-        Main.getLayerManager().addActiveLayerChangeListener(this);
+        MainApplication.getLayerManager().addActiveLayerChangeListener(this);
         DataSet.addSelectionListener(this);
 
@@ -195,5 +195,5 @@
             oldLayer.data.removeDataSetListener(dataSetListener);
         }
-        OsmDataLayer newLayer = Main.getLayerManager().getEditLayer();
+        OsmDataLayer newLayer = MainApplication.getLayerManager().getEditLayer();
         if (newLayer != null) {
             newLayer.data.addDataSetListener(dataSetListener);
@@ -215,5 +215,5 @@
     public void destroy() {
         super.destroy();
-        Main.getLayerManager().removeActiveLayerChangeListener(this);
+        MainApplication.getLayerManager().removeActiveLayerChangeListener(this);
         DataSet.removeSelectionListener(this);
         editAction.destroy();
Index: applications/editors/josm/plugins/turnlanes/src/org/openstreetmap/josm/plugins/turnlanes/gui/ValidationPanel.java
===================================================================
--- applications/editors/josm/plugins/turnlanes/src/org/openstreetmap/josm/plugins/turnlanes/gui/ValidationPanel.java	(revision 33857)
+++ applications/editors/josm/plugins/turnlanes/src/org/openstreetmap/josm/plugins/turnlanes/gui/ValidationPanel.java	(revision 33858)
@@ -19,6 +19,6 @@
 import javax.swing.table.DefaultTableModel;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.JosmAction;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.SideButton;
 import org.openstreetmap.josm.plugins.turnlanes.model.Issue;
@@ -38,5 +38,5 @@
         @Override
         public void actionPerformed(ActionEvent e) {
-            setIssues(new Validator().validate(Main.getLayerManager().getEditDataSet()));
+            setIssues(new Validator().validate(MainApplication.getLayerManager().getEditDataSet()));
         }
     };
@@ -63,7 +63,7 @@
         public void actionPerformed(ActionEvent e) {
             if (selected.getRelation() == null) {
-                Main.getLayerManager().getEditDataSet().setSelected(selected.getPrimitives());
+                MainApplication.getLayerManager().getEditDataSet().setSelected(selected.getPrimitives());
             } else {
-                Main.getLayerManager().getEditDataSet().setSelected(selected.getRelation());
+                MainApplication.getLayerManager().getEditDataSet().setSelected(selected.getRelation());
             }
         }
Index: applications/editors/josm/plugins/turnlanes/src/org/openstreetmap/josm/plugins/turnlanes/model/GenericCommand.java
===================================================================
--- applications/editors/josm/plugins/turnlanes/src/org/openstreetmap/josm/plugins/turnlanes/model/GenericCommand.java	(revision 33857)
+++ applications/editors/josm/plugins/turnlanes/src/org/openstreetmap/josm/plugins/turnlanes/model/GenericCommand.java	(revision 33858)
@@ -33,10 +33,9 @@
     }
 
-    private final DataSet dataSet;
     private final String description;
     private final Map<OsmPrimitive, BeforeAfter> beforeAfters = new HashMap<>();
 
     public GenericCommand(DataSet dataSet, String description) {
-        this.dataSet = dataSet;
+        super(dataSet);
         this.description = description;
     }
@@ -71,5 +70,5 @@
         for (Entry<OsmPrimitive, BeforeAfter> e : beforeAfters.entrySet()) {
             if (e.getValue().before == null) {
-                dataSet.addPrimitive(e.getValue().afterPrimitive());
+                getAffectedDataSet().addPrimitive(e.getValue().afterPrimitive());
             } else {
                 e.getKey().load(e.getValue().afterData());
@@ -83,5 +82,5 @@
         for (Entry<OsmPrimitive, BeforeAfter> e : beforeAfters.entrySet()) {
             if (e.getValue().before == null) {
-                dataSet.removePrimitive(e.getValue().afterPrimitive().getPrimitiveId());
+                getAffectedDataSet().removePrimitive(e.getValue().afterPrimitive().getPrimitiveId());
             } else {
                 e.getKey().load(e.getValue().before);
