Index: /applications/editors/josm/plugins/reltoolbox/build.xml
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/build.xml	(revision 34550)
+++ /applications/editors/josm/plugins/reltoolbox/build.xml	(revision 34551)
@@ -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="13959"/>
+    <property name="plugin.main.version" value="14153"/>
 
     <property name="plugin.author" value="Ilya Zverev"/>
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/RelContextDialog.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/RelContextDialog.java	(revision 34550)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/RelContextDialog.java	(revision 34551)
@@ -58,9 +58,9 @@
 import javax.swing.table.TableColumnModel;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.JosmAction;
 import org.openstreetmap.josm.command.ChangeRelationMemberRoleCommand;
 import org.openstreetmap.josm.command.Command;
 import org.openstreetmap.josm.command.SequenceCommand;
+import org.openstreetmap.josm.data.UndoRedoHandler;
 import org.openstreetmap.josm.data.osm.DataSelectionListener;
 import org.openstreetmap.josm.data.osm.DataSet;
@@ -79,4 +79,5 @@
 import org.openstreetmap.josm.gui.layer.MainLayerManager.ActiveLayerChangeListener;
 import org.openstreetmap.josm.gui.tagging.ac.AutoCompletingComboBox;
+import org.openstreetmap.josm.spi.preferences.Config;
 import org.openstreetmap.josm.tools.GBC;
 import org.openstreetmap.josm.tools.Logging;
@@ -205,5 +206,5 @@
         });
         downloadButton.setVisible(false);
-        if (Main.pref.getBoolean(PREF_PREFIX + ".hidetopline", false)) {
+        if (Config.getPref().getBoolean(PREF_PREFIX + ".hidetopline", false)) {
             chosenRelationPanel.setVisible(false);
         }
@@ -359,5 +360,5 @@
     @Override
     public void chosenRelationChanged(Relation oldRelation, Relation newRelation) {
-        if (chosenRelationPanel != null && Main.pref.getBoolean(PREF_PREFIX + ".hidetopline", false)) {
+        if (chosenRelationPanel != null && Config.getPref().getBoolean(PREF_PREFIX + ".hidetopline", false)) {
             chosenRelationPanel.setVisible(newRelation != null);
         }
@@ -494,5 +495,5 @@
             }
         };
-        final JDialog dlg = optionPane.createDialog(Main.parent, tr("Specify role"));
+        final JDialog dlg = optionPane.createDialog(MainApplication.getMainFrame(), tr("Specify role"));
         dlg.setModalityType(ModalityType.DOCUMENT_MODAL);
 
@@ -573,6 +574,6 @@
             }
             if (!commands.isEmpty()) {
-                //                Main.main.undoRedo.add(new ChangeCommand(chosenRelation.get(), r));
-                MainApplication.undoRedo.add(new SequenceCommand(tr("Change relation member roles to {0}", role), commands));
+                //                UndoRedoHandler.getInstance().add(new ChangeCommand(chosenRelation.get(), r));
+                UndoRedoHandler.getInstance().add(new SequenceCommand(tr("Change relation member roles to {0}", role), commands));
             }
         }
@@ -603,5 +604,5 @@
             String fullProperty = PREF_PREFIX + ".multipolygon." + property;
             JCheckBoxMenuItem item = new JCheckBoxMenuItem(tr(title));
-            item.setSelected(Main.pref.getBoolean(fullProperty, CreateMultipolygonAction.getDefaultPropertyValue(property)));
+            item.setSelected(Config.getPref().getBoolean(fullProperty, CreateMultipolygonAction.getDefaultPropertyValue(property)));
             item.setActionCommand(fullProperty);
             item.addActionListener(this);
@@ -615,5 +616,5 @@
             if (property != null && property.length() > 0 && e.getSource() instanceof JCheckBoxMenuItem) {
                 boolean value = ((JCheckBoxMenuItem) e.getSource()).isSelected();
-                Main.pref.putBoolean(property, value);
+                Config.getPref().putBoolean(property, value);
                 show(getInvoker(), getX(), getY());
             }
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/AddRemoveMemberAction.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/AddRemoveMemberAction.java	(revision 34550)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/AddRemoveMemberAction.java	(revision 34551)
@@ -12,4 +12,5 @@
 import org.openstreetmap.josm.command.ChangeCommand;
 import org.openstreetmap.josm.command.Command;
