Index: trunk/src/org/openstreetmap/josm/Main.java
===================================================================
--- trunk/src/org/openstreetmap/josm/Main.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/Main.java	(revision 2017)
@@ -42,5 +42,4 @@
 import org.openstreetmap.josm.gui.MainMenu;
 import org.openstreetmap.josm.gui.MapFrame;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.SplashScreen;
 import org.openstreetmap.josm.gui.dialogs.LayerListDialog;
@@ -286,5 +285,5 @@
             Main.proj = (Projection)Class.forName(name).newInstance();
         } catch (final Exception e) {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("The projection {0} could not be activated. Using Mercator", name),
@@ -438,5 +437,5 @@
             final Bounds b = OsmUrlToBounds.parse(s);
             if (b == null) {
-                OptionPaneUtil.showMessageDialog(
+                JOptionPane.showMessageDialog(
                         Main.parent,
                         tr("Ignoring malformed URL: \"{0}\"", s),
@@ -456,5 +455,5 @@
                 main.menu.openFile.openFile(new File(new URI(s)));
             } catch (URISyntaxException e) {
-                OptionPaneUtil.showMessageDialog(
+                JOptionPane.showMessageDialog(
                         Main.parent,
                         tr("Ignoring malformed file URL: \"{0}\"", s),
Index: trunk/src/org/openstreetmap/josm/actions/AboutAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/AboutAction.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/actions/AboutAction.java	(revision 2017)
@@ -15,7 +15,7 @@
 import java.net.MalformedURLException;
 import java.net.URL;
+import java.util.Properties;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
-import java.util.Properties;
 
 import javax.swing.BorderFactory;
@@ -32,6 +32,6 @@
 import org.openstreetmap.josm.tools.ImageProvider;
 import org.openstreetmap.josm.tools.LanguageInfo;
+import org.openstreetmap.josm.tools.Shortcut;
 import org.openstreetmap.josm.tools.UrlLabel;
-import org.openstreetmap.josm.tools.Shortcut;
 
 /**
Index: trunk/src/org/openstreetmap/josm/actions/AbstractInfoAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/AbstractInfoAction.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/actions/AbstractInfoAction.java	(revision 2017)
@@ -13,5 +13,4 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.tools.OpenBrowser;
 import org.openstreetmap.josm.tools.Shortcut;
@@ -59,5 +58,5 @@
 
         if (primitivesToShow.isEmpty()) {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("Please select at least one already uploaded node, way, or relation."),
Index: trunk/src/org/openstreetmap/josm/actions/AbstractMergeAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/AbstractMergeAction.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/actions/AbstractMergeAction.java	(revision 2017)
@@ -19,5 +19,4 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.gui.ExtendedDialog;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.layer.Layer;
 import org.openstreetmap.josm.tools.GBC;
@@ -82,5 +81,5 @@
 
     protected void warnNoTargetLayersForSourceLayer(Layer sourceLayer) {
-        OptionPaneUtil.showMessageDialog(Main.parent,
+        JOptionPane.showMessageDialog(Main.parent,
                 tr("<html>There are no layers the source layer<br>''{0}''<br>could be merged to.</html>"),
                 tr("No target layers"), JOptionPane.WARNING_MESSAGE);
Index: trunk/src/org/openstreetmap/josm/actions/AlignInCircleAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/AlignInCircleAction.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/actions/AlignInCircleAction.java	(revision 2017)
@@ -22,5 +22,4 @@
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.Way;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.tools.Shortcut;
 
@@ -134,5 +133,5 @@
 
         if (nodes.size() < 4) {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("Please select at least four nodes."),
Index: trunk/src/org/openstreetmap/josm/actions/AlignInLineAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/AlignInLineAction.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/actions/AlignInLineAction.java	(revision 2017)
@@ -18,5 +18,4 @@
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.Way;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.tools.Shortcut;
 
@@ -61,5 +60,5 @@
         }
         if (nodes.size() < 3) {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("Please select at least three nodes."),
Index: trunk/src/org/openstreetmap/josm/actions/ApiPreconditionChecker.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/ApiPreconditionChecker.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/actions/ApiPreconditionChecker.java	(revision 2017)
@@ -16,5 +16,4 @@
 import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.gui.ExceptionDialogUtil;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.io.OsmApi;
 import org.openstreetmap.josm.io.OsmApiInitializationException;
@@ -49,5 +48,5 @@
                 total = add.size() + update.size() + delete.size();
                 if(total > maxElements) {
-                    OptionPaneUtil.showMessageDialog(
+                    JOptionPane.showMessageDialog(
                             Main.parent,
                             tr("Current number of changes exceeds the max. number of changes, current is {0}, max is {1}",
@@ -84,5 +83,5 @@
                         continue;
                     }
-                    OptionPaneUtil.showMessageDialog(Main.parent,
+                    JOptionPane.showMessageDialog(Main.parent,
                             tr("Length of value for tag ''{0}'' on primitive {1} exceeds the max. allowed length {2}. Values length is {3}.",
                                     e.getKey(), Long.toString(osmPrimitive.id), 255, e.getValue().length()
@@ -100,5 +99,5 @@
             if (osmPrimitive instanceof Way &&
                     ((Way)osmPrimitive).getNodesCount() > maxNodes) {
-                OptionPaneUtil.showMessageDialog(
+                JOptionPane.showMessageDialog(
                         Main.parent,
                         tr("{0} nodes in way {1} exceed the max. allowed number of nodes {2}",
Index: trunk/src/org/openstreetmap/josm/actions/AutoScaleAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/AutoScaleAction.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/actions/AutoScaleAction.java	(revision 2017)
@@ -17,5 +17,4 @@
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.visitor.BoundingXYVisitor;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.dialogs.LayerListDialog;
 import org.openstreetmap.josm.gui.layer.Layer;
@@ -121,5 +120,5 @@
             }
             if (sel.isEmpty()) {
-                OptionPaneUtil.showMessageDialog(
+                JOptionPane.showMessageDialog(
                         Main.parent,
                         (mode.equals("selection") ? tr("Nothing selected to zoom to.") : tr("No conflicts to zoom to")),
Index: trunk/src/org/openstreetmap/josm/actions/CombineWayAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/CombineWayAction.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/actions/CombineWayAction.java	(revision 2017)
@@ -38,5 +38,4 @@
 import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.gui.ExtendedDialog;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.tools.GBC;
 import org.openstreetmap.josm.tools.Pair;
@@ -68,5 +67,5 @@
 
         if (selectedWays.size() < 2) {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("Please select at least two ways to combine."),
@@ -160,5 +159,5 @@
                 nodeList = (List<Node>) secondTry;
             } else {
-                OptionPaneUtil.showMessageDialog(
+                JOptionPane.showMessageDialog(
                         Main.parent,
                         secondTry, // FIXME: not sure whether this fits in a dialog
Index: trunk/src/org/openstreetmap/josm/actions/CreateCircleAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/CreateCircleAction.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/actions/CreateCircleAction.java	(revision 2017)
@@ -24,5 +24,4 @@
 import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.data.osm.visitor.CollectBackReferencesVisitor;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.tools.Shortcut;
 
@@ -201,5 +200,5 @@
 
             if (sUnder == 0) {
-                OptionPaneUtil.showMessageDialog(
+                JOptionPane.showMessageDialog(
                         Main.parent,
                         tr("Those nodes are not in a circle. Aborting."),
@@ -262,5 +261,5 @@
 
         } else {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("Please select exactly two or three nodes or one way with exactly two or three nodes."),
Index: trunk/src/org/openstreetmap/josm/actions/DistributeAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/DistributeAction.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/actions/DistributeAction.java	(revision 2017)
@@ -18,5 +18,4 @@
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.Way;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.tools.Shortcut;
 
@@ -60,5 +59,5 @@
 
         if (nodes.size() < 3) {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("Please select at least three nodes."),
Index: trunk/src/org/openstreetmap/josm/actions/DownloadAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/DownloadAction.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/actions/DownloadAction.java	(revision 2017)
@@ -13,5 +13,4 @@
 
 import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.download.DownloadDialog;
 import org.openstreetmap.josm.gui.download.DownloadDialog.DownloadTask;
@@ -71,5 +70,5 @@
             }
             if (!finish) {
-                OptionPaneUtil.showMessageDialog(
+                JOptionPane.showMessageDialog(
                         Main.parent,
                         tr("Please select at least one task to download"),
Index: trunk/src/org/openstreetmap/josm/actions/DownloadReferrersAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/DownloadReferrersAction.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/actions/DownloadReferrersAction.java	(revision 2017)
@@ -9,19 +9,14 @@
 import java.util.Collection;
 
-import javax.swing.JDialog;
 import javax.swing.JOptionPane;
 import javax.swing.SwingUtilities;
 
 import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.data.SelectionChangedListener;
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.visitor.MergeVisitor;
 import org.openstreetmap.josm.gui.DefaultNameFormatter;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.PleaseWaitRunnable;
-import org.openstreetmap.josm.gui.layer.Layer;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
-import org.openstreetmap.josm.gui.layer.Layer.LayerChangeListener;
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
 import org.openstreetmap.josm.io.OsmApi;
@@ -87,5 +82,5 @@
                 msg = lastException.toString();
             }
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.map,
                     msg,
@@ -123,5 +118,5 @@
                 return;
             Main.map.mapView.getEditLayer().getConflicts().add(visitor.getConflicts());
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("There were {0} conflicts during import.",
Index: trunk/src/org/openstreetmap/josm/actions/GpxExportAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/GpxExportAction.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/actions/GpxExportAction.java	(revision 2017)
@@ -13,5 +13,4 @@
 
 import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.layer.GpxLayer;
 import org.openstreetmap.josm.gui.layer.Layer;
@@ -45,5 +44,5 @@
         GpxLayer layer = getLayer();
         if (layer == null) {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("Nothing to export. Get some data first."),
Index: trunk/src/org/openstreetmap/josm/actions/HelpAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/HelpAction.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/actions/HelpAction.java	(revision 2017)
@@ -30,5 +30,4 @@
 
 import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.tools.ImageProvider;
 import org.openstreetmap.josm.tools.LanguageInfo;
@@ -111,5 +110,5 @@
         } else if (tr("Edit").equals(e.getActionCommand())) {
             if (!url.startsWith(baseurl)) {
-                OptionPaneUtil.showMessageDialog(
+                JOptionPane.showMessageDialog(
                         Main.parent,
                         tr("Can only edit help pages from JOSM Online Help"),
Index: trunk/src/org/openstreetmap/josm/actions/MergeNodesAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/MergeNodesAction.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/actions/MergeNodesAction.java	(revision 2017)
@@ -38,5 +38,4 @@
 import org.openstreetmap.josm.data.osm.visitor.CollectBackReferencesVisitor;
 import org.openstreetmap.josm.gui.ExtendedDialog;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.tools.GBC;
 import org.openstreetmap.josm.tools.Pair;
@@ -74,5 +73,5 @@
 
         if (selectedNodes.size() < 2) {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("Please select at least two nodes to merge."),
@@ -250,5 +249,5 @@
                 w.visit(backRefs);
                 if (!backRefs.data.isEmpty()) {
-                    OptionPaneUtil.showMessageDialog(
+                    JOptionPane.showMessageDialog(
                             Main.parent,
                             tr("Cannot merge nodes: " +
Index: trunk/src/org/openstreetmap/josm/actions/MergeSelectionAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/MergeSelectionAction.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/actions/MergeSelectionAction.java	(revision 2017)
@@ -8,5 +8,4 @@
 import java.util.List;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.visitor.MergeSourceBuildingVisitor;
Index: trunk/src/org/openstreetmap/josm/actions/MirrorAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/MirrorAction.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/actions/MirrorAction.java	(revision 2017)
@@ -19,5 +19,4 @@
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.Way;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.tools.Shortcut;
 
@@ -50,5 +49,5 @@
 
         if (nodes.size() == 0) {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("Please select at least one node or way."),
Index: trunk/src/org/openstreetmap/josm/actions/MoveAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/MoveAction.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/actions/MoveAction.java	(revision 2017)
@@ -17,5 +17,4 @@
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.visitor.AllNodesVisitor;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.tools.Shortcut;
 
@@ -103,5 +102,5 @@
                 // Revert move
                 ((MoveCommand) c).moveAgain(-distx, -disty);
-                OptionPaneUtil.showMessageDialog(
+                JOptionPane.showMessageDialog(
                         Main.parent,
                         tr("Cannot move objects outside of the world."),
Index: trunk/src/org/openstreetmap/josm/actions/OpenFileAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/OpenFileAction.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/actions/OpenFileAction.java	(revision 2017)
@@ -13,5 +13,4 @@
 
 import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.io.FileImporter;
 import org.openstreetmap.josm.tools.Shortcut;
@@ -55,5 +54,5 @@
         } catch (IOException x) {
             x.printStackTrace();
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("<html>Could not read file ''{0}\''. Error is: <br>{1}</html>", file.getName(), x.getMessage()),
Index: trunk/src/org/openstreetmap/josm/actions/OrthogonalizeAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/OrthogonalizeAction.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/actions/OrthogonalizeAction.java	(revision 2017)
@@ -23,5 +23,4 @@
 import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.gui.ConditionalOptionPaneUtil;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.tools.Shortcut;
 
@@ -60,5 +59,5 @@
             if(osm instanceof Node) {
                 if(dirnodes.size() == 2) {
-                    OptionPaneUtil.showMessageDialog(
+                    JOptionPane.showMessageDialog(
                             Main.parent,
                             tr("Only two nodes allowed"),
@@ -73,5 +72,5 @@
             // Check if selection consists now only of ways
             if (!(osm instanceof Way)) {
-                OptionPaneUtil.showMessageDialog(
+                JOptionPane.showMessageDialog(
                         Main.parent,
                         tr("Selection must consist only of ways."),
@@ -85,5 +84,5 @@
             Way way = (Way)osm;
             if ((way.getNodesCount() < 5) || !way.isClosed()) {
-                OptionPaneUtil.showMessageDialog(
+                JOptionPane.showMessageDialog(
                         Main.parent,
                         tr("Please select one or more closed ways of at least four nodes."),
@@ -137,5 +136,5 @@
         // Check, if selection held neither none nor two nodes
         if(dirnodes.size() == 1) {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("Only one node selected"),
Index: trunk/src/org/openstreetmap/josm/actions/RenameLayerAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/RenameLayerAction.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/actions/RenameLayerAction.java	(revision 2017)
@@ -15,5 +15,4 @@
 
 import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.layer.Layer;
 import org.openstreetmap.josm.tools.ImageProvider;
@@ -89,5 +88,5 @@
                     nameText = newFile.getName();
                 } else {
-                    OptionPaneUtil.showMessageDialog(
+                    JOptionPane.showMessageDialog(
                             Main.parent,
                             tr("Could not rename file ''{0}''", file.getPath()),
Index: trunk/src/org/openstreetmap/josm/actions/ReverseWayAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/ReverseWayAction.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/actions/ReverseWayAction.java	(revision 2017)
@@ -23,5 +23,4 @@
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.Way;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.tools.Shortcut;
 
@@ -46,5 +45,5 @@
         }
         if (sel.isEmpty()) {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("Please select at least one way."),
Index: trunk/src/org/openstreetmap/josm/actions/SaveAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/SaveAction.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/actions/SaveAction.java	(revision 2017)
@@ -8,7 +8,7 @@
 
 import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.gui.ExtendedDialog;
+import org.openstreetmap.josm.gui.layer.GpxLayer;
 import org.openstreetmap.josm.gui.layer.Layer;
-import org.openstreetmap.josm.gui.layer.GpxLayer;
-import org.openstreetmap.josm.gui.ExtendedDialog;
 import org.openstreetmap.josm.tools.Shortcut;
 
Index: trunk/src/org/openstreetmap/josm/actions/SaveActionBase.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/SaveActionBase.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/actions/SaveActionBase.java	(revision 2017)
@@ -16,5 +16,4 @@
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.gui.ExtendedDialog;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.layer.GpxLayer;
 import org.openstreetmap.josm.gui.layer.Layer;
@@ -67,5 +66,5 @@
             }
             if (!exported) {
-                OptionPaneUtil.showMessageDialog(Main.parent, tr("No Exporter found! Nothing saved."), tr("Warning"),
+                JOptionPane.showMessageDialog(Main.parent, tr("No Exporter found! Nothing saved."), tr("Warning"),
                         JOptionPane.WARNING_MESSAGE);
                 return false;
@@ -90,5 +89,5 @@
     public boolean checkSaveConditions(Layer layer) {
         if (layer == null) {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("Internal Error: cannot check conditions for no layer. Please report this as a bug."),
@@ -99,5 +98,5 @@
         }
         if (Main.map == null) {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("No document open so nothing to save."),
Index: trunk/src/org/openstreetmap/josm/actions/SaveAsAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/SaveAsAction.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/actions/SaveAsAction.java	(revision 2017)
@@ -7,5 +7,4 @@
 import java.io.File;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.gui.layer.Layer;
 import org.openstreetmap.josm.tools.Shortcut;
Index: trunk/src/org/openstreetmap/josm/actions/SplitWayAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/SplitWayAction.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/actions/SplitWayAction.java	(revision 2017)
@@ -32,5 +32,4 @@
 import org.openstreetmap.josm.data.osm.visitor.Visitor;
 import org.openstreetmap.josm.gui.DefaultNameFormatter;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.tools.Shortcut;
 
@@ -66,5 +65,5 @@
 
         if (!checkSelection(selection)) {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("The current selection cannot be used for splitting."),
@@ -123,5 +122,5 @@
             }
             if (wayOccurenceCounter.isEmpty()) {
-                OptionPaneUtil.showMessageDialog(Main.parent,
+                JOptionPane.showMessageDialog(Main.parent,
                         trn("The selected node is not in the middle of any way.",
                                 "The selected nodes are not in the middle of any way.",
@@ -135,5 +134,5 @@
                 if (entry.getValue().equals(selectedNodes.size())) {
                     if (selectedWay != null) {
-                        OptionPaneUtil.showMessageDialog(Main.parent,
+                        JOptionPane.showMessageDialog(Main.parent,
                                 trn("There is more than one way using the node you selected. Please select the way also.",
                                         "There is more than one way using the nodes you selected. Please select the way also.",
@@ -148,5 +147,5 @@
 
             if (selectedWay == null) {
-                OptionPaneUtil.showMessageDialog(Main.parent,
+                JOptionPane.showMessageDialog(Main.parent,
                         tr("The selected nodes do not share the same way."),
                         tr("Warning"),
@@ -163,5 +162,5 @@
             }
             if (!nds.isEmpty()) {
-                OptionPaneUtil.showMessageDialog(Main.parent,
+                JOptionPane.showMessageDialog(Main.parent,
                         trn("The selected way does not contain the selected node.",
                                 "The selected way does not contain all the selected nodes.",
@@ -233,5 +232,5 @@
                 && !nodeSet.contains(wayChunks.get(0).get(0))) {
             if (wayChunks.size() == 2) {
-                OptionPaneUtil.showMessageDialog(
+                JOptionPane.showMessageDialog(
                         Main.parent,
                         tr("You must select two or more nodes to split a circular way."),
@@ -248,5 +247,5 @@
         if (wayChunks.size() < 2) {
             if(wayChunks.get(0).get(0) == wayChunks.get(0).get(wayChunks.get(0).size()-1)) {
-                OptionPaneUtil.showMessageDialog(
+                JOptionPane.showMessageDialog(
                         Main.parent,
                         tr("You must select two or more nodes to split a circular way."),
@@ -254,5 +253,5 @@
                         JOptionPane.WARNING_MESSAGE);
             } else {
-                OptionPaneUtil.showMessageDialog(
+                JOptionPane.showMessageDialog(
                         Main.parent,
                         tr("The way cannot be split at the selected nodes. (Hint: Select nodes in the middle of the way.)"),
@@ -342,5 +341,5 @@
         }
         if(warnmerole) {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("<html>A role based relation membership was copied to all new ways.<br>You should verify this and correct it when necessary.</html>"),
@@ -348,5 +347,5 @@
                     JOptionPane.WARNING_MESSAGE);
         } else if(warnme) {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("<html>A relation membership was copied to all new ways.<br>You should verify this and correct it when necessary.</html>"),
Index: trunk/src/org/openstreetmap/josm/actions/UnGlueAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/UnGlueAction.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/actions/UnGlueAction.java	(revision 2017)
@@ -27,5 +27,4 @@
 import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.gui.MapView;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.tools.Shortcut;
 
@@ -132,5 +131,5 @@
 
         if(errMsg != null) {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     errMsg,
Index: trunk/src/org/openstreetmap/josm/actions/UpdateSelectionAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/UpdateSelectionAction.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/actions/UpdateSelectionAction.java	(revision 2017)
@@ -20,5 +20,4 @@
 import org.openstreetmap.josm.data.osm.visitor.MergeVisitor;
 import org.openstreetmap.josm.gui.ExceptionDialogUtil;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.PleaseWaitRunnable;
 import org.openstreetmap.josm.gui.progress.NullProgressMonitor;
@@ -116,5 +115,5 @@
         Collection<OsmPrimitive> selection = getCurrentDataSet().getSelected();
         if (selection.size() == 0) {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("There are no selected primitives to update."),
Index: trunk/src/org/openstreetmap/josm/actions/audio/AudioFasterAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/audio/AudioFasterAction.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/actions/audio/AudioFasterAction.java	(revision 2017)
@@ -3,7 +3,8 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
-import org.openstreetmap.josm.tools.Shortcut;
 
 import java.awt.event.KeyEvent;
+
+import org.openstreetmap.josm.tools.Shortcut;
 
 public class AudioFasterAction extends AudioFastSlowAction {
Index: trunk/src/org/openstreetmap/josm/actions/audio/AudioSlowerAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/audio/AudioSlowerAction.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/actions/audio/AudioSlowerAction.java	(revision 2017)
@@ -5,4 +5,5 @@
 
 import java.awt.event.KeyEvent;
+
 import org.openstreetmap.josm.tools.Shortcut;
 
Index: trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTaskList.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTaskList.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTaskList.java	(revision 2017)
@@ -20,5 +20,4 @@
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.download.DownloadDialog.DownloadTask;
 import org.openstreetmap.josm.gui.layer.Layer;
@@ -105,5 +104,5 @@
 
         if(! errors.equals("")) {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     "<html>"+tr("The following errors occurred during mass download:{0}", errors)
@@ -187,5 +186,5 @@
         );
 
-        int ret =OptionPaneUtil.showOptionDialog(
+        int ret =JOptionPane.showOptionDialog(
                 Main.parent,
                 message,
@@ -193,11 +192,12 @@
                 JOptionPane.YES_NO_OPTION,
                 JOptionPane.WARNING_MESSAGE,
+                null,
                 options,
                 options[0]
         );
         switch(ret) {
-        case JOptionPane.CLOSED_OPTION: return;
-        case JOptionPane.NO_OPTION: return;
-        case JOptionPane.YES_OPTION: updatePotentiallyDeletedPrimitives(potentiallyDeleted); break;
+            case JOptionPane.CLOSED_OPTION: return;
+            case JOptionPane.NO_OPTION: return;
+            case JOptionPane.YES_OPTION: updatePotentiallyDeletedPrimitives(potentiallyDeleted); break;
         }
     }
Index: trunk/src/org/openstreetmap/josm/actions/mapmode/MapMode.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/mapmode/MapMode.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/actions/mapmode/MapMode.java	(revision 2017)
@@ -10,6 +10,6 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.JosmAction;
+import org.openstreetmap.josm.gui.MapFrame;
 import org.openstreetmap.josm.gui.layer.Layer;
-import org.openstreetmap.josm.gui.MapFrame;
 import org.openstreetmap.josm.tools.ImageProvider;
 import org.openstreetmap.josm.tools.Shortcut;
Index: trunk/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java	(revision 2017)
@@ -41,5 +41,4 @@
 import org.openstreetmap.josm.gui.MapFrame;
 import org.openstreetmap.josm.gui.MapView;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.SelectionManager;
 import org.openstreetmap.josm.gui.SelectionManager.SelectionEnded;
@@ -247,5 +246,5 @@
                         ((MoveCommand) c).moveAgain(-dx, -dy);
 
-                        OptionPaneUtil.showMessageDialog(
+                        JOptionPane.showMessageDialog(
                                 Main.parent,
                                 tr("Cannot move objects outside of the world."),
Index: trunk/src/org/openstreetmap/josm/actions/search/SearchAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/search/SearchAction.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/actions/search/SearchAction.java	(revision 2017)
@@ -23,5 +23,4 @@
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.gui.ExtendedDialog;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.tools.GBC;
 import org.openstreetmap.josm.tools.Shortcut;
@@ -48,5 +47,5 @@
             return;
         if (Main.map == null) {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("Can't search because there is no loaded data."),
@@ -200,5 +199,5 @@
                 }
                 Main.map.statusLine.setHelpText(msg);
-                OptionPaneUtil.showMessageDialog(
+                JOptionPane.showMessageDialog(
                         Main.parent,
                         msg,
@@ -210,5 +209,5 @@
             }
         } catch (SearchCompiler.ParseError e) {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     e.getMessage(),
Index: trunk/src/org/openstreetmap/josm/actions/search/SelectionWebsiteLoader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/search/SelectionWebsiteLoader.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/actions/search/SelectionWebsiteLoader.java	(revision 2017)
@@ -20,5 +20,4 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.PleaseWaitRunnable;
 import org.openstreetmap.josm.io.OsmIdReader;
@@ -60,5 +59,5 @@
         } catch (IOException e) {
             e.printStackTrace();
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("Could not read from URL: \"{0}\"",url),
@@ -68,5 +67,5 @@
         } catch (SAXException e) {
             e.printStackTrace();
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("Parsing error in URL: \"{0}\"",url),
@@ -78,13 +77,13 @@
             if (e.getCause() != null) {
                 if (e.getCause() instanceof IOException ) {
-                    OptionPaneUtil.showMessageDialog(
+                    JOptionPane.showMessageDialog(
                             Main.parent, tr("Could not read from URL: \"{0}\"",url),
                             tr("Error"), JOptionPane.ERROR_MESSAGE);
                 } else if (e.getCause() instanceof SAXException) {
-                    OptionPaneUtil.showMessageDialog(Main.parent,tr("Parsing error in URL: \"{0}\"",url),
+                    JOptionPane.showMessageDialog(Main.parent,tr("Parsing error in URL: \"{0}\"",url),
                             tr("Error"), JOptionPane.ERROR_MESSAGE);
                 }
             } else {
-                OptionPaneUtil.showMessageDialog(Main.parent,tr("Error while communicating with server.",url),
+                JOptionPane.showMessageDialog(Main.parent,tr("Error while communicating with server.",url),
                         tr("Error"), JOptionPane.ERROR_MESSAGE);
             }
Index: trunk/src/org/openstreetmap/josm/command/ConflictAddCommand.java
===================================================================
--- trunk/src/org/openstreetmap/josm/command/ConflictAddCommand.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/command/ConflictAddCommand.java	(revision 2017)
@@ -16,5 +16,4 @@
 import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
 import org.openstreetmap.josm.gui.DefaultNameFormatter;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
 import org.openstreetmap.josm.tools.ImageProvider;
@@ -29,5 +28,5 @@
 
     protected void warnBecauseOfDoubleConflict() {
-        OptionPaneUtil.showMessageDialog(
+        JOptionPane.showMessageDialog(
                 Main.parent,
                 tr("<html>Layer ''{0}'' already has a conflict for primitive<br>"
Index: trunk/src/org/openstreetmap/josm/command/MoveCommand.java
===================================================================
--- trunk/src/org/openstreetmap/josm/command/MoveCommand.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/command/MoveCommand.java	(revision 2017)
@@ -2,5 +2,4 @@
 package org.openstreetmap.josm.command;
 
-import static org.openstreetmap.josm.tools.I18n.tr;
 import static org.openstreetmap.josm.tools.I18n.trn;
 
Index: trunk/src/org/openstreetmap/josm/command/RotateCommand.java
===================================================================
--- trunk/src/org/openstreetmap/josm/command/RotateCommand.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/command/RotateCommand.java	(revision 2017)
@@ -1,5 +1,4 @@
 package org.openstreetmap.josm.command;
 
-import static org.openstreetmap.josm.tools.I18n.tr;
 import static org.openstreetmap.josm.tools.I18n.trn;
 
Index: trunk/src/org/openstreetmap/josm/command/TagConflictResolveCommand.java
===================================================================
--- trunk/src/org/openstreetmap/josm/command/TagConflictResolveCommand.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/command/TagConflictResolveCommand.java	(revision 2017)
@@ -2,6 +2,6 @@
 package org.openstreetmap.josm.command;
 
+import static org.openstreetmap.josm.tools.I18n.marktr;
 import static org.openstreetmap.josm.tools.I18n.tr;
-import static org.openstreetmap.josm.tools.I18n.marktr;
 
 import java.util.Collection;
Index: trunk/src/org/openstreetmap/josm/command/UndeletePrimitivesCommand.java
===================================================================
--- trunk/src/org/openstreetmap/josm/command/UndeletePrimitivesCommand.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/command/UndeletePrimitivesCommand.java	(revision 2017)
@@ -12,7 +12,5 @@
 import javax.swing.tree.MutableTreeNode;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
-import org.openstreetmap.josm.gui.layer.OsmDataLayer;
 import org.openstreetmap.josm.tools.ImageProvider;
 
Index: trunk/src/org/openstreetmap/josm/command/VersionConflictResolveCommand.java
===================================================================
--- trunk/src/org/openstreetmap/josm/command/VersionConflictResolveCommand.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/command/VersionConflictResolveCommand.java	(revision 2017)
@@ -2,6 +2,6 @@
 package org.openstreetmap.josm.command;
 
+import static org.openstreetmap.josm.tools.I18n.marktr;
 import static org.openstreetmap.josm.tools.I18n.tr;
-import static org.openstreetmap.josm.tools.I18n.marktr;
 
 import java.util.Collection;
Index: trunk/src/org/openstreetmap/josm/corrector/TagCorrector.java
===================================================================
--- trunk/src/org/openstreetmap/josm/corrector/TagCorrector.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/corrector/TagCorrector.java	(revision 2017)
@@ -30,5 +30,4 @@
 import org.openstreetmap.josm.gui.DefaultNameFormatter;
 import org.openstreetmap.josm.gui.JMultilineLabel;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.tools.GBC;
 import org.openstreetmap.josm.tools.ImageProvider;
@@ -140,5 +139,5 @@
             }
 
-            int answer = OptionPaneUtil.showOptionDialog(
+            int answer = JOptionPane.showOptionDialog(
                     Main.parent,
                     p,
@@ -146,4 +145,5 @@
                     JOptionPane.YES_NO_CANCEL_OPTION,
                     JOptionPane.PLAIN_MESSAGE,
+                    null,
                     applicationOptions,
                     applicationOptions[0]
Index: trunk/src/org/openstreetmap/josm/data/Bounds.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/Bounds.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/data/Bounds.java	(revision 2017)
@@ -5,5 +5,4 @@
 
 import org.openstreetmap.josm.data.coor.LatLon;
-import org.openstreetmap.josm.data.projection.Projection;
 
 /**
Index: trunk/src/org/openstreetmap/josm/data/DataSetChecker.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/DataSetChecker.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/data/DataSetChecker.java	(revision 2017)
@@ -9,5 +9,4 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.layer.Layer;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
@@ -28,5 +27,5 @@
                         // FIXME: better message
                         // FIXME: translate message and title
-                        OptionPaneUtil.showMessageDialog(
+                        JOptionPane.showMessageDialog(
                                 Main.parent,
                                 "cross references",
@@ -43,5 +42,5 @@
             OsmDataLayer l = (OsmDataLayer)Main.map.mapView.getActiveLayer();
             if (l.data != Main.main.getCurrentDataSet()) {
-                OptionPaneUtil.showMessageDialog(
+                JOptionPane.showMessageDialog(
                         Main.parent,
                         "Main.ds / active layer mismatch",
@@ -53,5 +52,5 @@
         }
 
-        OptionPaneUtil.showMessageDialog(
+        JOptionPane.showMessageDialog(
                 Main.parent, "working", "", JOptionPane.INFORMATION_MESSAGE);
     }
Index: trunk/src/org/openstreetmap/josm/data/Preferences.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/Preferences.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/data/Preferences.java	(revision 2017)
@@ -30,6 +30,4 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.AboutAction;
-import org.openstreetmap.josm.data.projection.Mercator;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.preferences.ProxyPreferences;
 import org.openstreetmap.josm.tools.ColorHelper;
@@ -335,5 +333,5 @@
         if (prefDir.exists()) {
             if(!prefDir.isDirectory()) {
-                OptionPaneUtil.showMessageDialog(
+                JOptionPane.showMessageDialog(
                         Main.parent,
                         tr("Cannot open preferences directory: {0}",Main.pref.getPreferencesDir()),
@@ -360,5 +358,5 @@
             e1.printStackTrace();
             String backup = getPreferencesDir() + "preferences.bak";
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("Preferences file had errors. Making backup of old one to {0}.", backup),
Index: trunk/src/org/openstreetmap/josm/data/ProjectionBounds.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/ProjectionBounds.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/data/ProjectionBounds.java	(revision 2017)
@@ -1,6 +1,4 @@
 // License: GPL. Copyright 2007 by Immanuel Scholz and others
 package org.openstreetmap.josm.data;
-
-import java.awt.geom.Rectangle2D;
 
 import org.openstreetmap.josm.data.coor.EastNorth;
Index: trunk/src/org/openstreetmap/josm/data/ServerSidePreferences.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/ServerSidePreferences.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/data/ServerSidePreferences.java	(revision 2017)
@@ -12,7 +12,7 @@
 import java.io.StringReader;
 import java.net.HttpURLConnection;
-import java.net.URLConnection;
 import java.net.MalformedURLException;
 import java.net.URL;
+import java.net.URLConnection;
 import java.util.Collection;
 import java.util.Collections;
@@ -25,5 +25,4 @@
 
 import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.io.OsmConnection;
 import org.openstreetmap.josm.io.XmlWriter;
@@ -84,5 +83,5 @@
                 con.getInputStream().close();
                 con.disconnect();
-                OptionPaneUtil.showMessageDialog(
+                JOptionPane.showMessageDialog(
                         Main.parent,
                         tr("Preferences stored on {0}", u.getHost()),
@@ -92,5 +91,5 @@
             } catch (Exception e) {
                 e.printStackTrace();
-                OptionPaneUtil.showMessageDialog(
+                JOptionPane.showMessageDialog(
                         Main.parent,
                         tr("Could not upload preferences. Reason: {0}", e.getMessage()),
@@ -108,5 +107,5 @@
         } catch (MalformedURLException e) {
             e.printStackTrace();
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("Could not load preferences from server."),
Index: trunk/src/org/openstreetmap/josm/data/conflict/ConflictCollection.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/conflict/ConflictCollection.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/data/conflict/ConflictCollection.java	(revision 2017)
@@ -2,7 +2,7 @@
 package org.openstreetmap.josm.data.conflict;
 
+import static org.openstreetmap.josm.tools.I18n.tr;
+
 import java.util.ArrayList;
-import static org.openstreetmap.josm.tools.I18n.tr;
-
 import java.util.Collection;
 import java.util.HashSet;
Index: trunk/src/org/openstreetmap/josm/data/coor/LatLon.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/coor/LatLon.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/data/coor/LatLon.java	(revision 2017)
@@ -5,10 +5,10 @@
 import static org.openstreetmap.josm.tools.I18n.tr;
 
+import java.text.DecimalFormat;
+import java.text.NumberFormat;
+
+import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.Bounds;
 import org.openstreetmap.josm.data.projection.Projection;
-import org.openstreetmap.josm.Main;
-
-import java.text.DecimalFormat;
-import java.text.NumberFormat;
 
 /**
Index: trunk/src/org/openstreetmap/josm/data/gpx/GpxData.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/gpx/GpxData.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/data/gpx/GpxData.java	(revision 2017)
@@ -9,5 +9,4 @@
 
 import org.openstreetmap.josm.data.Bounds;
-import org.openstreetmap.josm.data.coor.LatLon;
 
 /**
Index: trunk/src/org/openstreetmap/josm/data/gpx/WayPoint.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/gpx/WayPoint.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/data/gpx/WayPoint.java	(revision 2017)
@@ -4,12 +4,9 @@
 package org.openstreetmap.josm.data.gpx;
 
-import java.util.Date;
 import java.awt.Color;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.coor.CachedLatLon;
 import org.openstreetmap.josm.data.coor.EastNorth;
 import org.openstreetmap.josm.data.coor.LatLon;
-import org.openstreetmap.josm.data.projection.Projection;
 import org.openstreetmap.josm.tools.DateUtils;
 
Index: trunk/src/org/openstreetmap/josm/data/osm/Node.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/Node.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/data/osm/Node.java	(revision 2017)
@@ -1,6 +1,4 @@
 // License: GPL. Copyright 2007 by Immanuel Scholz and others
 package org.openstreetmap.josm.data.osm;
-
-import java.util.Locale;
 
 import org.openstreetmap.josm.data.coor.CachedLatLon;
@@ -8,5 +6,4 @@
 import org.openstreetmap.josm.data.coor.LatLon;
 import org.openstreetmap.josm.data.osm.visitor.Visitor;
-import static org.openstreetmap.josm.tools.I18n.tr;
 
 /**
Index: trunk/src/org/openstreetmap/josm/data/osm/OsmPrimitive.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/OsmPrimitive.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/data/osm/OsmPrimitive.java	(revision 2017)
@@ -241,8 +241,7 @@
     /**
      * The key/value list for this primitive.
-     * @deprecated This field will became private or protected in future, use api instead
-     */
-    @Deprecated
-    public Map<String, String> keys;
+     *
+     */
+    private Map<String, String> keys;
 
     /**
Index: trunk/src/org/openstreetmap/josm/data/osm/Relation.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/Relation.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/data/osm/Relation.java	(revision 2017)
@@ -1,5 +1,3 @@
 package org.openstreetmap.josm.data.osm;
-
-import static org.openstreetmap.josm.tools.I18n.tr;
 
 import java.util.ArrayList;
Index: trunk/src/org/openstreetmap/josm/data/osm/TagCollection.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/TagCollection.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/data/osm/TagCollection.java	(revision 2017)
@@ -1,4 +1,6 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.data.osm;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
 
 import java.util.ArrayList;
@@ -10,6 +12,4 @@
 import java.util.Set;
 import java.util.Map.Entry;
-
-import static org.openstreetmap.josm.tools.I18n.tr;
 
 /**
Index: trunk/src/org/openstreetmap/josm/data/osm/Way.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/Way.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/data/osm/Way.java	(revision 2017)
@@ -1,12 +1,8 @@
 // License: GPL. Copyright 2007 by Immanuel Scholz and others
 package org.openstreetmap.josm.data.osm;
-
-import static org.openstreetmap.josm.tools.I18n.tr;
-import static org.openstreetmap.josm.tools.I18n.trn;
 
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
-import java.util.HashSet;
 import java.util.List;
 
@@ -25,9 +21,6 @@
      * All way nodes in this way
      *
-     * @deprecated This public field will become private or protected in the future.
-     *  Use the new public API instead.
-     */
-    @Deprecated
-    public final List<Node> nodes = new ArrayList<Node>();
+     */
+    private final List<Node> nodes = new ArrayList<Node>();
 
     /**
Index: trunk/src/org/openstreetmap/josm/data/osm/history/History.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/history/History.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/data/osm/history/History.java	(revision 2017)
@@ -1,4 +1,6 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.data.osm.history;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
 
 import java.util.ArrayList;
@@ -8,5 +10,4 @@
 import java.util.List;
 import java.util.NoSuchElementException;
-import static org.openstreetmap.josm.tools.I18n.tr;
 
 public class History{
Index: trunk/src/org/openstreetmap/josm/data/osm/history/HistoryOsmPrimitive.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/history/HistoryOsmPrimitive.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/data/osm/history/HistoryOsmPrimitive.java	(revision 2017)
@@ -1,4 +1,6 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.data.osm.history;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
 
 import java.util.Collections;
@@ -8,6 +10,4 @@
 
 import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
-
-import static org.openstreetmap.josm.tools.I18n.tr;
 
 /**
Index: trunk/src/org/openstreetmap/josm/data/osm/history/RelationMember.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/history/RelationMember.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/data/osm/history/RelationMember.java	(revision 2017)
@@ -2,6 +2,7 @@
 package org.openstreetmap.josm.data.osm.history;
 
+import static org.openstreetmap.josm.tools.I18n.tr;
+
 import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
-import static org.openstreetmap.josm.tools.I18n.tr;
 
 /**
Index: trunk/src/org/openstreetmap/josm/data/osm/visitor/Visitor.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/visitor/Visitor.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/data/osm/visitor/Visitor.java	(revision 2017)
@@ -3,6 +3,6 @@
 
 import org.openstreetmap.josm.data.osm.Changeset;
+import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.Relation;
-import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.Way;
 
Index: trunk/src/org/openstreetmap/josm/data/projection/Epsg4326.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/projection/Epsg4326.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/data/projection/Epsg4326.java	(revision 2017)
@@ -4,8 +4,7 @@
 import static org.openstreetmap.josm.tools.I18n.tr;
 
+import org.openstreetmap.josm.data.Bounds;
+import org.openstreetmap.josm.data.coor.EastNorth;
 import org.openstreetmap.josm.data.coor.LatLon;
-import org.openstreetmap.josm.data.coor.EastNorth;
-import org.openstreetmap.josm.data.Bounds;
-import org.openstreetmap.josm.data.ProjectionBounds;
 
 /**
Index: trunk/src/org/openstreetmap/josm/data/projection/Lambert.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/projection/Lambert.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/data/projection/Lambert.java	(revision 2017)
@@ -10,8 +10,7 @@
 
 import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.data.Bounds;
 import org.openstreetmap.josm.data.coor.EastNorth;
 import org.openstreetmap.josm.data.coor.LatLon;
-import org.openstreetmap.josm.data.Bounds;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 
 public class Lambert implements Projection {
@@ -108,5 +107,5 @@
             } else if (layoutZone != currentZone) {
                 if (farawayFromLambertZoneFrance(lt,lg)) {
-                    OptionPaneUtil.showMessageDialog(Main.parent,
+                    JOptionPane.showMessageDialog(Main.parent,
                             tr("IMPORTANT : data positioned far away from\n"
                                     + "the current Lambert zone limits.\n"
Index: trunk/src/org/openstreetmap/josm/data/projection/LambertEST.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/projection/LambertEST.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/data/projection/LambertEST.java	(revision 2017)
@@ -7,8 +7,7 @@
 import static org.openstreetmap.josm.tools.I18n.tr;
 
+import org.openstreetmap.josm.data.Bounds;
 import org.openstreetmap.josm.data.coor.EastNorth;
 import org.openstreetmap.josm.data.coor.LatLon;
-import org.openstreetmap.josm.data.Bounds;
-import org.openstreetmap.josm.data.ProjectionBounds;
 
 public class LambertEST implements Projection {
Index: trunk/src/org/openstreetmap/josm/data/projection/Mercator.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/projection/Mercator.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/data/projection/Mercator.java	(revision 2017)
@@ -4,8 +4,7 @@
 import static org.openstreetmap.josm.tools.I18n.tr;
 
+import org.openstreetmap.josm.data.Bounds;
 import org.openstreetmap.josm.data.coor.EastNorth;
 import org.openstreetmap.josm.data.coor.LatLon;
-import org.openstreetmap.josm.data.Bounds;
-import org.openstreetmap.josm.data.ProjectionBounds;
 
 /**
Index: trunk/src/org/openstreetmap/josm/data/projection/Projection.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/projection/Projection.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/data/projection/Projection.java	(revision 2017)
@@ -2,7 +2,7 @@
 package org.openstreetmap.josm.data.projection;
 
+import org.openstreetmap.josm.data.Bounds;
 import org.openstreetmap.josm.data.coor.EastNorth;
 import org.openstreetmap.josm.data.coor.LatLon;
-import org.openstreetmap.josm.data.Bounds;
 
 /**
Index: trunk/src/org/openstreetmap/josm/data/projection/SwissGrid.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/projection/SwissGrid.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/data/projection/SwissGrid.java	(revision 2017)
@@ -5,9 +5,7 @@
 import static org.openstreetmap.josm.tools.I18n.tr;
 
-import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.data.Bounds;
 import org.openstreetmap.josm.data.coor.EastNorth;
 import org.openstreetmap.josm.data.coor.LatLon;
-import org.openstreetmap.josm.data.Bounds;
-import org.openstreetmap.josm.data.ProjectionBounds;
 
 /**
Index: trunk/src/org/openstreetmap/josm/data/projection/UTM.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/projection/UTM.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/data/projection/UTM.java	(revision 2017)
@@ -4,8 +4,7 @@
 import static org.openstreetmap.josm.tools.I18n.tr;
 
+import org.openstreetmap.josm.data.Bounds;
+import org.openstreetmap.josm.data.coor.EastNorth;
 import org.openstreetmap.josm.data.coor.LatLon;
-import org.openstreetmap.josm.data.coor.EastNorth;
-import org.openstreetmap.josm.data.Bounds;
-import org.openstreetmap.josm.data.ProjectionBounds;
 
 /**
Index: trunk/src/org/openstreetmap/josm/gui/BookmarkList.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/BookmarkList.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/BookmarkList.java	(revision 2017)
@@ -42,5 +42,5 @@
         } catch (IOException e) {
             e.printStackTrace();
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("<html>Could not read bookmarks.<br>{0}</html>", e.getMessage()),
@@ -62,5 +62,5 @@
             Main.pref.saveBookmarks(bookmarks);
         } catch (IOException e) {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("<html>Could not write bookmark.<br>{0}</html>", e.getMessage()),
Index: trunk/src/org/openstreetmap/josm/gui/ConditionalOptionPaneUtil.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/ConditionalOptionPaneUtil.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/ConditionalOptionPaneUtil.java	(revision 2017)
@@ -89,5 +89,5 @@
             return DIALOG_DISABLED_OPTION;
         MessagePanel pnl = new MessagePanel(preferenceKey, message);
-        int ret = OptionPaneUtil.showOptionDialog(parent, pnl, title, optionType, messageType, options,defaultOption);
+        int ret = JOptionPane.showOptionDialog(parent, pnl, title, optionType, messageType, null,options,defaultOption);
         pnl.remeberDialogShowingEnabled();
         return ret;
@@ -128,7 +128,7 @@
             return true;
         MessagePanel pnl = new MessagePanel(preferenceKey, message);
-        boolean ret = OptionPaneUtil.showConfirmationDialog(parent, pnl, title, optionType, messageType, trueOption);
+        int ret = JOptionPane.showConfirmDialog(parent, pnl, title, optionType, messageType);
         pnl.remeberDialogShowingEnabled();
-        return ret;
+        return ret == trueOption;
     }
 
@@ -155,5 +155,5 @@
             return;
         MessagePanel pnl = new MessagePanel(preferenceKey, message);
-        OptionPaneUtil.showMessageDialog(parent, pnl, title, messageType);
+        JOptionPane.showMessageDialog(parent, pnl, title, messageType);
         pnl.remeberDialogShowingEnabled();
     }
Index: trunk/src/org/openstreetmap/josm/gui/FileDrop.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/FileDrop.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/FileDrop.java	(revision 2017)
@@ -11,4 +11,6 @@
 
 import org.openstreetmap.josm.actions.OpenFileAction;
+
+import org.openstreetmap.josm.gui.FileDrop.TransferableObject;
 
 /**
Index: trunk/src/org/openstreetmap/josm/gui/JMultilineLabel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/JMultilineLabel.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/JMultilineLabel.java	(revision 2017)
@@ -15,7 +15,7 @@
 import java.awt.font.LineBreakMeasurer;
 import java.awt.font.TextAttribute;
+import java.awt.font.TextLayout;
 import java.text.AttributedCharacterIterator;
 import java.text.AttributedString;
-import java.awt.font.TextLayout;
 
 import javax.swing.JComponent;
Index: trunk/src/org/openstreetmap/josm/gui/MainApplet.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/MainApplet.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/MainApplet.java	(revision 2017)
@@ -4,6 +4,6 @@
 import static org.openstreetmap.josm.tools.I18n.tr;
 
+import java.applet.AppletContext;
 import java.applet.AppletStub;
-import java.applet.AppletContext;
 import java.awt.GridBagLayout;
 import java.awt.event.ActionEvent;
Index: trunk/src/org/openstreetmap/josm/gui/MainApplication.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/MainApplication.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/MainApplication.java	(revision 2017)
@@ -21,6 +21,6 @@
 import org.openstreetmap.josm.plugins.PluginHandler;
 import org.openstreetmap.josm.tools.BugReportExceptionHandler;
+import org.openstreetmap.josm.tools.I18n;
 import org.openstreetmap.josm.tools.ImageProvider;
-import org.openstreetmap.josm.tools.I18n;
 
 /**
Index: trunk/src/org/openstreetmap/josm/gui/MapFrame.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/MapFrame.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/MapFrame.java	(revision 2017)
@@ -22,5 +22,4 @@
 import org.openstreetmap.josm.actions.mapmode.SelectAction;
 import org.openstreetmap.josm.actions.mapmode.ZoomAction;
-import org.openstreetmap.josm.gui.ScrollViewport;
 import org.openstreetmap.josm.gui.dialogs.CommandStackDialog;
 import org.openstreetmap.josm.gui.dialogs.ConflictDialog;
Index: trunk/src/org/openstreetmap/josm/gui/MapScaler.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/MapScaler.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/MapScaler.java	(revision 2017)
@@ -13,5 +13,4 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.HelpAction.Helpful;
-import org.openstreetmap.josm.data.coor.LatLon;
 
 public class MapScaler extends JComponent implements Helpful {
Index: trunk/src/org/openstreetmap/josm/gui/MapSlider.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/MapSlider.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/MapSlider.java	(revision 2017)
@@ -10,7 +10,5 @@
 
 import org.openstreetmap.josm.actions.HelpAction.Helpful;
-import org.openstreetmap.josm.data.coor.EastNorth;
 import org.openstreetmap.josm.data.ProjectionBounds;
-import org.openstreetmap.josm.Main;
 
 class MapSlider extends JSlider implements PropertyChangeListener, ChangeListener, Helpful {
Index: trunk/src/org/openstreetmap/josm/gui/OptionPaneUtil.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/OptionPaneUtil.java	(revision 2016)
+++ 	(revision )
@@ -1,304 +1,0 @@
-// License: GPL. For details, see LICENSE file.
-package org.openstreetmap.josm.gui;
-
-import java.awt.Component;
-import java.awt.HeadlessException;
-
-import javax.swing.Icon;
-import javax.swing.JDialog;
-import javax.swing.JOptionPane;
-
-import org.openstreetmap.josm.Main;
-
-/**
- * OptionPaneUtil provides static utility methods for displaying modal message dialogs.
- * 
- * They wrap the methods provided by {@see JOptionPane}. Within JOSM you should use these
- * methods rather than the bare methods from {@see JOptionPane} because the methods provided
- * by OptionPaneUtil ensure that a dialog window is always on top and isn't hidden by one of the
- * JOSM windows for detached dialogs, relation editors, history browser and the like.
- *
- * Typical usage for a message dialog:
- * <pre>
- *    OptionPaneUtil.showMessageDialog(Main.parent, tr("My message"), tr("My title"), JOptionPane.WARNING_MESSAGE);
- * </pre>
- * 
- */
-@Deprecated
-public class OptionPaneUtil {
-
-    /**
-     * this is static utility class, no instances allowed
-     */
-    private OptionPaneUtil () {}
-
-    /**
-     * prepares a dialog as message dialog which is always on the top of the windows
-     * stack
-     * 
-     * @param dialog the dialog
-     */
-    static protected void prepareDialog(JDialog dialog) {
-        // FIXME: this is a temporary solution. I'm still looking for an approach which
-        // works across all OS and WMs. Can we get rid of "always-on-top" in JOSM
-        // completely?
-        //
-        dialog.setModal(true);
-        dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
-    }
-
-    /**
-     * Displays an message in modal dialog with an OK button. Makes sure the dialog
-     * is always on top even if there are other open windows like detached dialogs,
-     * relation editors, history browsers and the like.
-     * 
-     * @param parent  the parent component
-     * @param message  the message
-     * @param title the title
-     * @param messageType the message type
-     * 
-     * @see JOptionPane#INFORMATION_MESSAGE
-     * @see JOptionPane#WARNING_MESSAGE
-     * @see JOptionPane#ERROR_MESSAGE
-     */
-    static public void showMessageDialog(Component parent, Object message, String title, int messageType) {
-        JOptionPane op = new JOptionPane(
-                message,
-                messageType
-        );
-        JDialog dialog = op.createDialog(Main.parent, title);
-        prepareDialog(dialog);
-        dialog.setVisible(true);
-    }
-
-
-    /**
-     * Displays an confirmation dialog with two or three buttons. Makes sure the dialog
-     * is always on top even if there are other open windows like detached dialogs,
-     * relation editors, history browsers and the like.
-     * 
-     * Set <code>optionType</code> to {@see JOptionPane#YES_NO_OPTION} for a dialog with a YES and
-     * a NO button.
-
-     * Set <code>optionType</code> to {@see JOptionPane#YES_NO_CANCEL_OPTION} for a dialog with a YES,
-     * a NO and a CANCEL button
-     * 
-     * @param parent  the parent component
-     * @param message  the message
-     * @param title the title
-     * @param optionType  the option type
-     * @param messageType the message type
-     * 
-     * @see JOptionPane#INFORMATION_MESSAGE
-     * @see JOptionPane#WARNING_MESSAGE
-     * @see JOptionPane#ERROR_MESSAGE
-     */
-    static public int showConfirmationDialog(Component parent, Object message, String title, int optionType, int messageType) throws HeadlessException {
-        JOptionPane op = new JOptionPane(
-                message,
-                messageType,
-                optionType
-        );
-        JDialog dialog = op.createDialog(Main.parent, title);
-        prepareDialog(dialog);
-        dialog.setVisible(true);
-        Object value = op.getValue();
-        if (value == null || ! (value instanceof Integer))
-            return JOptionPane.CLOSED_OPTION;
-        return (Integer)value;
-    }
-
-    /**
-     * Displays an confirmation dialog with some option buttons given by <code>optionType</code>.
-     * It is always on top even if there are other open windows like detached dialogs,
-     * relation editors, history browsers and the like.
-     * 
-     * Set <code>optionType</code> to {@see JOptionPane#YES_NO_OPTION} for a dialog with a YES and
-     * a NO button.
-
-     * Set <code>optionType</code> to {@see JOptionPane#YES_NO_CANCEL_OPTION} for a dialog with a YES,
-     * a NO and a CANCEL button
-     * 
-     * Replies true, if the selected option is equal to <code>trueOption</code>, otherwise false.
-     * 
-     * @param parent  the parent component
-     * @param message  the message
-     * @param title the title
-     * @param optionType  the option type
-     * @param messageType the message type
-     * @param trueOption  if this option is selected the method replies true
-     * 
-     * 
-     * @return true, if the selected option is equal to <code>trueOption</code>, otherwise false.
-     * 
-     * @see JOptionPane#INFORMATION_MESSAGE
-     * @see JOptionPane#WARNING_MESSAGE
-     * @see JOptionPane#ERROR_MESSAGE
-     */
-    static public boolean showConfirmationDialog(Component parent, Object message, String title, int optionType, int messageType, int trueOption) throws HeadlessException {
-        int ret = showConfirmationDialog(parent, message, title, optionType, messageType);
-        return ret == trueOption;
-    }
-
-    /**
-     * Displays an confirmation dialog with three buttons: YES, NO and CANCEL. Makes sure the dialog
-     * is always on top even if there are other open windows like detached dialogs,
-     * relation editors, history browsers and the like. The dialog is of type {@see JOptionPane#QUESTION_MESSAGE}
-     * 
-     * @param parent  the parent component
-     * @param message  the message
-     * @param title the title
-     * 
-     */
-    static public int showConfirmationDialog(Component parent, Object message, String title) throws HeadlessException {
-        return showConfirmationDialog(parent, message, title, JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE);
-    }
-
-    /**
-     * Displays a confirmation dialog with arbitrary confirmation options. Makes sure the dialog
-     * is always on top even if there are other open windows like detached dialogs,
-     * relation editors, history browsers and the like.
-     * 
-     * Provide an array of option labels in <code>options</code>, i.e.
-     * <pre>
-     *    options = new String[] {"Yes, do it!", "No, not yet", "Abort"};
-     * </pre>
-     * 
-     * Replies the index of the selected option or {@see JOptionPane#CLOSED_OPTION} if
-     * the dialog was closed.
-     * 
-     * @param parent the parent component
-     * @param message the message
-     * @param title  the title
-     * @param optionType
-     * @param messageType
-     * @param options
-     * @param initialValue
-     * @return  the index of the selected option or {@see JOptionPane#CLOSED_OPTION}
-     */
-    static public int showOptionDialog(Component parent,
-            Object message,
-            String title,
-            int optionType,
-            int messageType,
-            Object[] options,
-            Object initialValue) {
-
-        JOptionPane op = new JOptionPane(
-                message,
-                messageType,
-                optionType,
-                null /* no icon */,
-                options,
-                initialValue
-        );
-        JDialog dialog = op.createDialog(Main.parent, title);
-        prepareDialog(dialog);
-        dialog.setVisible(true);
-        Object value = op.getValue();
-        if (value == null)
-            return JOptionPane.CLOSED_OPTION;
-        if (options == null) {
-            if (value instanceof Integer)
-                return (Integer)value;
-            return JOptionPane.CLOSED_OPTION;
-        }
-        for(int i = 0; i < options.length; i++) {
-            if(options[i].equals(value))
-                return i;
-        }
-        return JOptionPane.CLOSED_OPTION;
-    }
-
-    /**
-     * Shows a dialog requesting input from the user parented to
-     * <code>parentComponent</code> with the dialog having the title
-     * <code>title</code> and message type <code>messageType</code>.
-     *
-     * @param parentComponent  the parent <code>Component</code> for the
-     *          dialog
-     * @param message  the <code>Object</code> to display
-     * @param title    the <code>String</code> to display in the dialog
-     *          title bar
-     * @param messageType the type of message that is to be displayed:
-     *                  <code>ERROR_MESSAGE</code>,
-     *          <code>INFORMATION_MESSAGE</code>,
-     *          <code>WARNING_MESSAGE</code>,
-     *                  <code>QUESTION_MESSAGE</code>,
-     *          or <code>PLAIN_MESSAGE</code>
-     * @exception HeadlessException if
-     *   <code>GraphicsEnvironment.isHeadless</code> returns
-     *   <code>true</code>
-     * @see java.awt.GraphicsEnvironment#isHeadless
-     */
-    public static String showInputDialog(Component parentComponent,
-            Object message, String title, int messageType)
-    throws HeadlessException {
-        return (String)showInputDialog(parentComponent, message, title,
-                messageType, null, null, null);
-    }
-
-    /**
-     * Prompts the user for input in a blocking dialog where the
-     * initial selection, possible selections, and all other options can
-     * be specified. The user will able to choose from
-     * <code>selectionValues</code>, where <code>null</code> implies the
-     * user can input
-     * whatever they wish, usually by means of a <code>JTextField</code>.
-     * <code>initialSelectionValue</code> is the initial value to prompt
-     * the user with. It is up to the UI to decide how best to represent
-     * the <code>selectionValues</code>, but usually a
-     * <code>JComboBox</code>, <code>JList</code>, or
-     * <code>JTextField</code> will be used.
-     *
-     * @param parentComponent  the parent <code>Component</code> for the
-     *          dialog
-     * @param message  the <code>Object</code> to display
-     * @param title    the <code>String</code> to display in the
-     *          dialog title bar
-     * @param messageType the type of message to be displayed:
-     *                  <code>ERROR_MESSAGE</code>,
-     *          <code>INFORMATION_MESSAGE</code>,
-     *          <code>WARNING_MESSAGE</code>,
-     *                  <code>QUESTION_MESSAGE</code>,
-     *          or <code>PLAIN_MESSAGE</code>
-     * @param icon     the <code>Icon</code> image to display
-     * @param selectionValues an array of <code>Object</code>s that
-     *          gives the possible selections
-     * @param initialSelectionValue the value used to initialize the input
-     *                 field
-     * @return user's input, or <code>null</code> meaning the user
-     *          canceled the input
-     * @exception HeadlessException if
-     *   <code>GraphicsEnvironment.isHeadless</code> returns
-     *   <code>true</code>
-     * @see java.awt.GraphicsEnvironment#isHeadless
-     */
-    public static Object showInputDialog(Component parentComponent,
-            Object message, String title, int messageType, Icon icon,
-            Object[] selectionValues, Object initialSelectionValue)
-    throws HeadlessException {
-        JOptionPane    pane = new JOptionPane(message, messageType,
-                JOptionPane.OK_CANCEL_OPTION, icon,
-                null, null);
-
-        pane.setWantsInput(true);
-        pane.setSelectionValues(selectionValues);
-        pane.setInitialSelectionValue(initialSelectionValue);
-        pane.setComponentOrientation(((parentComponent == null) ?
-                JOptionPane.getRootFrame() : parentComponent).getComponentOrientation());
-
-        JDialog dialog = pane.createDialog(parentComponent, title);
-        // this shows the dialog always on top and brings it to front
-        //
-        prepareDialog(dialog);
-        pane.selectInitialValue();
-        dialog.setVisible(true);
-        dialog.dispose();
-
-        Object value = pane.getInputValue();
-        if (value == JOptionPane.UNINITIALIZED_VALUE)
-            return null;
-        return value;
-    }
-}
Index: trunk/src/org/openstreetmap/josm/gui/PleaseWaitDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/PleaseWaitDialog.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/PleaseWaitDialog.java	(revision 2017)
@@ -1,6 +1,4 @@
 // License: GPL. Copyright 2007 by Immanuel Scholz and others
 package org.openstreetmap.josm.gui;
-
-import static org.openstreetmap.josm.tools.I18n.tr;
 
 import java.awt.Dialog;
Index: trunk/src/org/openstreetmap/josm/gui/SideButton.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/SideButton.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/SideButton.java	(revision 2017)
@@ -2,10 +2,12 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+
+import java.awt.Image;
+import java.awt.Insets;
 import java.awt.event.ActionListener;
-import java.awt.Insets;
-import java.awt.Image;
+
 import javax.swing.Action;
+import javax.swing.ImageIcon;
 import javax.swing.JButton;
-import javax.swing.ImageIcon;
 
 import org.openstreetmap.josm.Main;
Index: trunk/src/org/openstreetmap/josm/gui/conflict/pair/properties/PropertiesMergeModel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/pair/properties/PropertiesMergeModel.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/pair/properties/PropertiesMergeModel.java	(revision 2017)
@@ -27,5 +27,4 @@
 import org.openstreetmap.josm.data.osm.RelationMember;
 import org.openstreetmap.josm.data.osm.Way;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.conflict.pair.MergeDecisionType;
 import org.openstreetmap.josm.gui.progress.NullProgressMonitor;
@@ -213,7 +212,7 @@
     public LatLon getMergedCoords() {
         switch(coordMergeDecision) {
-        case KEEP_MINE: return myCoords;
-        case KEEP_THEIR: return theirCoords;
-        case UNDECIDED: return null;
+            case KEEP_MINE: return myCoords;
+            case KEEP_THEIR: return theirCoords;
+            case UNDECIDED: return null;
         }
         // should not happen
@@ -247,7 +246,7 @@
     public Boolean getMergedDeletedState() {
         switch(deletedMergeDecision) {
-        case KEEP_MINE: return myDeletedState;
-        case KEEP_THEIR: return theirDeletedState;
-        case UNDECIDED: return null;
+            case KEEP_MINE: return myDeletedState;
+            case KEEP_THEIR: return theirDeletedState;
+            case UNDECIDED: return null;
         }
         // should not happen
@@ -280,7 +279,7 @@
     public Boolean getMergedVisibleState() {
         switch(visibleMergeDecision) {
-        case KEEP_MINE: return myVisibleState;
-        case KEEP_THEIR: return theirVisibleState;
-        case UNDECIDED: return null;
+            case KEEP_MINE: return myVisibleState;
+            case KEEP_THEIR: return theirVisibleState;
+            case UNDECIDED: return null;
         }
         // should not happen
@@ -418,5 +417,5 @@
         String msg = e.getMessage() != null ? e.getMessage() : e.toString();
         msg = msg.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;");
-        OptionPaneUtil.showMessageDialog(
+        JOptionPane.showMessageDialog(
                 Main.parent,
                 tr("<html>An error occurred while communicating with the server<br>"
@@ -469,5 +468,5 @@
                 tr("No, cancel operation")
         };
-        int ret = OptionPaneUtil.showOptionDialog(
+        int ret = JOptionPane.showOptionDialog(
                 Main.parent,
                 tr("<html>There are {0} additional nodes used by way {1}<br>"
@@ -479,4 +478,5 @@
                         JOptionPane.YES_NO_OPTION,
                         JOptionPane.QUESTION_MESSAGE,
+                        null,
                         options,
                         options[0]
@@ -484,7 +484,7 @@
 
         switch(ret) {
-        case JOptionPane.CLOSED_OPTION: return false;
-        case JOptionPane.YES_OPTION: return true;
-        case JOptionPane.NO_OPTION: return false;
+            case JOptionPane.CLOSED_OPTION: return false;
+            case JOptionPane.YES_OPTION: return true;
+            case JOptionPane.NO_OPTION: return false;
         }
         return false;
@@ -497,5 +497,5 @@
                 tr("No, cancel operation")
         };
-        int ret = OptionPaneUtil.showOptionDialog(
+        int ret = JOptionPane.showOptionDialog(
                 Main.parent,
                 tr("<html>There are {0} additional primitives referred to by relation {1}<br>"
@@ -507,4 +507,5 @@
                         JOptionPane.YES_NO_OPTION,
                         JOptionPane.QUESTION_MESSAGE,
+                        null,
                         options,
                         options[0]
@@ -512,7 +513,7 @@
 
         switch(ret) {
-        case JOptionPane.CLOSED_OPTION: return false;
-        case JOptionPane.YES_OPTION: return true;
-        case JOptionPane.NO_OPTION: return false;
+            case JOptionPane.CLOSED_OPTION: return false;
+            case JOptionPane.YES_OPTION: return true;
+            case JOptionPane.NO_OPTION: return false;
         }
         return false;
Index: trunk/src/org/openstreetmap/josm/gui/conflict/pair/properties/PropertiesMerger.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/pair/properties/PropertiesMerger.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/pair/properties/PropertiesMerger.java	(revision 2017)
@@ -20,10 +20,6 @@
 import javax.swing.JOptionPane;
 import javax.swing.JPanel;
-import javax.swing.SwingUtilities;
-
-import org.openstreetmap.josm.Main;
+
 import org.openstreetmap.josm.data.coor.LatLon;
-import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.conflict.pair.MergeDecisionType;
 import org.openstreetmap.josm.tools.ImageProvider;
@@ -583,5 +579,5 @@
                     tr("No, abort")
             };
-            int ret = OptionPaneUtil.showOptionDialog(
+            int ret = JOptionPane.showOptionDialog(
                     null,
                     tr("<html>To keep your local version, JOSM<br>"
@@ -595,4 +591,5 @@
                     JOptionPane.YES_NO_OPTION,
                     JOptionPane.QUESTION_MESSAGE,
+                    null,
                     options,
                     options[1]
@@ -623,5 +620,5 @@
                     tr("No, abort")
             };
-            int ret = OptionPaneUtil.showOptionDialog(
+            int ret = JOptionPane.showOptionDialog(
                     null,
                     tr("<html>JOSM will have to remove your local primitive with id {0}<br>"
@@ -633,4 +630,5 @@
                     JOptionPane.YES_NO_OPTION,
                     JOptionPane.QUESTION_MESSAGE,
+                    null,
                     options,
                     options[1]
Index: trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/MineTableCellRenderer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/MineTableCellRenderer.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/MineTableCellRenderer.java	(revision 2017)
@@ -1,10 +1,10 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.gui.conflict.pair.tags;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
 
 import java.awt.Color;
 
 import org.openstreetmap.josm.gui.conflict.pair.MergeDecisionType;
-
-import static org.openstreetmap.josm.tools.I18n.tr;
 
 public class MineTableCellRenderer extends TagMergeTableCellRenderer {
Index: trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/TagMergeTableCellRenderer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/TagMergeTableCellRenderer.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/TagMergeTableCellRenderer.java	(revision 2017)
@@ -1,4 +1,6 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.gui.conflict.pair.tags;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
 
 import java.awt.Color;
@@ -8,5 +10,4 @@
 import javax.swing.JTable;
 import javax.swing.table.TableCellRenderer;
-import static org.openstreetmap.josm.tools.I18n.tr;
 
 public abstract class TagMergeTableCellRenderer extends JLabel implements TableCellRenderer {
Index: trunk/src/org/openstreetmap/josm/gui/conflict/tags/TagConflictResolverModel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/tags/TagConflictResolverModel.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/tags/TagConflictResolverModel.java	(revision 2017)
@@ -1,4 +1,6 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.gui.conflict.tags;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
 
 import java.beans.PropertyChangeListener;
@@ -11,5 +13,5 @@
 
 import javax.swing.table.DefaultTableModel;
-import static org.openstreetmap.josm.tools.I18n.tr;
+
 import org.openstreetmap.josm.data.osm.TagCollection;
 
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/ConflictResolutionDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/ConflictResolutionDialog.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/ConflictResolutionDialog.java	(revision 2017)
@@ -26,5 +26,4 @@
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.gui.DefaultNameFormatter;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.conflict.pair.ConflictResolver;
 import org.openstreetmap.josm.gui.conflict.pair.properties.OperationCancelledException;
@@ -194,5 +193,5 @@
                         tr("Close anyway"),
                         tr("Continue resolving")};
-                int ret = OptionPaneUtil.showOptionDialog(Main.parent,
+                int ret = JOptionPane.showOptionDialog(Main.parent,
                         tr("<html>You didn''t finish to merge the differences in this conflict.<br>"
                                 + "Conflict resolutions won't be applied unless all differences<br>"
@@ -206,13 +205,14 @@
                         JOptionPane.YES_NO_OPTION,
                         JOptionPane.WARNING_MESSAGE,
+                        null,
                         options,
                         options[1]
                 );
                 switch(ret) {
-                case JOptionPane.YES_OPTION:
-                    setVisible(false);
-                    break;
-                default:
-                    return;
+                    case JOptionPane.YES_OPTION:
+                        setVisible(false);
+                        break;
+                    default:
+                        return;
                 }
             }
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/HistoryDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/HistoryDialog.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/HistoryDialog.java	(revision 2017)
@@ -2,6 +2,6 @@
 package org.openstreetmap.josm.gui.dialogs;
 
+import static org.openstreetmap.josm.tools.I18n.marktr;
 import static org.openstreetmap.josm.tools.I18n.tr;
-import static org.openstreetmap.josm.tools.I18n.marktr;
 
 import java.awt.BorderLayout;
@@ -44,5 +44,4 @@
 import org.openstreetmap.josm.data.osm.history.History;
 import org.openstreetmap.josm.data.osm.history.HistoryDataSet;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.PleaseWaitRunnable;
 import org.openstreetmap.josm.gui.SideButton;
@@ -248,5 +247,5 @@
                 msg = task.getLastException().toString();
             }
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr(
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/LayerListPopup.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/LayerListPopup.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/LayerListPopup.java	(revision 2017)
@@ -13,5 +13,4 @@
 
 import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.layer.Layer;
 import org.openstreetmap.josm.tools.ImageProvider;
@@ -29,5 +28,5 @@
         }
         public void actionPerformed(ActionEvent e) {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     layer.getInfoComponent(),
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ChildRelationBrowser.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ChildRelationBrowser.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ChildRelationBrowser.java	(revision 2017)
@@ -36,5 +36,4 @@
 import org.openstreetmap.josm.gui.DefaultNameFormatter;
 import org.openstreetmap.josm.gui.ExceptionDialogUtil;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.PleaseWaitRunnable;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
@@ -326,5 +325,5 @@
 
             if (conflictsCount > 0) {
-                OptionPaneUtil.showMessageDialog(
+                JOptionPane.showMessageDialog(
                         Main.parent,
                         tr("There were {0} conflicts during import.", conflictsCount),
@@ -348,5 +347,5 @@
             );
 
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     message,
@@ -480,5 +479,5 @@
 
             if (conflictsCount > 0) {
-                OptionPaneUtil.showMessageDialog(
+                JOptionPane.showMessageDialog(
                         Main.parent,
                         tr("There were {0} conflicts during import.", conflictsCount),
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java	(revision 2017)
@@ -66,5 +66,4 @@
 import org.openstreetmap.josm.gui.DefaultNameFormatter;
 import org.openstreetmap.josm.gui.ExceptionDialogUtil;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.PleaseWaitRunnable;
 import org.openstreetmap.josm.gui.SideButton;
@@ -683,10 +682,10 @@
             );
             switch(ret) {
-            case ConditionalOptionPaneUtil.DIALOG_DISABLED_OPTION: return;
-            case JOptionPane.CLOSED_OPTION: return;
-            case JOptionPane.NO_OPTION: return;
-            case JOptionPane.YES_OPTION:
-                memberTableModel.removeMembersReferringTo(toCheck);
-                break;
+                case ConditionalOptionPaneUtil.DIALOG_DISABLED_OPTION: return;
+                case JOptionPane.CLOSED_OPTION: return;
+                case JOptionPane.NO_OPTION: return;
+                case JOptionPane.YES_OPTION:
+                    memberTableModel.removeMembersReferringTo(toCheck);
+                    break;
             }
         }
@@ -719,9 +718,9 @@
             );
             switch(ret) {
-            case ConditionalOptionPaneUtil.DIALOG_DISABLED_OPTION : return true;
-            case JOptionPane.YES_OPTION: return true;
-            case JOptionPane.NO_OPTION: return false;
-            case JOptionPane.CLOSED_OPTION: return false;
-            case JOptionPane.CANCEL_OPTION: throw new AddAbortException();
+                case ConditionalOptionPaneUtil.DIALOG_DISABLED_OPTION : return true;
+                case JOptionPane.YES_OPTION: return true;
+                case JOptionPane.NO_OPTION: return false;
+                case JOptionPane.CLOSED_OPTION: return false;
+                case JOptionPane.CANCEL_OPTION: throw new AddAbortException();
             }
             // should not happen
@@ -736,5 +735,5 @@
                     primitive.getDisplayName(DefaultNameFormatter.getInstance())
             );
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     msg,
@@ -1141,5 +1140,5 @@
                     tr("No, continue editing")
             };
-            int ret = OptionPaneUtil.showOptionDialog(
+            int ret = JOptionPane.showOptionDialog(
                     Main.parent,
                     tr("<html>This relation has been changed outside of the editor.<br>"
@@ -1150,11 +1149,12 @@
                             JOptionPane.YES_NO_OPTION,
                             JOptionPane.WARNING_MESSAGE,
+                            null,
                             options,
                             options[0]
             );
             switch(ret) {
-            case JOptionPane.CANCEL_OPTION: return false;
-            case JOptionPane.YES_OPTION: return true;
-            case JOptionPane.NO_OPTION: return false;
+                case JOptionPane.CANCEL_OPTION: return false;
+                case JOptionPane.YES_OPTION: return true;
+                case JOptionPane.NO_OPTION: return false;
             }
             return false;
@@ -1162,5 +1162,5 @@
 
         protected void warnDoubleConflict() {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("<html>Layer ''{0}'' already has a conflict for primitive<br>"
@@ -1395,8 +1395,8 @@
             );
             switch(ret) {
-            case JOptionPane.YES_OPTION: return true;
-            case ConditionalOptionPaneUtil.DIALOG_DISABLED_OPTION: return true;
-            default:
-                return false;
+                case JOptionPane.YES_OPTION: return true;
+                case ConditionalOptionPaneUtil.DIALOG_DISABLED_OPTION: return true;
+                default:
+                    return false;
             }
         }
@@ -1546,5 +1546,5 @@
 
             if (conflictsCount > 0) {
-                OptionPaneUtil.showMessageDialog(
+                JOptionPane.showMessageDialog(
                         Main.parent,
                         tr("There were {0} conflicts during import.", conflictsCount),
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ParentRelationLoadingTask.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ParentRelationLoadingTask.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ParentRelationLoadingTask.java	(revision 2017)
@@ -16,5 +16,4 @@
 import org.openstreetmap.josm.data.osm.Relation;
 import org.openstreetmap.josm.data.osm.visitor.MergeVisitor;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.PleaseWaitRunnable;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
@@ -134,5 +133,5 @@
             msg = lastException.toString();
         }
-        OptionPaneUtil.showMessageDialog(
+        JOptionPane.showMessageDialog(
                 Main.parent,
                 msg,
@@ -187,5 +186,5 @@
                     return;
                 getLayer().getConflicts().add(visitor.getConflicts());
-                OptionPaneUtil.showMessageDialog(
+                JOptionPane.showMessageDialog(
                         Main.parent,
                         tr("There were {0} conflicts during import.",
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ReferringRelationsBrowser.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ReferringRelationsBrowser.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ReferringRelationsBrowser.java	(revision 2017)
@@ -5,21 +5,15 @@
 
 import java.awt.BorderLayout;
-import java.awt.Dialog;
 import java.awt.FlowLayout;
 import java.awt.event.ActionEvent;
 import java.awt.event.MouseAdapter;
 import java.awt.event.MouseEvent;
-import java.io.IOException;
-import java.util.ArrayList;
 
 import javax.swing.AbstractAction;
 import javax.swing.JCheckBox;
-import javax.swing.JDialog;
 import javax.swing.JLabel;
 import javax.swing.JList;
-import javax.swing.JOptionPane;
 import javax.swing.JPanel;
 import javax.swing.ListSelectionModel;
-import javax.swing.SwingUtilities;
 import javax.swing.event.ListDataEvent;
 import javax.swing.event.ListDataListener;
@@ -28,19 +22,10 @@
 
 import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.data.osm.DataSet;
-import org.openstreetmap.josm.data.osm.DataSource;
 import org.openstreetmap.josm.data.osm.Relation;
-import org.openstreetmap.josm.data.osm.visitor.MergeVisitor;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.OsmPrimitivRenderer;
-import org.openstreetmap.josm.gui.PleaseWaitRunnable;
 import org.openstreetmap.josm.gui.SideButton;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
 import org.openstreetmap.josm.gui.progress.PleaseWaitProgressMonitor;
-import org.openstreetmap.josm.io.OsmApi;
-import org.openstreetmap.josm.io.OsmServerBackreferenceReader;
-import org.openstreetmap.josm.io.OsmTransferException;
 import org.openstreetmap.josm.tools.ImageProvider;
-import org.xml.sax.SAXException;
 
 /**
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/relation/SelectionTableModel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/relation/SelectionTableModel.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/relation/SelectionTableModel.java	(revision 2017)
@@ -2,4 +2,5 @@
 package org.openstreetmap.josm.gui.dialogs.relation;
 import static org.openstreetmap.josm.tools.I18n.tr;
+
 import java.util.ArrayList;
 import java.util.Collection;
Index: trunk/src/org/openstreetmap/josm/gui/download/BookmarkSelection.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/download/BookmarkSelection.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/download/BookmarkSelection.java	(revision 2017)
@@ -8,7 +8,7 @@
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
-import java.awt.event.MouseListener;
 import java.awt.event.MouseAdapter;
 import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
 
 import javax.swing.DefaultListModel;
@@ -23,5 +23,4 @@
 import org.openstreetmap.josm.data.Preferences;
 import org.openstreetmap.josm.gui.BookmarkList;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.tools.GBC;
 
@@ -79,5 +78,5 @@
 
                 if (tempBookmark == null) {
-                    OptionPaneUtil.showMessageDialog(
+                    JOptionPane.showMessageDialog(
                             Main.parent,
                             tr("Please enter the desired coordinates first."),
@@ -87,5 +86,5 @@
                     return;
                 }
-                tempBookmark.name = OptionPaneUtil.showInputDialog(
+                tempBookmark.name = JOptionPane.showInputDialog(
                         Main.parent,tr("Please enter a name for the location."),
                         tr("Name of location"),
@@ -104,5 +103,5 @@
                 Object sel = bookmarks.getSelectedValue();
                 if (sel == null) {
-                    OptionPaneUtil.showMessageDialog(
+                    JOptionPane.showMessageDialog(
                             Main.parent,
                             tr("Select a bookmark first."),
Index: trunk/src/org/openstreetmap/josm/gui/download/BoundingBoxSelection.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/download/BoundingBoxSelection.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/download/BoundingBoxSelection.java	(revision 2017)
@@ -17,6 +17,6 @@
 import javax.swing.JTextField;
 import javax.swing.SwingUtilities;
+import javax.swing.event.DocumentEvent;
 import javax.swing.event.DocumentListener;
-import javax.swing.event.DocumentEvent;
 
 import org.openstreetmap.josm.data.Bounds;
Index: trunk/src/org/openstreetmap/josm/gui/download/PlaceSelection.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/download/PlaceSelection.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/download/PlaceSelection.java	(revision 2017)
@@ -32,7 +32,4 @@
 
 import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
-import org.openstreetmap.josm.gui.download.DownloadDialog;
-import org.openstreetmap.josm.gui.download.DownloadSelection;
 import org.openstreetmap.josm.tools.GBC;
 import org.xml.sax.Attributes;
@@ -167,5 +164,5 @@
                     if(searchtext.length()==0)
                     {
-                        OptionPaneUtil.showMessageDialog(
+                        JOptionPane.showMessageDialog(
                                 Main.parent,
                                 tr("Please enter a search string"),
@@ -191,5 +188,5 @@
                 {
                     x.printStackTrace();
-                    OptionPaneUtil.showMessageDialog(
+                    JOptionPane.showMessageDialog(
                             Main.parent,
                             tr("Cannot read place search results from server"),
Index: trunk/src/org/openstreetmap/josm/gui/download/SlippyMapChooser.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/download/SlippyMapChooser.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/download/SlippyMapChooser.java	(revision 2017)
@@ -13,5 +13,4 @@
 import java.awt.Rectangle;
 import java.awt.Toolkit;
-import java.awt.geom.Point2D;
 import java.util.Vector;
 
Index: trunk/src/org/openstreetmap/josm/gui/history/HistoryBrowserDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/history/HistoryBrowserDialog.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/history/HistoryBrowserDialog.java	(revision 2017)
@@ -2,6 +2,6 @@
 package org.openstreetmap.josm.gui.history;
 
+import static org.openstreetmap.josm.tools.I18n.marktr;
 import static org.openstreetmap.josm.tools.I18n.tr;
-import static org.openstreetmap.josm.tools.I18n.marktr;
 
 import java.awt.BorderLayout;
Index: trunk/src/org/openstreetmap/josm/gui/history/RelationMemberListTableCellRenderer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/history/RelationMemberListTableCellRenderer.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/history/RelationMemberListTableCellRenderer.java	(revision 2017)
@@ -2,6 +2,7 @@
 package org.openstreetmap.josm.gui.history;
 
+import static org.openstreetmap.josm.tools.I18n.tr;
+
 import java.awt.Color;
-import static org.openstreetmap.josm.tools.I18n.tr;
 import java.awt.Component;
 import java.util.HashMap;
Index: trunk/src/org/openstreetmap/josm/gui/history/RelationMemberListViewer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/history/RelationMemberListViewer.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/history/RelationMemberListViewer.java	(revision 2017)
@@ -5,6 +5,4 @@
 import java.awt.GridBagLayout;
 import java.awt.Insets;
-import java.util.Observable;
-import java.util.Observer;
 
 import javax.swing.JPanel;
Index: trunk/src/org/openstreetmap/josm/gui/history/RelationMemberTableColumnModel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/history/RelationMemberTableColumnModel.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/history/RelationMemberTableColumnModel.java	(revision 2017)
@@ -2,7 +2,8 @@
 package org.openstreetmap.josm.gui.history;
 
+import static org.openstreetmap.josm.tools.I18n.tr;
+
 import javax.swing.table.DefaultTableColumnModel;
 import javax.swing.table.TableColumn;
-import static org.openstreetmap.josm.tools.I18n.tr;
 
 /**
Index: trunk/src/org/openstreetmap/josm/gui/history/TagInfoViewer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/history/TagInfoViewer.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/history/TagInfoViewer.java	(revision 2017)
@@ -5,6 +5,4 @@
 import java.awt.GridBagLayout;
 import java.awt.Insets;
-import java.util.Observable;
-import java.util.Observer;
 
 import javax.swing.JPanel;
Index: trunk/src/org/openstreetmap/josm/gui/history/TagTableCellRenderer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/history/TagTableCellRenderer.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/history/TagTableCellRenderer.java	(revision 2017)
@@ -1,4 +1,6 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.gui.history;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
 
 import java.awt.Color;
@@ -9,6 +11,4 @@
 import javax.swing.JTable;
 import javax.swing.table.TableCellRenderer;
-
-import static org.openstreetmap.josm.tools.I18n.tr;
 
 /**
Index: trunk/src/org/openstreetmap/josm/gui/history/TagTableColumnModel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/history/TagTableColumnModel.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/history/TagTableColumnModel.java	(revision 2017)
@@ -2,7 +2,8 @@
 package org.openstreetmap.josm.gui.history;
 
+import static org.openstreetmap.josm.tools.I18n.tr;
+
 import javax.swing.table.DefaultTableColumnModel;
 import javax.swing.table.TableColumn;
-import static org.openstreetmap.josm.tools.I18n.tr;
 
 /**
Index: trunk/src/org/openstreetmap/josm/gui/history/VersionTableColumnModel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/history/VersionTableColumnModel.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/history/VersionTableColumnModel.java	(revision 2017)
@@ -1,9 +1,10 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.gui.history;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
 
 import javax.swing.table.DefaultTableColumnModel;
 import javax.swing.table.TableCellRenderer;
 import javax.swing.table.TableColumn;
-import static org.openstreetmap.josm.tools.I18n.tr;
 /**
  * The {@see TableColumnModel} for the table with the list of versions
Index: trunk/src/org/openstreetmap/josm/gui/layer/GeoImageLayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/GeoImageLayer.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/layer/GeoImageLayer.java	(revision 2017)
@@ -70,5 +70,4 @@
 import org.openstreetmap.josm.gui.MapFrame;
 import org.openstreetmap.josm.gui.MapView;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.PleaseWaitRunnable;
 import org.openstreetmap.josm.gui.dialogs.LayerListDialog;
@@ -731,5 +730,5 @@
             exifDate = ExifReader.readTime(f);
         } catch (ParseException e) {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("The date in file \"{0}\" could not be parsed.", f.getName()),
@@ -740,5 +739,5 @@
         }
         if (exifDate == null) {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("There is no EXIF time within the file \"{0}\".", f.getName()),
@@ -763,5 +762,5 @@
 
         while (true) {
-            int answer = OptionPaneUtil.showConfirmationDialog(
+            int answer = JOptionPane.showConfirmDialog(
                     Main.parent,
                     p,
@@ -787,5 +786,5 @@
                 return;
             } catch (NumberFormatException x) {
-                OptionPaneUtil.showMessageDialog(
+                JOptionPane.showMessageDialog(
                         Main.parent,
                         tr("Time entered could not be parsed."),
@@ -794,5 +793,5 @@
                 );
             } catch (ParseException x) {
-                OptionPaneUtil.showMessageDialog(
+                JOptionPane.showMessageDialog(
                         Main.parent,
                         tr("Time entered could not be parsed."),
Index: trunk/src/org/openstreetmap/josm/gui/layer/GpxLayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/GpxLayer.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/layer/GpxLayer.java	(revision 2017)
@@ -59,5 +59,4 @@
 import org.openstreetmap.josm.gui.ConditionalOptionPaneUtil;
 import org.openstreetmap.josm.gui.MapView;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.dialogs.LayerListDialog;
 import org.openstreetmap.josm.gui.dialogs.LayerListPopup;
@@ -135,5 +134,5 @@
                     group.setSelected(r[0].getModel(), true);
                 }
-                int answer = OptionPaneUtil.showConfirmationDialog(Main.parent, panel,
+                int answer = JOptionPane.showConfirmDialog(Main.parent, panel,
                         tr("Select line drawing options"), JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE);
                 switch (answer) {
@@ -159,5 +158,5 @@
                 JColorChooser c = new JColorChooser(getColor(getName()));
                 Object[] options = new Object[] { tr("OK"), tr("Cancel"), tr("Default") };
-                int answer = OptionPaneUtil.showOptionDialog(
+                int answer = JOptionPane.showOptionDialog(
                         Main.parent,
                         c,
@@ -165,4 +164,5 @@
                         JOptionPane.OK_CANCEL_OPTION,
                         JOptionPane.PLAIN_MESSAGE,
+                        null,
                         options, options[0]
                 );
@@ -782,5 +782,5 @@
             msg.add(maxRect, GBC.eol());
 
-            int ret = OptionPaneUtil.showConfirmationDialog(
+            int ret = JOptionPane.showConfirmDialog(
                     Main.parent,
                     msg,
@@ -880,5 +880,5 @@
 
             if (toDownload.size() > 1) {
-                ret = OptionPaneUtil.showConfirmationDialog(
+                ret = JOptionPane.showConfirmDialog(
                         Main.parent,
                         msg,
@@ -970,5 +970,5 @@
         }
         if (firstTime < 0.0) {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("No GPX track available in layer to associate audio with."),
Index: trunk/src/org/openstreetmap/josm/gui/layer/Layer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/Layer.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/layer/Layer.java	(revision 2017)
@@ -66,9 +66,6 @@
      * The visibility state of the layer.
      * 
-     * @deprecated use {@see #setVisible(boolean)} and {@see #isVisible()} instead. This field
-     * is going to be private (or protected) in a future release.
-     */
-    @Deprecated
-    public boolean visible = true;
+     */
+    private boolean visible = true;
 
     /**
@@ -80,9 +77,7 @@
      * The name of this layer.
      * 
-     * @deprecated use {@see #getName()} and {@see #setName(String)} instead. This field
-     * is going to be private  (or protected) in the future.
-     */
-    @Deprecated
-    public String name;
+     */
+    private  String name;
+
     /**
      * If a file is associated with this layer, this variable should be set to it.
Index: trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java	(revision 2017)
@@ -58,5 +58,4 @@
 import org.openstreetmap.josm.data.osm.visitor.SimplePaintVisitor;
 import org.openstreetmap.josm.gui.MapView;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.dialogs.LayerListDialog;
 import org.openstreetmap.josm.gui.dialogs.LayerListPopup;
@@ -296,5 +295,5 @@
         }
         if (numNewConflicts > 0) {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("There were {0} conflicts during import.", numNewConflicts),
Index: trunk/src/org/openstreetmap/josm/gui/layer/RawGpsLayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/RawGpsLayer.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/layer/RawGpsLayer.java	(revision 2017)
@@ -41,5 +41,4 @@
 import org.openstreetmap.josm.gui.ConditionalOptionPaneUtil;
 import org.openstreetmap.josm.gui.MapView;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.dialogs.LayerListDialog;
 import org.openstreetmap.josm.gui.dialogs.LayerListPopup;
@@ -214,5 +213,5 @@
                     group.setSelected(r[0].getModel(), true);
                 }
-                int answer = OptionPaneUtil.showConfirmationDialog(
+                int answer = JOptionPane.showConfirmDialog(
                         Main.parent,
                         panel,
@@ -237,10 +236,10 @@
                 JColorChooser c = new JColorChooser(Main.pref.getColor(marktr("gps point"), "layer "+getName(), Color.gray));
                 Object[] options = new Object[]{tr("OK"), tr("Cancel"), tr("Default")};
-                int answer = OptionPaneUtil.showOptionDialog(
+                int answer = JOptionPane.showOptionDialog(
                         Main.parent,
                         c,
                         tr("Choose a color"),
                         JOptionPane.OK_CANCEL_OPTION,
-                        JOptionPane.PLAIN_MESSAGE, options, options[0]);
+                        JOptionPane.PLAIN_MESSAGE, null,options, options[0]);
                 switch (answer) {
                     case 0:
Index: trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/Marker.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/Marker.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/Marker.java	(revision 2017)
@@ -14,5 +14,4 @@
 import javax.swing.Icon;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.coor.CachedLatLon;
 import org.openstreetmap.josm.data.coor.EastNorth;
Index: trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/MarkerLayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/MarkerLayer.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/MarkerLayer.java	(revision 2017)
@@ -35,5 +35,4 @@
 import org.openstreetmap.josm.data.osm.visitor.BoundingXYVisitor;
 import org.openstreetmap.josm.gui.MapView;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.dialogs.LayerListDialog;
 import org.openstreetmap.josm.gui.dialogs.LayerListPopup;
@@ -200,5 +199,5 @@
                 JColorChooser c = new JColorChooser(getColor(getName()));
                 Object[] options = new Object[]{tr("OK"), tr("Cancel"), tr("Default")};
-                int answer = OptionPaneUtil.showOptionDialog(
+                int answer = JOptionPane.showOptionDialog(
                         Main.parent,
                         c,
@@ -206,4 +205,5 @@
                         JOptionPane.OK_CANCEL_OPTION,
                         JOptionPane.PLAIN_MESSAGE,
+                        null,
                         options,
                         options[0]
@@ -228,5 +228,5 @@
             public void actionPerformed(ActionEvent e) {
                 if (! AudioPlayer.paused()) {
-                    OptionPaneUtil.showMessageDialog(
+                    JOptionPane.showMessageDialog(
                             Main.parent,
                             tr("You need to pause audio at the moment when you hear your synchronization cue."),
@@ -238,5 +238,5 @@
                 AudioMarker recent = AudioMarker.recentlyPlayedMarker();
                 if (synchronizeAudioMarkers(recent)) {
-                    OptionPaneUtil.showMessageDialog(
+                    JOptionPane.showMessageDialog(
                             Main.parent,
                             tr("Audio synchronized at point {0}.", recent.text),
@@ -245,5 +245,5 @@
                     );
                 } else {
-                    OptionPaneUtil.showMessageDialog(
+                    JOptionPane.showMessageDialog(
                             Main.parent,
                             tr("Unable to synchronize in layer being played."),
@@ -260,5 +260,5 @@
             public void actionPerformed(ActionEvent e) {
                 if (! AudioPlayer.paused()) {
-                    OptionPaneUtil.showMessageDialog(
+                    JOptionPane.showMessageDialog(
                             Main.parent,
                             tr("You need to have paused audio at the point on the track where you want the marker."),
@@ -339,5 +339,5 @@
         }
         if (am == null) {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("No existing audio markers in this layer to offset from."),
Index: trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/PlayHeadMarker.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/PlayHeadMarker.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/PlayHeadMarker.java	(revision 2017)
@@ -26,5 +26,4 @@
 import org.openstreetmap.josm.data.gpx.WayPoint;
 import org.openstreetmap.josm.gui.MapView;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.layer.GpxLayer;
 import org.openstreetmap.josm.tools.AudioPlayer;
@@ -168,5 +167,5 @@
         if (ca == null) {
             /* Not close enough to track, or no audio marker found for some other reason */
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("You need to drag the play head near to the GPX track whose associated sound track you were playing (after the first marker)."),
@@ -223,5 +222,5 @@
             WayPoint cw = recent.parentLayer.fromLayer.nearestPointOnTrack(en, enPlus25px.east() - en.east());
             if (cw == null) {
-                OptionPaneUtil.showMessageDialog(
+                JOptionPane.showMessageDialog(
                         Main.parent,
                         tr("You need to SHIFT-drag the play head onto an audio marker or onto the track point where you want to synchronize."),
@@ -238,5 +237,5 @@
         if(ca == null)
         {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("Unable to create new audio marker."),
@@ -247,5 +246,5 @@
         }
         else if (recent.parentLayer.synchronizeAudioMarkers(ca)) {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("Audio synchronized at point {0}.", ca.text),
@@ -256,5 +255,5 @@
             endDrag(false);
         } else {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("Unable to synchronize in layer being played."),
Index: trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/WebMarker.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/WebMarker.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/WebMarker.java	(revision 2017)
@@ -11,5 +11,4 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.coor.LatLon;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.tools.OpenBrowser;
 
@@ -40,5 +39,5 @@
         String error = OpenBrowser.displayUrl(webUrl.toString());
         if (error != null) {
-            OptionPaneUtil.showMessageDialog(Main.parent,
+            JOptionPane.showMessageDialog(Main.parent,
                     "<html><b>" +
                     tr("There was an error while trying to display the URL for this marker") +
Index: trunk/src/org/openstreetmap/josm/gui/mappaint/ElemStyleHandler.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/mappaint/ElemStyleHandler.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/mappaint/ElemStyleHandler.java	(revision 2017)
@@ -7,9 +7,8 @@
 import javax.swing.ImageIcon;
 
+import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.tools.ColorHelper;
 import org.xml.sax.Attributes;
 import org.xml.sax.helpers.DefaultHandler;
-
-import org.openstreetmap.josm.Main;
 
 public class ElemStyleHandler extends DefaultHandler
Index: trunk/src/org/openstreetmap/josm/gui/mappaint/MapPaintStyles.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/mappaint/MapPaintStyles.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/mappaint/MapPaintStyles.java	(revision 2017)
@@ -9,5 +9,4 @@
 
 import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.gui.mappaint.ElemStyles;
 import org.openstreetmap.josm.io.MirroredInputStream;
 import org.openstreetmap.josm.tools.ImageProvider;
Index: trunk/src/org/openstreetmap/josm/gui/preferences/AdvancedPreference.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/AdvancedPreference.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/AdvancedPreference.java	(revision 2017)
@@ -30,5 +30,4 @@
 
 import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.tools.GBC;
 
@@ -219,5 +218,5 @@
     private void editPreference(final PreferenceDialog gui, final JTable list) {
         if (list.getSelectedRowCount() != 1) {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     gui,
                     tr("Please select the row to edit."),
@@ -227,5 +226,5 @@
             return;
         }
-        String v = (String) OptionPaneUtil.showInputDialog(
+        String v = (String) JOptionPane.showInputDialog(
                 Main.parent,
                 tr("New value for {0}", model.getValueAt(list.getSelectedRow(), 0)),
@@ -244,5 +243,5 @@
     private void removePreference(final PreferenceDialog gui, final JTable list) {
         if (list.getSelectedRowCount() == 0) {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     gui,
                     tr("Please select the row to delete."),
@@ -266,5 +265,5 @@
         p.add(new JLabel(tr("Value")), GBC.std().insets(0,0,5,0));
         p.add(value, GBC.eol().insets(5,0,0,0).fill(GBC.HORIZONTAL));
-        int answer = OptionPaneUtil.showConfirmationDialog(
+        int answer = JOptionPane.showConfirmDialog(
                 gui, p,
                 tr("Enter a new key/value pair"),
Index: trunk/src/org/openstreetmap/josm/gui/preferences/ColorPreference.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/ColorPreference.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/ColorPreference.java	(revision 2017)
@@ -36,5 +36,4 @@
 import org.openstreetmap.josm.data.osm.visitor.MapPaintVisitor;
 import org.openstreetmap.josm.gui.MapScaler;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.dialogs.ConflictDialog;
 import org.openstreetmap.josm.gui.layer.markerlayer.MarkerLayer;
@@ -157,5 +156,5 @@
                 int sel = colors.getSelectedRow();
                 JColorChooser chooser = new JColorChooser((Color)colors.getValueAt(sel, 1));
-                int answer = OptionPaneUtil.showConfirmationDialog(
+                int answer = JOptionPane.showConfirmDialog(
                         gui, chooser,
                         tr("Choose a color for {0}", getName((String)colors.getValueAt(sel, 0))),
Index: trunk/src/org/openstreetmap/josm/gui/preferences/MapPaintPreference.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/MapPaintPreference.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/MapPaintPreference.java	(revision 2017)
@@ -15,6 +15,6 @@
 import javax.swing.JScrollPane;
 
+import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.gui.mappaint.MapPaintStyles;
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.tools.GBC;
 
Index: trunk/src/org/openstreetmap/josm/gui/preferences/PluginPreference.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/PluginPreference.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/PluginPreference.java	(revision 2017)
@@ -23,5 +23,4 @@
 
 import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.plugins.PluginDownloader;
 import org.openstreetmap.josm.plugins.PluginSelection;
@@ -88,5 +87,5 @@
         buttons.add(new JButton(new AbstractAction(tr("Add")){
             public void actionPerformed(ActionEvent e) {
-                String s = OptionPaneUtil.showInputDialog(
+                String s = JOptionPane.showInputDialog(
                         gui,
                         tr("Add JOSM Plugin description URL."),
@@ -102,5 +101,5 @@
             public void actionPerformed(ActionEvent e) {
                 if (list.getSelectedValue() == null) {
-                    OptionPaneUtil.showMessageDialog(
+                    JOptionPane.showMessageDialog(
                             gui,
                             tr("Please select an entry."),
@@ -110,5 +109,5 @@
                     return;
                 }
-                String s = (String)OptionPaneUtil.showInputDialog(
+                String s = (String)JOptionPane.showInputDialog(
                         Main.parent,
                         tr("Edit JOSM Plugin description URL."),
@@ -125,5 +124,5 @@
             public void actionPerformed(ActionEvent event) {
                 if (list.getSelectedValue() == null) {
-                    OptionPaneUtil.showMessageDialog(
+                    JOptionPane.showMessageDialog(
                             gui,
                             tr("Please select an entry."),
@@ -137,5 +136,5 @@
         }), GBC.eol().fill(GBC.HORIZONTAL));
         p.add(buttons, GBC.eol());
-        int answer = OptionPaneUtil.showConfirmationDialog(
+        int answer = JOptionPane.showConfirmDialog(
                 gui,
                 p,
Index: trunk/src/org/openstreetmap/josm/gui/preferences/PreferenceDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/PreferenceDialog.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/PreferenceDialog.java	(revision 2017)
@@ -22,5 +22,4 @@
 
 import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.plugins.PluginHandler;
 import org.openstreetmap.josm.tools.BugReportExceptionHandler;
@@ -101,5 +100,5 @@
         }
         if (requiresRestart) {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("You have to restart JOSM for some settings to take effect."),
Index: trunk/src/org/openstreetmap/josm/gui/preferences/ProjectionPreference.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/ProjectionPreference.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/ProjectionPreference.java	(revision 2017)
@@ -4,5 +4,4 @@
 import static org.openstreetmap.josm.tools.I18n.tr;
 
-import java.awt.Color;
 import java.awt.GridBagLayout;
 
@@ -11,10 +10,9 @@
 import javax.swing.JComboBox;
 import javax.swing.JLabel;
+import javax.swing.JPanel;
 import javax.swing.JScrollPane;
-import javax.swing.JPanel;
 
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.coor.CoordinateFormat;
-import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.projection.Mercator;
 import org.openstreetmap.josm.data.projection.Projection;
Index: trunk/src/org/openstreetmap/josm/gui/preferences/ServerAccessPreference.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/ServerAccessPreference.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/ServerAccessPreference.java	(revision 2017)
@@ -2,8 +2,6 @@
 package org.openstreetmap.josm.gui.preferences;
 
-import static org.openstreetmap.josm.tools.I18n.tr;
-
+import org.openstreetmap.josm.io.CredentialsManager;
 import org.openstreetmap.josm.io.OsmConnection;
-import org.openstreetmap.josm.io.CredentialsManager;
 
 public class ServerAccessPreference implements PreferenceSetting {
Index: trunk/src/org/openstreetmap/josm/gui/preferences/StyleSources.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/StyleSources.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/StyleSources.java	(revision 2017)
@@ -4,10 +4,8 @@
 import static org.openstreetmap.josm.tools.I18n.tr;
 
-import java.awt.Color;
 import java.awt.Component;
 import java.awt.GridBagLayout;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
-
 import java.io.BufferedReader;
 import java.io.InputStreamReader;
@@ -25,10 +23,9 @@
 import javax.swing.JList;
 import javax.swing.JOptionPane;
+import javax.swing.JPanel;
 import javax.swing.JScrollPane;
-import javax.swing.JPanel;
 import javax.swing.ListCellRenderer;
 
 import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.io.MirroredInputStream;
 import org.openstreetmap.josm.tools.GBC;
@@ -140,5 +137,5 @@
             iconadd.addActionListener(new ActionListener(){
                 public void actionPerformed(ActionEvent e) {
-                    String source = OptionPaneUtil.showInputDialog(
+                    String source = JOptionPane.showInputDialog(
                             Main.parent,
                             tr("Icon paths"),
@@ -156,5 +153,5 @@
                 public void actionPerformed(ActionEvent e) {
                     if (sourcesList.getSelectedIndex() == -1) {
-                        OptionPaneUtil.showMessageDialog(
+                        JOptionPane.showMessageDialog(
                                 Main.parent,
                                 tr("Please select the row to edit."),
@@ -163,5 +160,5 @@
                         );
                     } else {
-                        String source = (String)OptionPaneUtil.showInputDialog(
+                        String source = (String)JOptionPane.showInputDialog(
                                 Main.parent,
                                 tr("Icon paths"),
@@ -183,5 +180,5 @@
                 public void actionPerformed(ActionEvent e) {
                     if (iconsList.getSelectedIndex() == -1) {
-                        OptionPaneUtil.showMessageDialog(
+                        JOptionPane.showMessageDialog(
                                 Main.parent, tr("Please select the row to delete."),
                                 tr("Warning"),
@@ -197,5 +194,5 @@
         add.addActionListener(new ActionListener(){
             public void actionPerformed(ActionEvent e) {
-                String source = OptionPaneUtil.showInputDialog(
+                String source = JOptionPane.showInputDialog(
                         Main.parent,
                         name,
@@ -212,9 +209,9 @@
             public void actionPerformed(ActionEvent e) {
                 if (sourcesList.getSelectedIndex() == -1) {
-                    OptionPaneUtil.showMessageDialog(
+                    JOptionPane.showMessageDialog(
                             Main.parent, tr("Please select the row to edit."),
                             tr("Warning"), JOptionPane.WARNING_MESSAGE);
                 } else {
-                    String source = (String)OptionPaneUtil.showInputDialog(
+                    String source = (String)JOptionPane.showInputDialog(
                             Main.parent,
                             name,
@@ -236,5 +233,5 @@
             public void actionPerformed(ActionEvent e) {
                 if (sourcesList.getSelectedIndex() == -1) {
-                    OptionPaneUtil.showMessageDialog(Main.parent, tr("Please select the row to delete."),
+                    JOptionPane.showMessageDialog(Main.parent, tr("Please select the row to delete."),
                             tr("Warning"), JOptionPane.WARNING_MESSAGE);
                 } else {
@@ -248,5 +245,5 @@
             public void actionPerformed(ActionEvent e) {
                 if (sourcesDefaults.getSelectedIndex() == -1) {
-                    OptionPaneUtil.showMessageDialog(
+                    JOptionPane.showMessageDialog(
                             Main.parent, tr("Please select the row to copy."),
                             tr("Warning"), JOptionPane.WARNING_MESSAGE);
Index: trunk/src/org/openstreetmap/josm/gui/preferences/TaggingPresetPreference.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/TaggingPresetPreference.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/TaggingPresetPreference.java	(revision 2017)
@@ -13,6 +13,6 @@
 import javax.swing.JMenuItem;
 import javax.swing.JPanel;
+import javax.swing.JScrollPane;
 import javax.swing.JSeparator;
-import javax.swing.JScrollPane;
 
 import org.openstreetmap.josm.Main;
Index: trunk/src/org/openstreetmap/josm/gui/progress/PleaseWaitProgressMonitor.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/progress/PleaseWaitProgressMonitor.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/progress/PleaseWaitProgressMonitor.java	(revision 2017)
@@ -1,4 +1,6 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.gui.progress;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
 
 import java.awt.Dialog;
@@ -16,7 +18,5 @@
 
 import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.PleaseWaitDialog;
-import static org.openstreetmap.josm.tools.I18n.tr;
 
 
@@ -106,5 +106,5 @@
                     dialog.cancel.removeActionListener(cancelListener);
                     if (getErrorMessage() != null) {
-                        OptionPaneUtil.showMessageDialog(
+                        JOptionPane.showMessageDialog(
                                 Main.parent, getErrorMessage(),
                                 tr("Error"),
Index: trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPreset.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPreset.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPreset.java	(revision 2017)
@@ -44,5 +44,4 @@
 import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.gui.ExtendedDialog;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.QuadStateCheckBox;
 import org.openstreetmap.josm.io.MirroredInputStream;
@@ -599,5 +598,5 @@
             } catch (IOException e) {
                 e.printStackTrace();
-                OptionPaneUtil.showMessageDialog(
+                JOptionPane.showMessageDialog(
                         Main.parent,
                         tr("Could not read tagging preset source: {0}",source),
@@ -607,5 +606,5 @@
             } catch (SAXException e) {
                 e.printStackTrace();
-                OptionPaneUtil.showMessageDialog(
+                JOptionPane.showMessageDialog(
                         Main.parent,
                         tr("Error parsing {0}: ", source)+e.getMessage(),
Index: trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPresetMenu.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPresetMenu.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPresetMenu.java	(revision 2017)
@@ -4,6 +4,6 @@
 import static org.openstreetmap.josm.tools.I18n.tr;
 
+import java.awt.Component;
 import java.awt.event.ActionEvent;
-import java.awt.Component;
 import java.util.ArrayList;
 import java.util.Collections;
@@ -15,5 +15,4 @@
 import javax.swing.JSeparator;
 
-import org.openstreetmap.josm.gui.tagging.TaggingPreset;
 import org.openstreetmap.josm.tools.PresetTextComparator;
 
Index: trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPresetSeparator.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPresetSeparator.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPresetSeparator.java	(revision 2017)
@@ -2,5 +2,4 @@
 package org.openstreetmap.josm.gui.tagging;
 
-import org.openstreetmap.josm.gui.tagging.TaggingPreset;
 
 public class TaggingPresetSeparator extends TaggingPreset {
Index: trunk/src/org/openstreetmap/josm/io/GpxExporter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/GpxExporter.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/io/GpxExporter.java	(revision 2017)
@@ -30,5 +30,4 @@
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.gui.ExtendedDialog;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.layer.GpxLayer;
 import org.openstreetmap.josm.gui.layer.Layer;
@@ -169,5 +168,5 @@
         } catch (IOException x) {
             x.printStackTrace();
-            OptionPaneUtil.showMessageDialog(Main.parent, tr("Error while exporting {0}:\n{1}", fn, x.getMessage()),
+            JOptionPane.showMessageDialog(Main.parent, tr("Error while exporting {0}:\n{1}", fn, x.getMessage()),
                     tr("Error"), JOptionPane.ERROR_MESSAGE);
         }
@@ -249,5 +248,5 @@
                 l.setVisibleRowCount(4);
                 l.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
-                int answer = OptionPaneUtil.showConfirmationDialog(
+                int answer = JOptionPane.showConfirmDialog(
                         Main.parent,
                         new JScrollPane(l),
Index: trunk/src/org/openstreetmap/josm/io/MirroredInputStream.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/MirroredInputStream.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/io/MirroredInputStream.java	(revision 2017)
@@ -7,6 +7,6 @@
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
+import java.io.IOException;
 import java.io.InputStream;
-import java.io.IOException;
 import java.net.URL;
 import java.net.URLConnection;
Index: trunk/src/org/openstreetmap/josm/io/NMEAImporter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/NMEAImporter.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/io/NMEAImporter.java	(revision 2017)
@@ -12,5 +12,4 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.ExtensionFileFilter;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.layer.GpxLayer;
 import org.openstreetmap.josm.gui.layer.markerlayer.MarkerLayer;
@@ -49,5 +48,5 @@
         msg += tr("Zero coordinates: ") + r.getParserZeroCoordinates();
         if (success) {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     msg,
@@ -55,5 +54,5 @@
                     JOptionPane.INFORMATION_MESSAGE);
         } else {
-            OptionPaneUtil.showMessageDialog(Main.parent, msg, tr("NMEA import faliure!"), JOptionPane.ERROR_MESSAGE);
+            JOptionPane.showMessageDialog(Main.parent, msg, tr("NMEA import faliure!"), JOptionPane.ERROR_MESSAGE);
         }
     }
Index: trunk/src/org/openstreetmap/josm/io/OsmExporter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/OsmExporter.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/io/OsmExporter.java	(revision 2017)
@@ -18,5 +18,4 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.ExtensionFileFilter;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.layer.Layer;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
@@ -80,5 +79,5 @@
         } catch (IOException e) {
             e.printStackTrace();
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("<html>An error occurred while saving.<br>Error is: <br>{0}</html>", e.getMessage()),
@@ -95,5 +94,5 @@
             } catch (IOException e2) {
                 e2.printStackTrace();
-                OptionPaneUtil.showMessageDialog(
+                JOptionPane.showMessageDialog(
                         Main.parent,
                         tr("<html>An error occurred while restoring backup file.<br>Error is: <br>{0}</html>", e2.getMessage()),
@@ -112,5 +111,5 @@
             dstStream = new FileOutputStream(dst);
         } catch (FileNotFoundException e) {
-            OptionPaneUtil.showMessageDialog(Main.parent, tr("Could not back up file. Exception is: {0}", e
+            JOptionPane.showMessageDialog(Main.parent, tr("Could not back up file. Exception is: {0}", e
                     .getMessage()), tr("Error"), JOptionPane.ERROR_MESSAGE);
             return;
Index: trunk/src/org/openstreetmap/josm/plugins/PluginDownloader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/plugins/PluginDownloader.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/plugins/PluginDownloader.java	(revision 2017)
@@ -28,5 +28,4 @@
 import org.openstreetmap.josm.actions.AboutAction;
 import org.openstreetmap.josm.gui.ExtendedDialog;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.PleaseWaitRunnable;
 import org.xml.sax.SAXException;
@@ -51,5 +50,5 @@
         @Override protected void finish() {
             if (errors.length() > 0) {
-                OptionPaneUtil.showMessageDialog(
+                JOptionPane.showMessageDialog(
                         Main.parent,
                         tr("There were problems with the following plugins:\n\n {0}",errors),
@@ -58,5 +57,5 @@
                 );
             } else {
-                OptionPaneUtil.showMessageDialog(
+                JOptionPane.showMessageDialog(
                         Main.parent,
                         trn("{0} Plugin successfully downloaded. Please restart JOSM.", "{0} Plugins successfully downloaded. Please restart JOSM.", count, count),
Index: trunk/src/org/openstreetmap/josm/plugins/PluginHandler.java
===================================================================
--- trunk/src/org/openstreetmap/josm/plugins/PluginHandler.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/plugins/PluginHandler.java	(revision 2017)
@@ -34,5 +34,4 @@
 import org.openstreetmap.josm.gui.ExtendedDialog;
 import org.openstreetmap.josm.gui.MapFrame;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.download.DownloadSelection;
 import org.openstreetmap.josm.gui.preferences.PreferenceSettingFactory;
@@ -67,5 +66,5 @@
                 plugins.remove(p);
                 Main.pref.removeFromCollection("plugins", p);
-                OptionPaneUtil.showMessageDialog(
+                JOptionPane.showMessageDialog(
                         Main.parent,
                         tr("Loading of {0} plugin was requested. This plugin is no longer required.", p),
@@ -87,5 +86,5 @@
                 }
                 if (info.mainversion > AboutAction.getVersionNumber()) {
-                    OptionPaneUtil.showMessageDialog(
+                    JOptionPane.showMessageDialog(
                             Main.parent,
                             tr("Plugin {0} requires JOSM update to version {1}.", pluginName,
@@ -106,5 +105,5 @@
                     if(warn != null)
                     {
-                        OptionPaneUtil.showMessageDialog(Main.parent,
+                        JOptionPane.showMessageDialog(Main.parent,
                                 tr("Plugin {0} is required by plugin {1} but was not found.",
                                         warn, pluginName),
@@ -120,5 +119,5 @@
                 p.get(info.stage).add(info);
             } else if(early) {
-                OptionPaneUtil.showMessageDialog(
+                JOptionPane.showMessageDialog(
                         Main.parent,
                         tr("Plugin not found: {0}.", pluginName),
@@ -137,5 +136,5 @@
                 Main.pref.put("pluginmanager.lastupdate",Long.toString(tim));
             } else if (d > maxTime) {
-                OptionPaneUtil.showMessageDialog(Main.parent,
+                JOptionPane.showMessageDialog(Main.parent,
                         "<html>" +
                         tr("Last plugin update more than {0} days ago.", d) +
@@ -217,5 +216,5 @@
     {
         if (!PluginDownloader.moveUpdatedPlugins()) {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("Activating the updated plugins failed. Check if JOSM has the permission to overwrite the existing ones."),
@@ -297,10 +296,10 @@
                     while (plugins.remove(plugin.info.name)) {}
                     Main.pref.putCollection("plugins", plugins);
-                    OptionPaneUtil.showMessageDialog(Main.parent,
+                    JOptionPane.showMessageDialog(Main.parent,
                             tr("The plugin has been removed from the configuration. Please restart JOSM to unload the plugin."),
                             tr("Information"),
                             JOptionPane.INFORMATION_MESSAGE);
                 } else {
-                    OptionPaneUtil.showMessageDialog(
+                    JOptionPane.showMessageDialog(
                             Main.parent,
                             tr("The plugin could not be removed. Probably it was already disabled"),
@@ -345,5 +344,5 @@
                     a.setEditable(false);
                     a.setText(b.toString());
-                    OptionPaneUtil.showMessageDialog(
+                    JOptionPane.showMessageDialog(
                             Main.parent,
                             new JScrollPane(a),
Index: trunk/src/org/openstreetmap/josm/plugins/PluginSelection.java
===================================================================
--- trunk/src/org/openstreetmap/josm/plugins/PluginSelection.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/plugins/PluginSelection.java	(revision 2017)
@@ -38,5 +38,4 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.gui.ExtendedDialog;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.tools.OpenBrowser;
 
@@ -50,5 +49,5 @@
         int count = PluginDownloader.downloadDescription();
         if (count > 0) {
-            OptionPaneUtil.showMessageDialog(Main.parent,
+            JOptionPane.showMessageDialog(Main.parent,
                     trn("Downloaded plugin information from {0} site",
                             "Downloaded plugin information from {0} sites", count, count),
@@ -57,5 +56,5 @@
             );
         } else {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("No plugin information found."),
@@ -90,5 +89,5 @@
         }
         if (toUpdate.isEmpty()) {
-            OptionPaneUtil.showMessageDialog(
+            JOptionPane.showMessageDialog(
                     Main.parent,
                     tr("All installed plugins are up to date."),
@@ -350,5 +349,5 @@
                         if(err > 0)
                         {
-                            OptionPaneUtil.showMessageDialog(
+                            JOptionPane.showMessageDialog(
                                     Main.parent,
                                     tr("Error reading plugin information file: {0}", f.getName()),
Index: trunk/src/org/openstreetmap/josm/tools/AudioPlayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/AudioPlayer.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/tools/AudioPlayer.java	(revision 2017)
@@ -15,5 +15,4 @@
 
 import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 
 /**
@@ -340,5 +339,5 @@
 
     public static void audioMalfunction(Exception ex) {
-        OptionPaneUtil.showMessageDialog(Main.parent,
+        JOptionPane.showMessageDialog(Main.parent,
                 "<html><p>" + tr(ex.getMessage()) + "</p></html>",
                 tr("Error playing sound"), JOptionPane.ERROR_MESSAGE);
Index: trunk/src/org/openstreetmap/josm/tools/AudioUtil.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/AudioUtil.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/tools/AudioUtil.java	(revision 2017)
@@ -2,7 +2,6 @@
 package org.openstreetmap.josm.tools;
 
-import java.io.IOException;
+import java.io.File;
 import java.net.URL;
-import java.io.File;
 
 import javax.sound.sampled.AudioFormat;
Index: trunk/src/org/openstreetmap/josm/tools/BugReportExceptionHandler.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/BugReportExceptionHandler.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/tools/BugReportExceptionHandler.java	(revision 2017)
@@ -21,5 +21,4 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.ShowStatusReportAction;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.plugins.PluginHandler;
 
@@ -39,5 +38,5 @@
             if (e instanceof OutOfMemoryError) {
                 // do not translate the string, as translation may raise an exception
-                OptionPaneUtil.showMessageDialog(Main.parent, "JOSM is out of memory. " +
+                JOptionPane.showMessageDialog(Main.parent, "JOSM is out of memory. " +
                         "Strange things may happen.\nPlease restart JOSM with the -Xmx###M option,\n" +
                         "where ### is the the number of MB assigned to JOSM (e.g. 256).\n" +
@@ -53,8 +52,8 @@
 
             Object[] options = new String[]{tr("Do nothing"), tr("Report Bug")};
-            int answer = OptionPaneUtil.showOptionDialog(Main.parent, tr("An unexpected exception occurred.\n\n" +
+            int answer = JOptionPane.showOptionDialog(Main.parent, tr("An unexpected exception occurred.\n\n" +
                     "This is always a coding error. If you are running the latest\n" +
             "version of JOSM, please consider being kind and file a bug report."),
-            tr("Unexpected Exception"), JOptionPane.YES_NO_OPTION, JOptionPane.ERROR_MESSAGE,
+            tr("Unexpected Exception"), JOptionPane.YES_NO_OPTION, JOptionPane.ERROR_MESSAGE,null,
             options, options[0]);
             if (answer == 1) {
@@ -84,5 +83,5 @@
                     p.add(new JScrollPane(info), GBC.eop());
 
-                    OptionPaneUtil.showMessageDialog(Main.parent, p, tr("Warning"), JOptionPane.WARNING_MESSAGE);
+                    JOptionPane.showMessageDialog(Main.parent, p, tr("Warning"), JOptionPane.WARNING_MESSAGE);
                 } catch (Exception e1) {
                     e1.printStackTrace();
Index: trunk/src/org/openstreetmap/josm/tools/I18n.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/I18n.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/tools/I18n.java	(revision 2017)
@@ -5,8 +5,9 @@
 import java.util.Arrays;
 import java.util.Comparator;
+import java.util.LinkedList;
 import java.util.Locale;
-import java.util.LinkedList;
 import java.util.MissingResourceException;
 import java.util.Vector;
+
 import org.openstreetmap.josm.gui.MainApplication;
 import org.xnap.commons.i18n.I18nFactory;
Index: trunk/src/org/openstreetmap/josm/tools/ImageProvider.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/ImageProvider.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/tools/ImageProvider.java	(revision 2017)
@@ -1,4 +1,6 @@
 // License: GPL. Copyright 2007 by Immanuel Scholz and others
 package org.openstreetmap.josm.tools;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
 
 import java.awt.Component;
@@ -31,5 +33,4 @@
 import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
 import org.openstreetmap.josm.io.MirroredInputStream;
-import static org.openstreetmap.josm.tools.I18n.tr;
 
 /**
Index: trunk/src/org/openstreetmap/josm/tools/PlatformHook.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/PlatformHook.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/tools/PlatformHook.java	(revision 2017)
@@ -1,6 +1,4 @@
 // License: GPL. Copyright 2007 by Immanuel Scholz and others
 package org.openstreetmap.josm.tools;
-
-import org.openstreetmap.josm.tools.Shortcut;
 
 import java.io.IOException;
Index: trunk/src/org/openstreetmap/josm/tools/PlatformHookOsx.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/PlatformHookOsx.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/tools/PlatformHookOsx.java	(revision 2017)
@@ -11,5 +11,4 @@
 
 import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.actions.mapmode.SelectAction;
 
 /**
Index: trunk/src/org/openstreetmap/josm/tools/PlatformHookUnixoid.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/PlatformHookUnixoid.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/tools/PlatformHookUnixoid.java	(revision 2017)
@@ -2,9 +2,8 @@
 package org.openstreetmap.josm.tools;
 
-import org.openstreetmap.josm.tools.Shortcut;
-import org.openstreetmap.josm.Main;
-
 import java.awt.event.KeyEvent;
 import java.io.IOException;
+
+import org.openstreetmap.josm.Main;
 
 /**
Index: trunk/src/org/openstreetmap/josm/tools/PlatformHookWindows.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/PlatformHookWindows.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/tools/PlatformHookWindows.java	(revision 2017)
@@ -2,10 +2,8 @@
 package org.openstreetmap.josm.tools;
 
-import org.openstreetmap.josm.tools.Shortcut;
-import org.openstreetmap.josm.tools.PlatformHookUnixoid;
-import org.openstreetmap.josm.Main;
-
 import java.awt.event.KeyEvent;
 import java.io.IOException;
+
+import org.openstreetmap.josm.Main;
 
 /**
Index: trunk/src/org/openstreetmap/josm/tools/Shortcut.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/Shortcut.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/tools/Shortcut.java	(revision 2017)
@@ -3,16 +3,17 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
-import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.gui.OptionPaneUtil;
 
 import java.awt.event.KeyEvent;
+import java.util.Collection;
 import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.Map;
-import java.util.Collection;
+
 import javax.swing.AbstractButton;
-import javax.swing.KeyStroke;
 import javax.swing.JMenu;
 import javax.swing.JOptionPane;
+import javax.swing.KeyStroke;
+
+import org.openstreetmap.josm.Main;
 
 /**
@@ -444,5 +445,5 @@
     // a lengthy warning message
     private static void displayWarning(Shortcut conflictsWith, Shortcut potentialShortcut, String shortText, String longText) {
-        OptionPaneUtil.showMessageDialog(Main.parent,
+        JOptionPane.showMessageDialog(Main.parent,
                 tr("Setting the keyboard shortcut ''{0}'' for the action ''{1}'' ({2}) failed\n"+
                         "because the shortcut is already taken by the action ''{3}'' ({4}).\n\n",
Index: trunk/src/org/openstreetmap/josm/tools/WikiReader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/WikiReader.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/tools/WikiReader.java	(revision 2017)
@@ -1,4 +1,6 @@
 // License: GPL. Copyright 2007 by Immanuel Scholz and others
 package org.openstreetmap.josm.tools;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
 
 import java.io.BufferedReader;
@@ -9,7 +11,4 @@
 
 import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.tools.LanguageInfo;
-
-import static org.openstreetmap.josm.tools.I18n.tr;
 
 /**
Index: trunk/src/org/openstreetmap/josm/tools/XmlObjectParser.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/XmlObjectParser.java	(revision 2016)
+++ trunk/src/org/openstreetmap/josm/tools/XmlObjectParser.java	(revision 2017)
@@ -20,6 +20,4 @@
 import org.xml.sax.SAXException;
 import org.xml.sax.helpers.DefaultHandler;
-
-import org.openstreetmap.josm.tools.LanguageInfo;
 
 /**
