Index: applications/editors/josm/plugins/utilsplugin/src/UtilsPlugin/JoinAreasAction.java
===================================================================
--- applications/editors/josm/plugins/utilsplugin/src/UtilsPlugin/JoinAreasAction.java	(revision 15960)
+++ applications/editors/josm/plugins/utilsplugin/src/UtilsPlugin/JoinAreasAction.java	(revision 16162)
@@ -3,27 +3,21 @@
 import static org.openstreetmap.josm.tools.I18n.marktr;
 import static org.openstreetmap.josm.tools.I18n.tr;
-import static org.openstreetmap.josm.tools.I18n.trn;
-
+
+import java.awt.GridBagLayout;
+import java.awt.Polygon;
 import java.awt.event.ActionEvent;
 import java.awt.event.KeyEvent;
 import java.awt.geom.Line2D;
-import java.awt.geom.Point2D;
-import java.awt.GridBagLayout;
-import java.awt.Point;
-import java.awt.Polygon;
-
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
-import java.util.Comparator;
 import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
-import java.util.Map.Entry;
 import java.util.Set;
 import java.util.TreeMap;
 import java.util.TreeSet;
+import java.util.Map.Entry;
 
 import javax.swing.Box;
@@ -33,9 +27,9 @@
 import javax.swing.JPanel;
 
+import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.CombineWayAction;
 import org.openstreetmap.josm.actions.JosmAction;
 import org.openstreetmap.josm.actions.ReverseWayAction;
 import org.openstreetmap.josm.actions.SplitWayAction;
-
 import org.openstreetmap.josm.command.AddCommand;
 import org.openstreetmap.josm.command.ChangeCommand;
@@ -43,6 +37,6 @@
 import org.openstreetmap.josm.command.DeleteCommand;
 import org.openstreetmap.josm.command.SequenceCommand;
-
 import org.openstreetmap.josm.data.Bounds;
+import org.openstreetmap.josm.data.UndoRedoHandler;
 import org.openstreetmap.josm.data.coor.EastNorth;
 import org.openstreetmap.josm.data.coor.LatLon;
@@ -54,17 +48,8 @@
 import org.openstreetmap.josm.data.osm.RelationMember;
 import org.openstreetmap.josm.data.osm.TigerUtils;
-import org.openstreetmap.josm.data.osm.visitor.CollectBackReferencesVisitor;
 import org.openstreetmap.josm.data.osm.Way;
-import org.openstreetmap.josm.data.osm.WaySegment;
-import org.openstreetmap.josm.data.projection.Epsg4326;
-import org.openstreetmap.josm.data.projection.Lambert;
-import org.openstreetmap.josm.data.projection.Mercator;
-import org.openstreetmap.josm.data.UndoRedoHandler;
-
 import org.openstreetmap.josm.gui.ExtendedDialog;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.tools.GBC;
-import org.openstreetmap.josm.tools.Pair;
 import org.openstreetmap.josm.tools.Shortcut;
 
@@ -83,5 +68,5 @@
             this.pos = pos;
             this.n = n;
-            this.dis = n.coor.greatCircleDistance(dis);
+            this.dis = n.getCoor().greatCircleDistance(dis);
         }
 
@@ -160,5 +145,5 @@
                 boolean isInsideOneBoundingBox = false;
                 for (Bounds b : bounds) {
-                    if (b.contains(node.coor)) {
+                    if (b.contains(node.getCoor())) {
                         isInsideOneBoundingBox = true;
                         break;
@@ -362,8 +347,8 @@
                 }
                 LatLon intersection = getLineLineIntersection(
-                        a.nodes.get(i)  .eastNorth.east(), a.nodes.get(i)  .eastNorth.north(),
-                        a.nodes.get(i+1).eastNorth.east(), a.nodes.get(i+1).eastNorth.north(),
-                        b.nodes.get(j)  .eastNorth.east(), b.nodes.get(j)  .eastNorth.north(),
-                        b.nodes.get(j+1).eastNorth.east(), b.nodes.get(j+1).eastNorth.north());
+                        a.nodes.get(i)  .getEastNorth().east(), a.nodes.get(i)  .getEastNorth().north(),
+                        a.nodes.get(i+1).getEastNorth().east(), a.nodes.get(i+1).getEastNorth().north(),
+                        b.nodes.get(j)  .getEastNorth().east(), b.nodes.get(j)  .getEastNorth().north(),
+                        b.nodes.get(j+1).getEastNorth().east(), b.nodes.get(j+1).getEastNorth().north());
                 if(intersection == null) continue;
 
@@ -373,9 +358,9 @@
                 nodes.add(n);
                 // The distance is needed to sort and add the nodes in direction of the way
-                nodesA.add(new NodeToSegs(i,  n, a.nodes.get(i).coor));
+                nodesA.add(new NodeToSegs(i,  n, a.nodes.get(i).getCoor()));
                 if(same)
-                    nodesA.add(new NodeToSegs(j,  n, a.nodes.get(j).coor));
+                    nodesA.add(new NodeToSegs(j,  n, a.nodes.get(j).getCoor()));
                 else
-                    nodesB.add(new NodeToSegs(j,  n, b.nodes.get(j).coor));
+                    nodesB.add(new NodeToSegs(j,  n, b.nodes.get(j).getCoor()));
             }
         }
