Index: /applications/editors/josm/plugins/reltoolbox/build.xml
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/build.xml	(revision 33529)
+++ /applications/editors/josm/plugins/reltoolbox/build.xml	(revision 33530)
@@ -4,5 +4,5 @@
     <property name="commit.message" value="RelToolbox: make natural sort for relation and find relation lists"/>
     <!-- enter the *lowest* JOSM version this plugin is currently compatible with -->
-    <property name="plugin.main.version" value="10580"/>
+    <property name="plugin.main.version" value="12663"/>
 
     <property name="plugin.author" value="Ilya Zverev"/>
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/ChosenRelation.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/ChosenRelation.java	(revision 33529)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/ChosenRelation.java	(revision 33530)
@@ -13,5 +13,4 @@
 import java.util.Set;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.Bounds;
 import org.openstreetmap.josm.data.osm.Node;
@@ -28,4 +27,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.MapView;
 import org.openstreetmap.josm.gui.layer.MainLayerManager.ActiveLayerChangeEvent;
@@ -49,5 +49,5 @@
         chosenRelation = rel;
         analyse();
-        Main.map.mapView.repaint();
+        MainApplication.getMap().mapView.repaint();
         fireRelationChanged(oldRel);
     }
@@ -124,10 +124,10 @@
         // todo: dim chosen relation when changing layer
         // todo: check this WTF!
-        OsmDataLayer newLayer = Main.getLayerManager().getEditLayer();
+        OsmDataLayer newLayer = MainApplication.getLayerManager().getEditLayer();
         clear();
         if (newLayer != null && e.getPreviousEditLayer() == null) {
-            Main.map.mapView.addTemporaryLayer(this);
+            MainApplication.getMap().mapView.addTemporaryLayer(this);
         } else if (newLayer == null) {
-            Main.map.mapView.removeTemporaryLayer(this);
+            MainApplication.getMap().mapView.removeTemporaryLayer(this);
         }
     }