+import org.openstreetmap.josm.data.UndoRedoHandler;
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.Node;
@@ -19,5 +20,4 @@
 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())) {
-            MainApplication.undoRedo.add(new ChangeCommand(rel.get(), r));
+            UndoRedoHandler.getInstance().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 34550)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/CreateMultipolygonAction.java	(revision 34551)
@@ -26,5 +26,4 @@
 import javax.swing.JTextField;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.JosmAction;
 import org.openstreetmap.josm.command.AddCommand;
@@ -33,4 +32,5 @@
 import org.openstreetmap.josm.command.Command;
 import org.openstreetmap.josm.command.SequenceCommand;
+import org.openstreetmap.josm.data.UndoRedoHandler;
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.MultipolygonBuilder;
@@ -42,4 +42,5 @@
 import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.gui.MainApplication;
+import org.openstreetmap.josm.spi.preferences.Config;
 import org.openstreetmap.josm.tools.GBC;
 import org.openstreetmap.josm.tools.Shortcut;
@@ -86,5 +87,5 @@
 
     private boolean getPref(String property) {
-        return Main.pref.getBoolean(PREF_MULTIPOLY + property, getDefaultPropertyValue(property));
+        return Config.getPref().getBoolean(PREF_MULTIPOLY + property, getDefaultPropertyValue(property));
     }
 
@@ -105,5 +106,5 @@
                     rels = TheRing.makeManySimpleMultipolygons(ds.getSelectedWays(), commands);
                     if (!commands.isEmpty()) {
-                        MainApplication.undoRedo.add(new SequenceCommand(tr("Create multipolygons from rings"), commands));
+                        UndoRedoHandler.getInstance().add(new SequenceCommand(tr("Create multipolygons from rings"), commands));
                     }
                 }
@@ -126,5 +127,5 @@
         String error = mpc.makeFromWays(ds.getSelectedWays());
         if (error != null) {
-            JOptionPane.showMessageDialog(Main.parent, error);
+            JOptionPane.showMessageDialog(MainApplication.getMainFrame(), error);
             return;
         }
@@ -148,5 +149,5 @@
         List<Command> list = removeTagsFromInnerWays(rel);
         if (!list.isEmpty() && isBoundary) {
-            MainApplication.undoRedo.add(new SequenceCommand(tr("Move tags from ways to relation"), list));
+            UndoRedoHandler.getInstance().add(new SequenceCommand(tr("Move tags from ways to relation"), list));
             list = new ArrayList<>();
         }
@@ -160,5 +161,5 @@
         }
         list.add(new AddCommand(ds, rel));
-        MainApplication.undoRedo.add(new SequenceCommand(tr("Create multipolygon"), list));
+        UndoRedoHandler.getInstance().add(new SequenceCommand(tr("Create multipolygon"), list));
 
         if (chRel != null) {
@@ -335,5 +336,5 @@
         }
 
-        for (String linearTag : Main.pref.getList(PREF_MULTIPOLY + "lineartags", DEFAULT_LINEAR_TAGS)) {
+        for (String linearTag : Config.getPref().getList(PREF_MULTIPOLY + "lineartags", DEFAULT_LINEAR_TAGS)) {
             values.remove(linearTag);
         }
@@ -423,5 +424,5 @@
 
         final JTextField admin = new JTextField();
-        admin.setText(relAL != null ? relAL : Main.pref.get(PREF_MULTIPOLY + "lastadmin", ""));
+        admin.setText(relAL != null ? relAL : Config.getPref().get(PREF_MULTIPOLY + "lastadmin", ""));
         panel.add(new JLabel(tr("Admin level")), GBC.std());
         panel.add(Box.createHorizontalStrut(10), GBC.std());
@@ -443,5 +444,5 @@
             }
         };
