Index: applications/editors/josm/plugins/reverter/build.xml
===================================================================
--- applications/editors/josm/plugins/reverter/build.xml	(revision 33571)
+++ applications/editors/josm/plugins/reverter/build.xml	(revision 33572)
@@ -4,5 +4,5 @@
     <property name="commit.message" value="Reverter: Update MultiOsmReader to support null data after redaction"/>
     <!-- enter the *lowest* JOSM version this plugin is currently compatible with -->
-    <property name="plugin.main.version" value="10580"/>
+    <property name="plugin.main.version" value="12675"/>
 
     <!-- Configure these properties (replace "..." accordingly).
Index: applications/editors/josm/plugins/reverter/src/reverter/ChangesetIdQuery.java
===================================================================
--- applications/editors/josm/plugins/reverter/src/reverter/ChangesetIdQuery.java	(revision 33571)
+++ applications/editors/josm/plugins/reverter/src/reverter/ChangesetIdQuery.java	(revision 33572)
@@ -28,4 +28,5 @@
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.gui.ExtendedDialog;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.widgets.HistoryComboBox;
 import org.openstreetmap.josm.tools.GBC;
@@ -107,5 +108,5 @@
         super.setupDialog();
 
-        final DataSet ds = Main.getLayerManager().getEditDataSet();
+        final DataSet ds = MainApplication.getLayerManager().getEditDataSet();
 
         // Disables "Download in new layer" choice if there is no current data set (i.e no data layer)
Index: applications/editors/josm/plugins/reverter/src/reverter/ChangesetReverter.java
===================================================================
--- applications/editors/josm/plugins/reverter/src/reverter/ChangesetReverter.java	(revision 33571)
+++ applications/editors/josm/plugins/reverter/src/reverter/ChangesetReverter.java	(revision 33572)
@@ -12,5 +12,4 @@
 import java.util.List;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.command.Command;
 import org.openstreetmap.josm.command.DeleteCommand;
@@ -32,4 +31,5 @@
 import org.openstreetmap.josm.data.osm.history.HistoryRelation;
 import org.openstreetmap.josm.data.osm.history.HistoryWay;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
@@ -38,4 +38,5 @@
 import org.openstreetmap.josm.io.OsmApiException;
 import org.openstreetmap.josm.io.OsmTransferException;
+import org.openstreetmap.josm.tools.Logging;
 
 import reverter.corehacks.ChangesetDataSet;
@@ -138,5 +139,5 @@
             this.layer = new OsmDataLayer(this.ds, tr("Reverted changeset") + tr(" [id: {0}]", String.valueOf(changesetId)), null);
         } else {
-            this.layer = Main.getLayerManager().getEditLayer();
+            this.layer = MainApplication.getLayerManager().getEditLayer();
             this.ds = layer.data;
         }
@@ -154,10 +155,5 @@
             monitor.finishTask();
             if (newLayer) {
-                GuiHelper.runInEDT(new Runnable() {
-                    @Override
-                    public void run() {
-                        Main.getLayerManager().addLayer(layer);
-                    }
-                });
+                GuiHelper.runInEDT(() -> MainApplication.getLayerManager().addLayer(layer));
             }
         }
@@ -204,10 +200,10 @@
                     message += ", requesting previous one";
                 }
-                Main.info(message);
+                Logging.info(message);
                 version--;
             }
         }
         if (!readOK) {
-            Main.warn("Cannot retrieve any previous version of "+id);
+            Logging.warn("Cannot retrieve any previous version of "+id);
         }
     }
Index: applications/editors/josm/plugins/reverter/src/reverter/DataSetCommandMerger.java
===================================================================
--- applications/editors/josm/plugins/reverter/src/reverter/DataSetCommandMerger.java	(revision 33571)
+++ applications/editors/josm/plugins/reverter/src/reverter/DataSetCommandMerger.java	(revision 33572)
@@ -10,5 +10,4 @@
 import java.util.List;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.command.ChangeCommand;
 import org.openstreetmap.josm.command.Command;
@@ -21,4 +20,5 @@
 import org.openstreetmap.josm.data.osm.RelationMember;
 import org.openstreetmap.josm.data.osm.Way;