@@ -159,5 +159,6 @@
             visitedRelations.add(rel);
             for (OsmPrimitive element : rel.getMemberPrimitives()) {
-                if (null != element.getType()) switch(element.getType()) {
+                if (null != element.getType()) {
+                    switch(element.getType()) {
                     case NODE:
                         Node node = (Node) element;
@@ -185,4 +186,5 @@
                     default:
                         break;
+                    }
                 }
             }
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/ExtraNameFormatHook.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/ExtraNameFormatHook.java	(revision 33529)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/ExtraNameFormatHook.java	(revision 33530)
@@ -5,5 +5,5 @@
 import org.openstreetmap.josm.data.osm.IRelation;
 import org.openstreetmap.josm.data.osm.IWay;
-import org.openstreetmap.josm.gui.NameFormatterHook;
+import org.openstreetmap.josm.data.osm.NameFormatterHook;
 
 /**
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/RelContextDialog.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/RelContextDialog.java	(revision 33529)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/RelContextDialog.java	(revision 33530)
@@ -64,4 +64,5 @@
 import org.openstreetmap.josm.command.SequenceCommand;
 import org.openstreetmap.josm.data.SelectionChangedListener;
+import org.openstreetmap.josm.data.osm.DefaultNameFormatter;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.Relation;
@@ -70,5 +71,5 @@
 import org.openstreetmap.josm.data.osm.event.DatasetEventManager.FireMode;
 import org.openstreetmap.josm.data.osm.event.SelectionEventManager;
-import org.openstreetmap.josm.gui.DefaultNameFormatter;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.OsmPrimitivRenderer;
 import org.openstreetmap.josm.gui.dialogs.ToggleDialog;
@@ -77,4 +78,5 @@
 import org.openstreetmap.josm.gui.tagging.ac.AutoCompletingComboBox;
 import org.openstreetmap.josm.tools.GBC;
+import org.openstreetmap.josm.tools.Logging;
 import org.openstreetmap.josm.tools.Shortcut;
 
@@ -125,5 +127,5 @@
         chosenRelation = new ChosenRelation();
         chosenRelation.addChosenRelationListener(this);
-        Main.getLayerManager().addActiveLayerChangeListener(chosenRelation);
+        MainApplication.getLayerManager().addActiveLayerChangeListener(chosenRelation);
 
         popupMenu = new ChosenRelationPopupMenu(chosenRelation);
@@ -252,5 +254,5 @@
                     Relation relation = (Relation) relationsData.getValueAt(row, 0);
                     if (e.getClickCount() > 1) {
-                        Main.getLayerManager().getEditLayer().data.setSelected(relation);
+                        MainApplication.getLayerManager().getEditLayer().data.setSelected(relation);
                     }
                 }
@@ -337,5 +339,5 @@
     public void hideNotify() {
         SelectionEventManager.getInstance().removeSelectionListener(this);
-        Main.getLayerManager().removeActiveLayerChangeListener(this);
+        MainApplication.getLayerManager().removeActiveLayerChangeListener(this);
         DatasetEventManager.getInstance().removeDatasetListener(chosenRelation);
         chosenRelation.clear();
@@ -345,5 +347,5 @@
     public void showNotify() {
         SelectionEventManager.getInstance().addSelectionListener(this, FireMode.IN_EDT_CONSOLIDATED);
-        Main.getLayerManager().addActiveLayerChangeListener(this);
+        MainApplication.getLayerManager().addActiveLayerChangeListener(this);
         DatasetEventManager.getInstance().addDatasetListener(chosenRelation, FireMode.IN_EDT);
     }
@@ -358,6 +360,6 @@
             chosenRelationPanel.setVisible(newRelation != null);
         }
-        if (Main.getLayerManager().getEditDataSet() != null) {
-            selectionChanged(Main.getLayerManager().getEditDataSet().getSelected());
+        if (MainApplication.getLayerManager().getEditDataSet() != null) {
+            selectionChanged(MainApplication.getLayerManager().getEditDataSet().getSelected());
         }
         roleBoxModel.update();
@@ -409,8 +411,8 @@
 
     private void updateSelection() {
-        if (Main.getLayerManager().getEditDataSet() == null) {
+        if (MainApplication.getLayerManager().getEditDataSet() == null) {
             selectionChanged(Collections.<OsmPrimitive>emptyList());
         } else {
-            selectionChanged(Main.getLayerManager().getEditDataSet().getSelected());
+            selectionChanged(MainApplication.getLayerManager().getEditDataSet().getSelected());
         }
     }
@@ -455,6 +457,6 @@
             }
         } catch (Exception e) {
-            Main.error("[RelToolbox] Error reading possible roles file.");
-            Main.error(e);
+            Logging.error("[RelToolbox] Error reading possible roles file.");
+            Logging.error(e);
         }
         return result;
@@ -510,6 +512,7 @@
         public void mouseClicked(MouseEvent e) {
             if (e.isControlDown() || !(e.getComponent() instanceof JComboBox)) // do not use left click handler on combo box
-                if (SwingUtilities.isLeftMouseButton(e) && chosenRelation.get() != null && Main.getLayerManager().getEditLayer() != null) {
-                    Main.getLayerManager().getEditLayer().data.setSelected(chosenRelation.get());
+                if (SwingUtilities.isLeftMouseButton(e) && chosenRelation.get() != null
+                && MainApplication.getLayerManager().getEditLayer() != null) {
+                    MainApplication.getLayerManager().getEditLayer().data.setSelected(chosenRelation.get());
                 }
         }
@@ -549,6 +552,7 @@
     protected void applyRoleToSelection(String role) {
         if (chosenRelation != null && chosenRelation.get() != null
-                && Main.getLayerManager().getEditDataSet() != null && !Main.getLayerManager().getEditDataSet().selectionEmpty()) {
-            Collection<OsmPrimitive> selected = Main.getLayerManager().getEditDataSet().getSelected();
+                && MainApplication.getLayerManager().getEditDataSet() != null
+                && !MainApplication.getLayerManager().getEditDataSet().selectionEmpty()) {
+            Collection<OsmPrimitive> selected = MainApplication.getLayerManager().getEditDataSet().getSelected();
             Relation r = chosenRelation.get();
             List<Command> commands = new ArrayList<>();
@@ -563,5 +567,5 @@
             if (!commands.isEmpty()) {
                 //                Main.main.undoRedo.add(new ChangeCommand(chosenRelation.get(), r));
-                Main.main.undoRedo.add(new SequenceCommand(tr("Change relation member roles to {0}", role), commands));
+                MainApplication.undoRedo.add(new SequenceCommand(tr("Change relation member roles to {0}", role), commands));
             }
         }
@@ -706,6 +710,7 @@
             String role = null;
             if (chosenRelation != null && chosenRelation.get() != null
-                    && Main.getLayerManager().getEditDataSet() != null && !Main.getLayerManager().getEditDataSet().selectionEmpty()) {
-                Collection<OsmPrimitive> selected = Main.getLayerManager().getEditDataSet().getSelected();
+                    && MainApplication.getLayerManager().getEditDataSet() != null
+                    && !MainApplication.getLayerManager().getEditDataSet().selectionEmpty()) {
+                Collection<OsmPrimitive> selected = MainApplication.getLayerManager().getEditDataSet().getSelected();
                 for (RelationMember m : chosenRelation.get().getMembers()) {
                     if (selected.contains(m.getMember())) {
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/RelContextPlugin.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/RelContextPlugin.java	(revision 33529)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/RelContextPlugin.java	(revision 33530)
@@ -2,5 +2,5 @@
 package relcontext;
 
-import org.openstreetmap.josm.gui.DefaultNameFormatter;
+import org.openstreetmap.josm.data.osm.DefaultNameFormatter;
 import org.openstreetmap.josm.gui.MapFrame;
 import org.openstreetmap.josm.plugins.Plugin;
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/AddRemoveMemberAction.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/AddRemoveMemberAction.java	(revision 33529)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/AddRemoveMemberAction.java	(revision 33530)
@@ -9,5 +9,4 @@
 import java.util.Collection;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.JosmAction;
 import org.openstreetmap.josm.command.ChangeCommand;
@@ -20,4 +19,5 @@
 import org.openstreetmap.josm.data.osm.RelationMember;
 import org.openstreetmap.josm.data.osm.Way;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.util.GuiHelper;
 import org.openstreetmap.josm.tools.ImageProvider;
@@ -82,5 +82,5 @@
 
         if (!r.getMemberPrimitives().equals(rel.get().getMemberPrimitives())) {
-            Main.main.undoRedo.add(new ChangeCommand(rel.get(), r));
+            MainApplication.undoRedo.add(new ChangeCommand(rel.get(), r));
         }
     }
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/CreateMultipolygonAction.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/CreateMultipolygonAction.java	(revision 33529)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/CreateMultipolygonAction.java	(revision 33530)
@@ -41,4 +41,5 @@
 import org.openstreetmap.josm.data.osm.RelationMember;
 import org.openstreetmap.josm.data.osm.Way;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.tools.GBC;
 import org.openstreetmap.josm.tools.Shortcut;
@@ -104,5 +105,5 @@
                     rels = TheRing.makeManySimpleMultipolygons(ds.getSelectedWays(), commands);
                     if (!commands.isEmpty()) {
-                        Main.main.undoRedo.add(new SequenceCommand(tr("Create multipolygons from rings"), commands));
+                        MainApplication.undoRedo.add(new SequenceCommand(tr("Create multipolygons from rings"), commands));
                     }
                 }
@@ -147,5 +148,5 @@
         List<Command> list = removeTagsFromInnerWays(rel);
         if (!list.isEmpty() && isBoundary) {
-            Main.main.undoRedo.add(new SequenceCommand(tr("Move tags from ways to relation"), list));
+            MainApplication.undoRedo.add(new SequenceCommand(tr("Move tags from ways to relation"), list));
             list = new ArrayList<>();
         }
@@ -159,5 +160,5 @@
         }
         list.add(new AddCommand(rel));
-        Main.main.undoRedo.add(new SequenceCommand(tr("Create multipolygon"), list));
+        MainApplication.undoRedo.add(new SequenceCommand(tr("Create multipolygon"), list));
 
         if (chRel != null) {
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/CreateRelationAction.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/CreateRelationAction.java	(revision 33529)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/CreateRelationAction.java	(revision 33530)
@@ -25,4 +25,5 @@
 import org.openstreetmap.josm.data.osm.Relation;
 import org.openstreetmap.josm.data.osm.RelationMember;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.tagging.ac.AutoCompletingComboBox;
 import org.openstreetmap.josm.tools.GBC;
@@ -67,5 +68,5 @@
         }
 
-        Main.main.undoRedo.add(new AddCommand(rel));
+        MainApplication.undoRedo.add(new AddCommand(rel));
 
         if (chRel != null) {
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/DeleteChosenRelationAction.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/DeleteChosenRelationAction.java	(revision 33529)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/DeleteChosenRelationAction.java	(revision 33530)
@@ -9,8 +9,8 @@
 import javax.swing.AbstractAction;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.command.Command;
 import org.openstreetmap.josm.command.DeleteCommand;
 import org.openstreetmap.josm.data.osm.Relation;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.tools.ImageProvider;
 
@@ -33,7 +33,7 @@
         Relation r = rel.get();
         rel.clear();
-        Command c = DeleteCommand.delete(Main.getLayerManager().getEditLayer(), Collections.singleton(r), true, true);
+        Command c = DeleteCommand.delete(MainApplication.getLayerManager().getEditLayer(), Collections.singleton(r), true, true);
         if (c != null) {
-            Main.main.undoRedo.add(c);
+            MainApplication.undoRedo.add(c);
         }
     }
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/DownloadChosenRelationAction.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/DownloadChosenRelationAction.java	(revision 33529)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/DownloadChosenRelationAction.java	(revision 33530)
@@ -11,8 +11,8 @@
 import javax.swing.AbstractAction;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.Relation;
 import org.openstreetmap.josm.data.osm.RelationMember;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.dialogs.relation.DownloadRelationMemberTask;
 import org.openstreetmap.josm.gui.dialogs.relation.DownloadRelationTask;
@@ -67,5 +67,6 @@
     protected void downloadMembers(Relation rel) {
         if (!rel.isNew()) {
-            Main.worker.submit(new DownloadRelationTask(Collections.singletonList(rel), Main.getLayerManager().getEditLayer()));
+            MainApplication.worker.submit(
+                    new DownloadRelationTask(Collections.singletonList(rel), MainApplication.getLayerManager().getEditLayer()));
         }
     }
@@ -76,5 +77,6 @@
         ret.addAll(rel.getIncompleteMembers());
         if (ret.isEmpty()) return;
-        Main.worker.submit(new DownloadRelationMemberTask(Collections.singletonList(rel), ret, Main.getLayerManager().getEditLayer()));
+        MainApplication.worker.submit(
+                new DownloadRelationMemberTask(Collections.singletonList(rel), ret, MainApplication.getLayerManager().getEditLayer()));
     }
 }
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/DownloadParentsAction.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/DownloadParentsAction.java	(revision 33529)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/DownloadParentsAction.java	(revision 33530)
@@ -13,8 +13,8 @@
 import javax.swing.AbstractAction;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.downloadtasks.DownloadReferrersTask;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.Relation;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.dialogs.relation.DownloadRelationMemberTask;
 import org.openstreetmap.josm.gui.dialogs.relation.DownloadRelationTask;
@@ -38,5 +38,5 @@
         this.rel = rel;
         rel.addChosenRelationListener(this);
-        setEnabled(rel.get() != null && Main.getLayerManager().getEditLayer() != null);
+        setEnabled(rel.get() != null && MainApplication.getLayerManager().getEditLayer() != null);
     }
 
@@ -48,15 +48,17 @@
         objects.add(relation);
         objects.addAll(relation.getMemberPrimitives());
-        Main.worker.submit(new DownloadReferrersTask(Main.getLayerManager().getEditLayer(), objects));
+        MainApplication.worker.submit(
+                new DownloadReferrersTask(MainApplication.getLayerManager().getEditLayer(), objects));
     }
 
     @Override
     public void chosenRelationChanged(Relation oldRelation, Relation newRelation) {
-        setEnabled(newRelation != null && Main.getLayerManager().getEditLayer() != null);
+        setEnabled(newRelation != null && MainApplication.getLayerManager().getEditLayer() != null);
     }
 
     protected void downloadMembers(Relation rel) {
         if (!rel.isNew()) {
-            Main.worker.submit(new DownloadRelationTask(Collections.singletonList(rel), Main.getLayerManager().getEditLayer()));
+            MainApplication.worker.submit(
+                    new DownloadRelationTask(Collections.singletonList(rel), MainApplication.getLayerManager().getEditLayer()));
         }
     }
@@ -67,5 +69,6 @@
         ret.addAll(rel.getIncompleteMembers());
         if (ret.isEmpty()) return;
-        Main.worker.submit(new DownloadRelationMemberTask(Collections.singletonList(rel), ret, Main.getLayerManager().getEditLayer()));
+        MainApplication.worker.submit(
+                new DownloadRelationMemberTask(Collections.singletonList(rel), ret, MainApplication.getLayerManager().getEditLayer()));
     }
 }
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/DuplicateChosenRelationAction.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/DuplicateChosenRelationAction.java	(revision 33529)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/DuplicateChosenRelationAction.java	(revision 33530)
@@ -8,7 +8,7 @@
 import javax.swing.AbstractAction;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.command.AddCommand;
 import org.openstreetmap.josm.data.osm.Relation;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.tools.ImageProvider;
 
@@ -32,8 +32,8 @@
         Relation r = rel.get();
         Relation copy = new Relation(r, true);
-        Main.main.undoRedo.add(new AddCommand(copy));
+        MainApplication.undoRedo.add(new AddCommand(copy));
         rel.set(copy);
-        if (Main.getLayerManager().getEditDataSet() != null) {
-            Main.getLayerManager().getEditDataSet().setSelected(copy);
+        if (MainApplication.getLayerManager().getEditDataSet() != null) {
+            MainApplication.getLayerManager().getEditDataSet().setSelected(copy);
         }
     }
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/EditChosenRelationAction.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/EditChosenRelationAction.java	(revision 33529)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/EditChosenRelationAction.java	(revision 33530)
@@ -8,6 +8,6 @@
 import javax.swing.AbstractAction;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.osm.Relation;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.dialogs.relation.RelationEditor;
 import org.openstreetmap.josm.tools.ImageProvider;
@@ -36,5 +36,5 @@
         Relation relation = rel.get();
         if (relation == null) return;
-        RelationEditor.getEditor(Main.getLayerManager().getEditLayer(), relation, null).setVisible(true);
+        RelationEditor.getEditor(MainApplication.getLayerManager().getEditLayer(), relation, null).setVisible(true);
     }
 
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/FindRelationAction.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/FindRelationAction.java	(revision 33529)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/FindRelationAction.java	(revision 33530)
@@ -31,7 +31,8 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.JosmAction;
+import org.openstreetmap.josm.data.osm.DefaultNameFormatter;
 import org.openstreetmap.josm.data.osm.Relation;
-import org.openstreetmap.josm.gui.DefaultNameFormatter;
 import org.openstreetmap.josm.gui.OsmPrimitivRenderer;
+import org.openstreetmap.josm.tools.Logging;
 import org.openstreetmap.josm.tools.Shortcut;
 
@@ -159,8 +160,8 @@
         }
 
-        if (Main.isDebugEnabled()) {
-            Main.debug("keywords.length = " + keywords.length);
+        if (Logging.isDebugEnabled()) {
+            Logging.debug("keywords.length = " + keywords.length);
             for (int i = 0; i < keywords.length; i++) {
-                Main.debug("keyword["+i+"] = " + keywords[i]);
+                Logging.debug("keyword["+i+"] = " + keywords[i]);
             }
         }
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/ReconstructPolygonAction.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/ReconstructPolygonAction.java	(revision 33529)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/ReconstructPolygonAction.java	(revision 33530)
@@ -24,4 +24,5 @@
 import org.openstreetmap.josm.command.SequenceCommand;
 import org.openstreetmap.josm.data.coor.EastNorth;
+import org.openstreetmap.josm.data.osm.DefaultNameFormatter;
 import org.openstreetmap.josm.data.osm.MultipolygonBuilder;
 import org.openstreetmap.josm.data.osm.MultipolygonBuilder.JoinedPolygon;
@@ -30,5 +31,5 @@
 import org.openstreetmap.josm.data.osm.RelationMember;
 import org.openstreetmap.josm.data.osm.Way;
-import org.openstreetmap.josm.gui.DefaultNameFormatter;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.tools.ImageProvider;
 
@@ -84,5 +85,6 @@
         List<OsmPrimitive> newSelection = new ArrayList<>();
         List<Command> commands = new ArrayList<>();
-        Command relationDeleteCommand = DeleteCommand.delete(Main.getLayerManager().getEditLayer(), Collections.singleton(r), true, true);
+        Command relationDeleteCommand = DeleteCommand.delete(
+                MainApplication.getLayerManager().getEditLayer(), Collections.singleton(r), true, true);
         if (relationDeleteCommand == null)
             return;
@@ -195,7 +197,7 @@
         }
 
-        Main.main.undoRedo.add(new SequenceCommand(tr("Reconstruct polygons from relation {0}",
+        MainApplication.undoRedo.add(new SequenceCommand(tr("Reconstruct polygons from relation {0}",
                 r.getDisplayName(DefaultNameFormatter.getInstance())), commands));
-        Main.getLayerManager().getEditDataSet().setSelected(newSelection);
+        MainApplication.getLayerManager().getEditDataSet().setSelected(newSelection);
     }
 
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/ReconstructRouteAction.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/ReconstructRouteAction.java	(revision 33529)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/ReconstructRouteAction.java	(revision 33530)
@@ -12,5 +12,4 @@
 import javax.swing.AbstractAction;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.command.ChangeCommand;
 import org.openstreetmap.josm.command.Command;
@@ -22,4 +21,5 @@
 import org.openstreetmap.josm.data.osm.RelationMember;
 import org.openstreetmap.josm.data.osm.Way;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.dialogs.relation.sort.RelationSorter;
 import org.openstreetmap.josm.tools.Geometry;
@@ -190,5 +190,5 @@
         }
         Command command = new ChangeCommand(r, recRel);
-        Main.main.undoRedo.add(command);
+        MainApplication.undoRedo.add(command);
     }
 
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/RelationHelpAction.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/RelationHelpAction.java	(revision 33529)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/RelationHelpAction.java	(revision 33530)
@@ -15,4 +15,5 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.osm.Relation;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.tools.ImageProvider;
 import org.openstreetmap.josm.tools.LanguageInfo;
@@ -61,46 +62,43 @@
             uris.add(new URI(String.format("%sRelations", base)));
 
-            Main.worker.execute(new Runnable() {
-                @Override
-                public void run() {
-                    try {
-                        // find a page that actually exists in the wiki
-                        HttpURLConnection conn;
-                        for (URI u : uris) {
-                            conn = (HttpURLConnection) u.toURL().openConnection();
+            MainApplication.worker.execute(() -> {
+                try {
+                    // find a page that actually exists in the wiki
+                    HttpURLConnection conn;
+                    for (URI u : uris) {
+                        conn = (HttpURLConnection) u.toURL().openConnection();
+                        conn.setConnectTimeout(5000);
+
+                        if (conn.getResponseCode() != 200) {
+                            System.out.println("INFO: " + u + " does not exist");
+                            conn.disconnect();
+                        } else {
+                            int osize = conn.getContentLength();
+                            conn.disconnect();
+
+                            conn = (HttpURLConnection) new URI(u.toString()
+                                    .replace("=", "%3D") /* do not URLencode whole string! */
+                                    .replaceFirst("/wiki/", "/w/index.php?redirect=no&title=")
+                                    ).toURL().openConnection();
                             conn.setConnectTimeout(5000);
 