-        final JDialog dlg = optionPane.createDialog(Main.parent, tr("Create a new relation"));
+        final JDialog dlg = optionPane.createDialog(MainApplication.getMainFrame(), tr("Create a new relation"));
         dlg.setModalityType(ModalityType.DOCUMENT_MODAL);
 
@@ -465,5 +466,5 @@
         if (admin_level.equals("10") || (admin_level.length() == 1 && Character.isDigit(admin_level.charAt(0)))) {
             rel.put("admin_level", admin_level);
-            Main.pref.put(PREF_MULTIPOLY + "lastadmin", admin_level);
+            Config.getPref().put(PREF_MULTIPOLY + "lastadmin", admin_level);
         }
         if (new_name.length() > 0) {
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/CreateRelationAction.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/CreateRelationAction.java	(revision 34550)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/CreateRelationAction.java	(revision 34551)
@@ -19,7 +19,7 @@
 import javax.swing.JPanel;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.JosmAction;
 import org.openstreetmap.josm.command.AddCommand;
+import org.openstreetmap.josm.data.UndoRedoHandler;
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
@@ -28,4 +28,5 @@
 import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.tagging.ac.AutoCompletingComboBox;
+import org.openstreetmap.josm.spi.preferences.Config;
 import org.openstreetmap.josm.tools.GBC;
 import org.openstreetmap.josm.tools.Shortcut;
@@ -70,5 +71,5 @@
         }
 
-        MainApplication.undoRedo.add(new AddCommand(ds, rel));
+        UndoRedoHandler.getInstance().add(new AddCommand(ds, rel));
 
         if (chRel != null) {
@@ -105,5 +106,5 @@
         keys.setPossibleItems(RELATION_TYPES);
         keys.setEditable(true);
-        keys.getEditor().setItem(Main.pref.get(PREF_LASTTYPE, "multipolygon"));
+        keys.getEditor().setItem(Config.getPref().get(PREF_LASTTYPE, "multipolygon"));
 
         panel.add(new JLabel(tr("Type")), GBC.std());
@@ -118,5 +119,5 @@
             }
         };
-        final JDialog dlg = optionPane.createDialog(Main.parent, tr("Create a new relation"));
+        final JDialog dlg = optionPane.createDialog(MainApplication.getMainFrame(), tr("Create a new relation"));
         dlg.setModalityType(ModalityType.DOCUMENT_MODAL);
 
@@ -137,5 +138,5 @@
 
         String result = keys.getEditor().getItem().toString().trim();
-        Main.pref.put(PREF_LASTTYPE, result);
+        Config.getPref().put(PREF_LASTTYPE, result);
         return result;
     }
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/DeleteChosenRelationAction.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/DeleteChosenRelationAction.java	(revision 34550)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/DeleteChosenRelationAction.java	(revision 34551)
@@ -11,6 +11,6 @@
 import org.openstreetmap.josm.command.Command;
 import org.openstreetmap.josm.command.DeleteCommand;
+import org.openstreetmap.josm.data.UndoRedoHandler;
 import org.openstreetmap.josm.data.osm.Relation;
-import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.tools.ImageProvider;
 
@@ -35,5 +35,5 @@
         Command c = DeleteCommand.delete(Collections.singleton(r), true, true);
         if (c != null) {
-            MainApplication.undoRedo.add(c);
+            UndoRedoHandler.getInstance().add(c);
         }
     }
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/DuplicateChosenRelationAction.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/DuplicateChosenRelationAction.java	(revision 34550)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/DuplicateChosenRelationAction.java	(revision 34551)
@@ -9,4 +9,5 @@
 
 import org.openstreetmap.josm.command.AddCommand;
+import org.openstreetmap.josm.data.UndoRedoHandler;
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.Relation;
@@ -35,5 +36,5 @@
             Relation r = rel.get();
             Relation copy = new Relation(r, true);
-            MainApplication.undoRedo.add(new AddCommand(ds, copy));
+            UndoRedoHandler.getInstance().add(new AddCommand(ds, copy));
             rel.set(copy);
             ds.setSelected(copy);
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/FindRelationAction.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/FindRelationAction.java	(revision 34550)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/FindRelationAction.java	(revision 34551)
@@ -29,8 +29,8 @@
 import javax.swing.SwingUtilities;
 