+import org.openstreetmap.josm.tools.Logging;
 
 /**
@@ -53,5 +53,5 @@
                 nominalRevertedPrimitives.add(target);
             }
-            Main.debug("Reverting "+target+" to "+newTarget);
+            Logging.debug("Reverting "+target+" to "+newTarget);
         }
     }
@@ -113,5 +113,5 @@
                 localConflicts.add(new Conflict<OsmPrimitive>(targetNode, sourceNode, true));
             } else {
-                Main.info("Skipping target node "+targetNode+" for source node "+sourceNode+" while reverting way "+source);
+               Logging.info("Skipping target node "+targetNode+" for source node "+sourceNode+" while reverting way "+source);
             }
         }
@@ -120,8 +120,8 @@
         newTarget.setNodes(newNodes);
         if (newNodes.isEmpty()) {
-            Main.error("Unable to revert "+source+" as it produces 0 nodes way "+newTarget);
+            Logging.error("Unable to revert "+source+" as it produces 0 nodes way "+newTarget);
         } else {
             for (Conflict<OsmPrimitive> c : localConflicts) {
-                Main.warn("New conflict: "+c);
+                Logging.warn("New conflict: "+c);
                 conflicts.add(c);
                 Node targetNode = (Node) c.getTheir();
Index: applications/editors/josm/plugins/reverter/src/reverter/RevertChangesetAction.java
===================================================================
--- applications/editors/josm/plugins/reverter/src/reverter/RevertChangesetAction.java	(revision 33571)
+++ applications/editors/josm/plugins/reverter/src/reverter/RevertChangesetAction.java	(revision 33572)
@@ -8,6 +8,6 @@
 import java.util.Collection;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.JosmAction;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.tools.Shortcut;
 
@@ -36,5 +36,5 @@
         final boolean autoConfirmDownload = newLayer || changesetIds.size() > 1;
         for (Integer changesetId : changesetIds) {
-            Main.worker.submit(new RevertChangesetTask(changesetId, revertType, autoConfirmDownload, newLayer));
+            MainApplication.worker.submit(new RevertChangesetTask(changesetId, revertType, autoConfirmDownload, newLayer));
             newLayer = false; // reuse layer for subsequent reverts
         }
Index: applications/editors/josm/plugins/reverter/src/reverter/RevertChangesetHandler.java
===================================================================
--- applications/editors/josm/plugins/reverter/src/reverter/RevertChangesetHandler.java	(revision 33571)
+++ applications/editors/josm/plugins/reverter/src/reverter/RevertChangesetHandler.java	(revision 33572)
@@ -4,5 +4,5 @@
 import static org.openstreetmap.josm.tools.I18n.tr;
 
-import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.io.remotecontrol.PermissionPrefWithDefault;
 import org.openstreetmap.josm.io.remotecontrol.handler.RequestHandler;
@@ -19,5 +19,5 @@
             RequestHandlerBadRequestException {
         try {
-            Main.worker.submit(new RevertChangesetTask(changesetId, ChangesetReverter.RevertType.FULL, true));
+            MainApplication.worker.submit(new RevertChangesetTask(changesetId, ChangesetReverter.RevertType.FULL, true));
         } catch (Exception ex) {
             System.out.println("RemoteControl: Error parsing revert_changeset remote control request:");
Index: applications/editors/josm/plugins/reverter/src/reverter/RevertChangesetTask.java
===================================================================
--- applications/editors/josm/plugins/reverter/src/reverter/RevertChangesetTask.java	(revision 33571)
+++ applications/editors/josm/plugins/reverter/src/reverter/RevertChangesetTask.java	(revision 33572)
@@ -12,8 +12,9 @@
 import org.openstreetmap.josm.command.Command;
 import org.openstreetmap.josm.command.conflict.ConflictAddCommand;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.Notification;
 import org.openstreetmap.josm.gui.PleaseWaitRunnable;
-import org.openstreetmap.josm.gui.progress.PleaseWaitProgressMonitor;
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
+import org.openstreetmap.josm.gui.progress.swing.PleaseWaitProgressMonitor;
 import org.openstreetmap.josm.gui.util.GuiHelper;
 import org.openstreetmap.josm.io.OsmTransferException;
@@ -123,7 +124,7 @@
             @Override
             public void run() {
-                Main.main.undoRedo.add(cmd);
+                MainApplication.undoRedo.add(cmd);
                 if (newConflicts > 0) {
-                    Main.map.conflictDialog.warnNumNewConflicts(newConflicts);
+                    MainApplication.getMap().conflictDialog.warnNumNewConflicts(newConflicts);
                 }
             }
Index: applications/editors/josm/plugins/reverter/src/reverter/ReverterPlugin.java
===================================================================
--- applications/editors/josm/plugins/reverter/src/reverter/ReverterPlugin.java	(revision 33571)
+++ applications/editors/josm/plugins/reverter/src/reverter/ReverterPlugin.java	(revision 33572)
@@ -4,6 +4,6 @@
 import javax.swing.JMenu;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.UploadAction;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.MainMenu;
 import org.openstreetmap.josm.io.remotecontrol.RemoteControl;
@@ -15,5 +15,5 @@
     public ReverterPlugin(PluginInformation info) {
         super(info);
-        JMenu historyMenu = Main.main.menu.dataMenu;
+        JMenu historyMenu = MainApplication.getMenu().dataMenu;
         //MainMenu.add(historyMenu, new ObjectsHistoryAction());
         MainMenu.add(historyMenu, new RevertChangesetAction());
Index: applications/editors/josm/plugins/reverter/src/reverter/ReverterUploadHook.java
===================================================================
--- applications/editors/josm/plugins/reverter/src/reverter/ReverterUploadHook.java	(revision 33571)
+++ applications/editors/josm/plugins/reverter/src/reverter/ReverterUploadHook.java	(revision 33572)
@@ -2,8 +2,8 @@
 package reverter;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.upload.UploadHook;
 import org.openstreetmap.josm.command.Command;
 import org.openstreetmap.josm.data.APIDataSet;
+import org.openstreetmap.josm.gui.MainApplication;
 
 public class ReverterUploadHook implements UploadHook {
@@ -17,5 +17,5 @@
         if (!ReverterPlugin.reverterUsed) return true;
         boolean hasRevertions = false;
-        for (Command cmd : Main.main.undoRedo.commands) {
+        for (Command cmd : MainApplication.undoRedo.commands) {
             if (cmd instanceof RevertChangesetCommand) {
                 hasRevertions = true;
@@ -25,5 +25,5 @@
 
         if (hasRevertions) {
-            Main.getLayerManager().getEditDataSet().addChangeSetTag("created_by", "reverter");
+            MainApplication.getLayerManager().getEditDataSet().addChangeSetTag("created_by", "reverter");
         }
         return true;