-                            if (conn.getResponseCode() != 200) {
-                                System.out.println("INFO: " + u + " does not exist");
+                            /* redirect pages have different content length, but retrieving a "nonredirect"
+                             *  page using index.php and the direct-link method gives slightly different
+                             *  content lengths, so we have to be fuzzy.. (this is UGLY, recode if u know better)
+                             */
+                            if (Math.abs(conn.getContentLength() - osize) > 200) {
+                                System.out.println("INFO: " + u + " is a mediawiki redirect");
                                 conn.disconnect();
                             } else {
-                                int osize = conn.getContentLength();
+                                System.out.println("INFO: browsing to " + u);
                                 conn.disconnect();
 
-                                conn = (HttpURLConnection) new URI(u.toString()
-                                        .replace("=", "%3D") /* do not URLencode whole string! */
-                                        .replaceFirst("/wiki/", "/w/index.php?redirect=no&title=")
-                                        ).toURL().openConnection();
-                                conn.setConnectTimeout(5000);
-
-                                /* redirect pages have different content length, but retrieving a "nonredirect"
-                                 *  page using index.php and the direct-link method gives slightly different
-                                 *  content lengths, so we have to be fuzzy.. (this is UGLY, recode if u know better)
-                                 */
-                                if (Math.abs(conn.getContentLength() - osize) > 200) {
-                                    System.out.println("INFO: " + u + " is a mediawiki redirect");
-                                    conn.disconnect();
-                                } else {
-                                    System.out.println("INFO: browsing to " + u);
-                                    conn.disconnect();
-
-                                    OpenBrowser.displayUrl(u.toString());
-                                    break;
-                                }
+                                OpenBrowser.displayUrl(u.toString());
+                                break;
                             }
                         }