@@ -423,5 +408,4 @@
     private void addNodesToWay(Way a, ArrayList<NodeToSegs> nodes) {
         Way ax=new Way(a);
-        List<NodeToSegs> newnodes = new ArrayList<NodeToSegs>();
         Collections.sort(nodes);
 
@@ -539,8 +523,8 @@
         for(Way w: multigonWays) {
             Polygon poly = new Polygon();
-            for(Node n: ((Way)w).nodes) poly.addPoint(latlonToXY(n.coor.lat()), latlonToXY(n.coor.lon()));
+            for(Node n: (w).nodes) poly.addPoint(latlonToXY(n.getCoor().lat()), latlonToXY(n.getCoor().lon()));
 
             for(Node n: multigonNodes) {
-                if(!((Way)w).nodes.contains(n) && poly.contains(latlonToXY(n.coor.lat()), latlonToXY(n.coor.lon()))) {
+                if(!(w).nodes.contains(n) && poly.contains(latlonToXY(n.getCoor().lat()), latlonToXY(n.getCoor().lon()))) {
                     getWaysByNode(innerWays, multigonWays, n);
                 }
@@ -564,5 +548,5 @@
     private void getWaysByNode(Collection<Way> innerWays, Collection<Way> w, Node n) {
         for(Way way : w) {
-            if(!((Way)way).nodes.contains(n)) continue;
+            if(!(way).nodes.contains(n)) continue;
             if(!innerWays.contains(way)) innerWays.add(way); // Will need this later for multigons
         }
Index: applications/editors/josm/plugins/utilsplugin/src/UtilsPlugin/JumpToAction.java
===================================================================
--- applications/editors/josm/plugins/utilsplugin/src/UtilsPlugin/JumpToAction.java	(revision 15960)
+++ applications/editors/josm/plugins/utilsplugin/src/UtilsPlugin/JumpToAction.java	(revision 16162)
@@ -4,32 +4,22 @@
 
 import java.awt.BorderLayout;
-import java.awt.Component;
+import java.awt.GridBagLayout;
 import java.awt.event.ActionEvent;
-import java.awt.event.InputEvent;
 import java.awt.event.KeyEvent;
+import java.awt.event.MouseEvent;
 import java.awt.event.MouseListener;
-import java.awt.event.MouseEvent;
-import java.awt.GridBagLayout;
-import java.awt.GridLayout;
-import java.awt.Toolkit;
 
-import javax.swing.Box;
-import javax.swing.event.DocumentListener; 
-import javax.swing.event.DocumentEvent; 
-import javax.swing.JComponent;
-import javax.swing.JDialog;
 import javax.swing.JLabel;
 import javax.swing.JOptionPane;
 import javax.swing.JPanel;
 import javax.swing.JTextField;
-import javax.swing.KeyStroke;
+import javax.swing.event.DocumentEvent;
+import javax.swing.event.DocumentListener;
 
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.JosmAction;
 import org.openstreetmap.josm.data.Bounds;
-import org.openstreetmap.josm.data.coor.EastNorth;
 import org.openstreetmap.josm.data.coor.LatLon;
-import org.openstreetmap.josm.gui.dialogs.ToggleDialog;
-import org.openstreetmap.josm.data.osm.visitor.BoundingXYVisitor;
+import org.openstreetmap.josm.gui.NavigatableComponent;
 import org.openstreetmap.josm.tools.GBC;
 import org.openstreetmap.josm.tools.OsmUrlToBounds;
@@ -41,10 +31,10 @@
         KeyEvent.VK_G, Shortcut.GROUP_HOTKEY), true);
     }
-    
+
     private JTextField url = new JTextField();
     private JTextField lat = new JTextField();
     private JTextField lon = new JTextField();
     private JTextField zm = new JTextField();
-    
+
     private double zoomFactor = 0;
     public void showJumpToDialog() {
@@ -52,13 +42,13 @@
         lat.setText(java.lang.Double.toString(curPos.lat()));
         lon.setText(java.lang.Double.toString(curPos.lon()));
-        
+
         LatLon ll1 = Main.map.mapView.getLatLon(0,0);
         LatLon ll2 = Main.map.mapView.getLatLon(100,0);
         double dist = ll1.greatCircleDistance(ll2);
         zoomFactor = Main.map.mapView.getScale()/dist;
-        
+
         zm.setText(java.lang.Long.toString(Math.round(dist*100)/100));
         updateUrl(true);
-        
+
         JPanel panel = new JPanel(new BorderLayout());
         panel.add(new JLabel("<html>"
@@ -69,38 +59,38 @@
                               + "</html>"),
                   BorderLayout.NORTH);
-        
-        class osmURLListener implements DocumentListener { 
-            public void changedUpdate(DocumentEvent e) { parseURL(); } 
-            public void insertUpdate(DocumentEvent e) { parseURL(); } 
-            public void removeUpdate(DocumentEvent e) { parseURL(); } 
+
+        class osmURLListener implements DocumentListener {
+            public void changedUpdate(DocumentEvent e) { parseURL(); }
+            public void insertUpdate(DocumentEvent e) { parseURL(); }
+            public void removeUpdate(DocumentEvent e) { parseURL(); }
         }
-        
-        class osmLonLatListener implements DocumentListener { 
-            public void changedUpdate(DocumentEvent e) { updateUrl(false); } 
-            public void insertUpdate(DocumentEvent e) { updateUrl(false); } 
-            public void removeUpdate(DocumentEvent e) { updateUrl(false); } 
-        } 
-        
+
+        class osmLonLatListener implements DocumentListener {
+            public void changedUpdate(DocumentEvent e) { updateUrl(false); }
+            public void insertUpdate(DocumentEvent e) { updateUrl(false); }
+            public void removeUpdate(DocumentEvent e) { updateUrl(false); }
+        }
+
         osmLonLatListener x=new osmLonLatListener();
-        lat.getDocument().addDocumentListener(x); 
-        lon.getDocument().addDocumentListener(x); 
-        zm.getDocument().addDocumentListener(x); 
-        url.getDocument().addDocumentListener(new osmURLListener()); 
-        
+        lat.getDocument().addDocumentListener(x);
+        lon.getDocument().addDocumentListener(x);
+        zm.getDocument().addDocumentListener(x);
+        url.getDocument().addDocumentListener(new osmURLListener());
+
         JPanel p = new JPanel(new GridBagLayout());
         panel.add(p, BorderLayout.NORTH);
-        
+
         p.add(new JLabel(tr("Latitude")), GBC.eol());
         p.add(lat, GBC.eol().fill(GBC.HORIZONTAL));
-        
+
         p.add(new JLabel(tr("Longitude")), GBC.eol());
         p.add(lon, GBC.eol().fill(GBC.HORIZONTAL));
-        
+
         p.add(new JLabel(tr("Zoom (in metres)")), GBC.eol());
         p.add(zm, GBC.eol().fill(GBC.HORIZONTAL));
-        
+
         p.add(new JLabel(tr("URL")), GBC.eol());
         p.add(url, GBC.eol().fill(GBC.HORIZONTAL));
-        
+
         Object[] buttons = { tr("Jump there"), tr("Cancel") };
         LatLon ll = null;
@@ -116,5 +106,5 @@
                             buttons,
                             buttons[0]);
-            
+
             if (option != JOptionPane.OK_OPTION) return;
             try {
@@ -125,8 +115,8 @@
             }
         }
-        
+
         Main.map.mapView.zoomTo(Main.proj.latlon2eastNorth(ll), zoomFactor * zoomLvl);
     }
-    
+
     private void parseURL() {
         if(!url.hasFocus()) return;
@@ -135,20 +125,20 @@
             lat.setText(Double.toString((b.min.lat() + b.max.lat())/2));
             lon.setText(Double.toString((b.min.lon() + b.max.lon())/2));
-            
+
             int zoomLvl = 16;
-            String[] args = url.getText().substring(url.getText().indexOf('?')+1).split("&"); 
-            for (String arg : args) { 
-                int eq = arg.indexOf('='); 
-                if (eq == -1 || !arg.substring(0, eq).equalsIgnoreCase("zoom")) continue; 
-                
+            String[] args = url.getText().substring(url.getText().indexOf('?')+1).split("&");
+            for (String arg : args) {
+                int eq = arg.indexOf('=');
+                if (eq == -1 || !arg.substring(0, eq).equalsIgnoreCase("zoom")) continue;
+
                 zoomLvl = Integer.parseInt(arg.substring(eq + 1));
                 break;
             }
-            
+
             // 10000000 = 10 000 * 1000 = World * (km -> m)
             zm.setText(Double.toString(Math.round(10000000 * Math.pow(2, (-1) * zoomLvl))));
         }
     }
-    
+
     private void updateUrl(boolean force) {
         if(!lat.hasFocus() && !lon.hasFocus() && !zm.hasFocus() && !force) return;
@@ -170,18 +160,18 @@
         showJumpToDialog();
     }
-    
+
     /**
-     * Converts a given scale into OSM-Style zoom factors 
+     * Converts a given scale into OSM-Style zoom factors
      * @param double scale
-     */    
+     */
     public int getZoom(double scale) {
         double sizex = scale * Main.map.mapView.getWidth();
         double sizey = scale * Main.map.mapView.getHeight();
         for (int zoom = 0; zoom <= 32; zoom++, sizex *= 2, sizey *= 2)
-            if (sizex > Main.map.mapView.world.east() || sizey > Main.map.mapView.world.north())
+            if (sizex > NavigatableComponent.world.east() || sizey > NavigatableComponent.world.north())
                 return zoom;
         return 32;
     }
-  
+
     public void mousePressed(MouseEvent e) {}
 
Index: applications/editors/josm/plugins/utilsplugin/src/UtilsPlugin/SimplifyWayAction.java
===================================================================
--- applications/editors/josm/plugins/utilsplugin/src/UtilsPlugin/SimplifyWayAction.java	(revision 15960)
+++ applications/editors/josm/plugins/utilsplugin/src/UtilsPlugin/SimplifyWayAction.java	(revision 16162)
@@ -55,5 +55,5 @@
                         boolean isInsideOneBoundingBox = false;
                         for (Bounds b : bounds) {
-                            if (b.contains(node.coor)) {
+                            if (b.contains(node.getCoor())) {
                                 isInsideOneBoundingBox = true;
                                 break;
@@ -161,6 +161,6 @@
             Node n = wnew.nodes.get(i);
             double xte = Math.abs(EARTH_RAD
-                    * xtd(fromN.coor.lat() * Math.PI / 180, fromN.coor.lon() * Math.PI / 180, toN.coor.lat() * Math.PI
-                            / 180, toN.coor.lon() * Math.PI / 180, n.coor.lat() * Math.PI / 180, n.coor.lon() * Math.PI
+                    * xtd(fromN.getCoor().lat() * Math.PI / 180, fromN.getCoor().lon() * Math.PI / 180, toN.getCoor().lat() * Math.PI
+                            / 180, toN.getCoor().lon() * Math.PI / 180, n.getCoor().lat() * Math.PI / 180, n.getCoor().lon() * Math.PI
                             / 180));
             if (xte > xtemax) {
Index: applications/editors/josm/plugins/utilsplugin/src/UtilsPlugin/UtilsPlugin.java
===================================================================
--- applications/editors/josm/plugins/utilsplugin/src/UtilsPlugin/UtilsPlugin.java	(revision 15960)
+++ applications/editors/josm/plugins/utilsplugin/src/UtilsPlugin/UtilsPlugin.java	(revision 16162)
@@ -1,20 +1,10 @@
 package UtilsPlugin;
 
-import static org.openstreetmap.josm.tools.I18n.tr;
-
-
-import java.awt.event.ActionEvent;
-import javax.swing.AbstractAction;
 import javax.swing.JMenuItem;
-import javax.swing.JOptionPane;
-import javax.swing.JPanel;
-import javax.swing.BoxLayout;
 
 import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.gui.MainMenu;
+import org.openstreetmap.josm.gui.MapFrame;
 import org.openstreetmap.josm.plugins.Plugin;
-import org.openstreetmap.josm.gui.MapFrame;
-import org.openstreetmap.josm.gui.MainMenu;
-import org.openstreetmap.josm.gui.IconToggleButton;
-import org.openstreetmap.josm.actions.JosmAction;
 
 public class UtilsPlugin extends Plugin {