-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.MainApplication;
 import org.openstreetmap.josm.gui.PrimitiveRenderer;
 import org.openstreetmap.josm.tools.Logging;
@@ -74,5 +74,5 @@
             }
         };
-        final JDialog dlg = optionPane.createDialog(Main.parent, tr("Find a relation"));
+        final JDialog dlg = optionPane.createDialog(MainApplication.getMainFrame(), tr("Find a relation"));
         dlg.setModalityType(ModalityType.DOCUMENT_MODAL);
 
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/ReconstructPolygonAction.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/ReconstructPolygonAction.java	(revision 34550)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/ReconstructPolygonAction.java	(revision 34551)
@@ -17,5 +17,4 @@
 import javax.swing.JOptionPane;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.command.AddCommand;
 import org.openstreetmap.josm.command.ChangeCommand;
@@ -23,4 +22,5 @@
 import org.openstreetmap.josm.command.DeleteCommand;
 import org.openstreetmap.josm.command.SequenceCommand;
+import org.openstreetmap.josm.data.UndoRedoHandler;
 import org.openstreetmap.josm.data.coor.EastNorth;
 import org.openstreetmap.josm.data.osm.DataSet;
@@ -71,5 +71,5 @@
         }
         if (wont) {
-            JOptionPane.showMessageDialog(Main.parent,
+            JOptionPane.showMessageDialog(MainApplication.getMainFrame(),
                     tr("Multipolygon must consist only of ways"), tr("Reconstruct polygon"), JOptionPane.ERROR_MESSAGE);
             return;
@@ -79,5 +79,5 @@
         String error = mpc.makeFromWays(ways);
         if (error != null) {
-            JOptionPane.showMessageDialog(Main.parent, error);
+            JOptionPane.showMessageDialog(MainApplication.getMainFrame(), error);
             return;
         }
@@ -198,5 +198,5 @@
         }
 
-        MainApplication.undoRedo.add(new SequenceCommand(tr("Reconstruct polygons from relation {0}",
+        UndoRedoHandler.getInstance().add(new SequenceCommand(tr("Reconstruct polygons from relation {0}",
                 r.getDisplayName(DefaultNameFormatter.getInstance())), commands));
         ds.setSelected(newSelection);
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/ReconstructRouteAction.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/ReconstructRouteAction.java	(revision 34550)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/ReconstructRouteAction.java	(revision 34551)
@@ -14,4 +14,5 @@
 import org.openstreetmap.josm.command.ChangeCommand;
 import org.openstreetmap.josm.command.Command;
+import org.openstreetmap.josm.data.UndoRedoHandler;
 import org.openstreetmap.josm.data.coor.EastNorth;
 import org.openstreetmap.josm.data.osm.Node;
@@ -21,5 +22,4 @@
 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);
-        MainApplication.undoRedo.add(command);
+        UndoRedoHandler.getInstance().add(command);
     }
 
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/RelationHelpAction.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/RelationHelpAction.java	(revision 34550)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/RelationHelpAction.java	(revision 34551)
@@ -10,8 +10,8 @@
 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.properties.HelpAction;
+import org.openstreetmap.josm.spi.preferences.Config;
 import org.openstreetmap.josm.tools.ImageProvider;
 import org.openstreetmap.josm.tools.LanguageInfo;
@@ -43,5 +43,5 @@
             return;
         try {
-            String base = Main.pref.get("url.openstreetmap-wiki", "https://wiki.openstreetmap.org/wiki/");
+            String base = Config.getPref().get("url.openstreetmap-wiki", "https://wiki.openstreetmap.org/wiki/");
             String lang = LanguageInfo.getWikiLanguagePrefix();
             final List<URI> uris = HelpAction.getRelationURIs(base, lang, rel.get());
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/SortAndFixAction.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/SortAndFixAction.java	(revision 34550)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/SortAndFixAction.java	(revision 34551)
@@ -12,7 +12,7 @@
 
 import org.openstreetmap.josm.command.Command;
+import org.openstreetmap.josm.data.UndoRedoHandler;
 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) {
-            MainApplication.undoRedo.add(c);
+            UndoRedoHandler.getInstance().add(c);
         }
     }
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/SplittingMultipolygons.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/SplittingMultipolygons.java	(revision 34550)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/SplittingMultipolygons.java	(revision 34551)
@@ -13,9 +13,9 @@
 import java.util.Map;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.command.AddCommand;
 import org.openstreetmap.josm.command.ChangeCommand;
 import org.openstreetmap.josm.command.Command;
 import org.openstreetmap.josm.command.SequenceCommand;
+import org.openstreetmap.josm.data.UndoRedoHandler;
 import org.openstreetmap.josm.data.coor.EastNorth;
 import org.openstreetmap.josm.data.coor.LatLon;
@@ -28,4 +28,5 @@
 import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.gui.MainApplication;
+import org.openstreetmap.josm.spi.preferences.Config;
 import org.openstreetmap.josm.tools.Geometry;
 import org.openstreetmap.josm.tools.Geometry.PolygonIntersection;
@@ -106,5 +107,5 @@
             Relation newRelation = SplittingMultipolygons.attachRingToNeighbours(ring, commands);
             if (newRelation != null && !commands.isEmpty()) {
-                MainApplication.undoRedo.add(commands.get(0));
+                UndoRedoHandler.getInstance().add(commands.get(0));
                 result.add(newRelation);
             }
@@ -115,5 +116,5 @@
             Relation newRelation = SplittingMultipolygons.tryToCloseOneWay(arc, commands);
             if (newRelation != null && !commands.isEmpty()) {
-                MainApplication.undoRedo.add(commands.get(0));
+                UndoRedoHandler.getInstance().add(commands.get(0));
                 result.add(newRelation);
             }
@@ -275,5 +276,5 @@
         newRelation.put("type", "multipolygon");
         newRelation.addMember(new RelationMember("outer", segment));
-        Collection<String> linearTags = Main.pref.getList(PREF_MULTIPOLY + "lineartags", CreateMultipolygonAction.DEFAULT_LINEAR_TAGS);
+        Collection<String> linearTags = Config.getPref().getList(PREF_MULTIPOLY + "lineartags", CreateMultipolygonAction.DEFAULT_LINEAR_TAGS);
         Way segmentCopy = new Way(segment);
         boolean changed = false;
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/TheRing.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/TheRing.java	(revision 34550)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/TheRing.java	(revision 34551)
@@ -12,5 +12,4 @@
 import javax.swing.JOptionPane;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.command.AddCommand;
 import org.openstreetmap.josm.command.ChangeCommand;
@@ -24,4 +23,5 @@
 import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.gui.MainApplication;
+import org.openstreetmap.josm.spi.preferences.Config;
 import org.openstreetmap.josm.tools.Geometry;
 import org.openstreetmap.josm.tools.Geometry.PolygonIntersection;
@@ -143,5 +143,5 @@
             }
             if (pos == 0 && nodes1.size() == nodes2.size()) {
-                JOptionPane.showMessageDialog(Main.parent,
+                JOptionPane.showMessageDialog(MainApplication.getMainFrame(),
                         tr("Two rings are equal, and this must not be."), tr("Multipolygon from rings"), JOptionPane.ERROR_MESSAGE);
                 return null;
@@ -331,5 +331,5 @@
         Way sourceCopy = new Way(source);
         if (createMultipolygon) {
-            Collection<String> linearTags = Main.pref.getList(PREF_MULTIPOLY + "lineartags", CreateMultipolygonAction.DEFAULT_LINEAR_TAGS);
+            Collection<String> linearTags = Config.getPref().getList(PREF_MULTIPOLY + "lineartags", CreateMultipolygonAction.DEFAULT_LINEAR_TAGS);
             relation = new Relation();
             relation.put("type", "multipolygon");
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/relationfix/RelationFixer.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/relationfix/RelationFixer.java	(revision 34550)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/relationfix/RelationFixer.java	(revision 34551)
@@ -2,7 +2,9 @@
 package relcontext.relationfix;
 
-import java.util.*;
 import static org.openstreetmap.josm.tools.I18n.tr;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
 
 import javax.swing.Action;