-                    } catch (Exception e) {
-                        e.printStackTrace();
                     }
+                } catch (Exception e1) {
+                    e1.printStackTrace();
                 }
             });
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/SelectInRelationPanelAction.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/SelectInRelationPanelAction.java	(revision 33529)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/SelectInRelationPanelAction.java	(revision 33530)
@@ -8,6 +8,6 @@
 import javax.swing.AbstractAction;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.osm.Relation;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.tools.ImageProvider;
 
@@ -31,6 +31,6 @@
     public void actionPerformed(ActionEvent e) {
         if (rel.get() != null) {
-            Main.map.relationListDialog.selectRelation(rel.get());
-            Main.map.relationListDialog.unfurlDialog();
+            MainApplication.getMap().relationListDialog.selectRelation(rel.get());
+            MainApplication.getMap().relationListDialog.unfurlDialog();
         }
     }
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/SelectMembersAction.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/SelectMembersAction.java	(revision 33529)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/SelectMembersAction.java	(revision 33530)
@@ -8,6 +8,6 @@
 import javax.swing.AbstractAction;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.osm.Relation;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.tools.ImageProvider;
 
@@ -28,5 +28,5 @@
     @Override
     public void actionPerformed(ActionEvent e) {
-        Main.getLayerManager().getEditLayer().data.setSelected(rel.get() == null ? null : rel.get().getMemberPrimitives());
+        MainApplication.getLayerManager().getEditLayer().data.setSelected(rel.get() == null ? null : rel.get().getMemberPrimitives());
     }
 
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/SelectRelationAction.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/SelectRelationAction.java	(revision 33529)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/SelectRelationAction.java	(revision 33530)
@@ -8,6 +8,6 @@
 import javax.swing.AbstractAction;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.osm.Relation;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.tools.ImageProvider;
 
@@ -29,5 +29,5 @@
     @Override
     public void actionPerformed(ActionEvent e) {
-        Main.getLayerManager().getEditLayer().data.setSelected(rel.get() == null ? null : rel.get());
+        MainApplication.getLayerManager().getEditLayer().data.setSelected(rel.get() == null ? null : rel.get());
     }
 
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/SortAndFixAction.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/SortAndFixAction.java	(revision 33529)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/SortAndFixAction.java	(revision 33530)
@@ -11,8 +11,8 @@
 import javax.swing.Action;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.command.Command;
 import org.openstreetmap.josm.data.osm.Relation;
 import org.openstreetmap.josm.data.osm.RelationMember;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.tools.ImageProvider;
 
@@ -57,5 +57,5 @@
         Command c = fixRelation(rel.get());
         if (c != null) {
-            Main.main.undoRedo.add(c);
+            MainApplication.undoRedo.add(c);
         }
     }
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/SplittingMultipolygons.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/SplittingMultipolygons.java	(revision 33529)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/SplittingMultipolygons.java	(revision 33530)
@@ -20,4 +20,5 @@
 import org.openstreetmap.josm.data.coor.EastNorth;
 import org.openstreetmap.josm.data.coor.LatLon;
+import org.openstreetmap.josm.data.osm.DefaultNameFormatter;
 import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
@@ -25,5 +26,5 @@
 import org.openstreetmap.josm.data.osm.RelationMember;
 import org.openstreetmap.josm.data.osm.Way;
-import org.openstreetmap.josm.gui.DefaultNameFormatter;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.tools.Geometry;
 import org.openstreetmap.josm.tools.Geometry.PolygonIntersection;
@@ -43,5 +44,5 @@
         List<Way> rings = new ArrayList<>();
         List<Way> arcs = new ArrayList<>();
-        Area a = Main.getLayerManager().getEditDataSet().getDataSourceArea();
+        Area a = MainApplication.getLayerManager().getEditDataSet().getDataSourceArea();
         for (Way way : ways) {
             if (way.isDeleted())
@@ -104,5 +105,5 @@
             Relation newRelation = SplittingMultipolygons.attachRingToNeighbours(ring, commands);
             if (newRelation != null && !commands.isEmpty()) {
-                Main.main.undoRedo.add(commands.get(0));
+                MainApplication.undoRedo.add(commands.get(0));
                 result.add(newRelation);
             }
@@ -113,5 +114,5 @@
             Relation newRelation = SplittingMultipolygons.tryToCloseOneWay(arc, commands);
             if (newRelation != null && !commands.isEmpty()) {
-                Main.main.undoRedo.add(commands.get(0));
+                MainApplication.undoRedo.add(commands.get(0));
                 result.add(newRelation);
             }
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/TheRing.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/TheRing.java	(revision 33529)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/TheRing.java	(revision 33530)
@@ -24,4 +24,5 @@
 import org.openstreetmap.josm.tools.Geometry;
 import org.openstreetmap.josm.tools.Geometry.PolygonIntersection;
+import org.openstreetmap.josm.tools.Logging;
 
 /**
@@ -431,5 +432,5 @@
 
     private static void log(String s) {
-        Main.debug(s);
+        Logging.debug(s);
     }
 
