Index: /applications/editors/josm/plugins/terracer/.classpath
===================================================================
--- /applications/editors/josm/plugins/terracer/.classpath	(revision 16162)
+++ /applications/editors/josm/plugins/terracer/.classpath	(revision 16162)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/JOSM"/>
+	<classpathentry kind="output" path="build"/>
+</classpath>
Index: /applications/editors/josm/plugins/terracer/.project
===================================================================
--- /applications/editors/josm/plugins/terracer/.project	(revision 16162)
+++ /applications/editors/josm/plugins/terracer/.project	(revision 16162)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>JOSM-terracer</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
Index: /applications/editors/josm/plugins/terracer/build.xml
===================================================================
--- /applications/editors/josm/plugins/terracer/build.xml	(revision 16161)
+++ /applications/editors/josm/plugins/terracer/build.xml	(revision 16162)
@@ -26,5 +26,5 @@
                 <attribute name="Plugin-Description" value="Make terraced houses out of single blocks."/>
                 <attribute name="Plugin-Link" value="http://wiki.openstreetmap.org/wiki/JOSM/Plugins/Terracer"/>
-                <attribute name="Plugin-Mainversion" value="1598"/>
+                <attribute name="Plugin-Mainversion" value="1638"/>
                 <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
             </manifest>
Index: /applications/editors/josm/plugins/terracer/src/terracer/TerracerAction.java
===================================================================
--- /applications/editors/josm/plugins/terracer/src/terracer/TerracerAction.java	(revision 16161)
+++ /applications/editors/josm/plugins/terracer/src/terracer/TerracerAction.java	(revision 16162)
@@ -1,7 +1,7 @@
 /**
  * Terracer: A JOSM Plugin for terraced houses.
- * 
+ *
  * Copyright 2009 CloudMade Ltd.
- * 
+ *
  * Released under the GPLv2, see LICENSE file for details.
  */
@@ -11,5 +11,4 @@
 import static org.openstreetmap.josm.tools.I18n.trn;
 
-import java.awt.BorderLayout;
 import java.awt.Choice;
 import java.awt.Component;
@@ -20,15 +19,9 @@
 import java.awt.event.KeyEvent;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.TreeMap;
 import java.util.TreeSet;
 
-import javax.swing.JComponent;
 import javax.swing.JFormattedTextField;
 import javax.swing.JLabel;
@@ -36,7 +29,5 @@
 import javax.swing.JPanel;
 import javax.swing.JSpinner;
-import javax.swing.JTextField;
 import javax.swing.SpinnerNumberModel;
-import javax.swing.SpringLayout;
 import javax.swing.event.ChangeEvent;
 import javax.swing.event.ChangeListener;
@@ -53,5 +44,4 @@
 import org.openstreetmap.josm.data.osm.RelationMember;
 import org.openstreetmap.josm.data.osm.Way;
-import org.openstreetmap.josm.gui.tagging.TaggingPreset.Item;
 import org.openstreetmap.josm.tools.AutoCompleteComboBox;
 import org.openstreetmap.josm.tools.GBC;
@@ -62,9 +52,9 @@
  * Terraces a quadrilateral, closed way into a series of quadrilateral,
  * closed ways.
- * 
+ *
  * At present it only works on quadrilaterals, but there is no reason
- * why it couldn't be extended to work with other shapes too. The 
- * algorithm employed is naive, but it works in the simple case. 
- * 
+ * why it couldn't be extended to work with other shapes too. The
+ * algorithm employed is naive, but it works in the simple case.
+ *
  * @author zere
  */
@@ -76,10 +66,10 @@
 
 	public TerracerAction() {
-		super(tr("Terrace a building"), 
-				"terrace", 
+		super(tr("Terrace a building"),
+				"terrace",
 				tr("Creates individual buildings from a long building."),
-				Shortcut.registerShortcut("tools:Terracer", 
+				Shortcut.registerShortcut("tools:Terracer",
 						tr("Tool: {0}", tr("Terrace a building")),
-						KeyEvent.VK_T, Shortcut.GROUP_EDIT, 
+						KeyEvent.VK_T, Shortcut.GROUP_EDIT,
 						Shortcut.SHIFT_DEFAULT),
 						true);
@@ -112,13 +102,13 @@
 					optionPane.createDialog(Main.parent, title).setVisible(true);
 					Object answerObj = optionPane.getValue();
-					if (answerObj != null && 
+					if (answerObj != null &&
 							answerObj != JOptionPane.UNINITIALIZED_VALUE &&
-							(answerObj instanceof Integer && 
+							(answerObj instanceof Integer &&
 									(Integer)answerObj == JOptionPane.OK_OPTION)) {
 
 						// call out to the method which does the actual
 						// terracing.
-						terraceBuilding(way, 
-								dialog.numberFrom(), 
+						terraceBuilding(way,
+								dialog.numberFrom(),
 								dialog.numberTo(),
 								dialog.stepSize(),
@@ -137,5 +127,5 @@
 
 		if (badSelect) {
-			JOptionPane.showMessageDialog(Main.parent, 
+			JOptionPane.showMessageDialog(Main.parent,
 					tr("Select a single, closed way of at least four nodes."));
 		}
@@ -144,10 +134,10 @@
 	/**
 	 * Terraces a single, closed, quadrilateral way.
-	 * 
+	 *
 	 * Any node must be adjacent to both a short and long edge, we naively
 	 * choose the longest edge and its opposite and interpolate along them
 	 * linearly to produce new nodes. Those nodes are then assembled into
 	 * closed, quadrilateral ways and left in the selection.
-	 * 
+	 *
 	 * @param w The closed, quadrilateral way to terrace.
 	 */
@@ -167,8 +157,8 @@
 		Collection<Way> ways = new LinkedList<Way>();
 
-		// create intermediate nodes by interpolating. 
+		// create intermediate nodes by interpolating.
 		for (int i = 0; i <= nb; ++i) {
-			new_nodes[0][i] = interpolateAlong(interp.a, frontLength * (double)(i) / (double)(nb));
-			new_nodes[1][i] = interpolateAlong(interp.b, backLength * (double)(i) / (double)(nb));
+			new_nodes[0][i] = interpolateAlong(interp.a, frontLength * (i) / (nb));
+			new_nodes[1][i] = interpolateAlong(interp.b, backLength * (i) / (nb));
 			commands.add(new AddCommand(new_nodes[0][i]));
 			commands.add(new AddCommand(new_nodes[1][i]));
@@ -214,9 +204,9 @@
 	 * Creates a node at a certain distance along a way, as calculated by the
 	 * great circle distance.
-	 * 
-	 * Note that this really isn't an efficient way to do this and leads to 
+	 *
+	 * Note that this really isn't an efficient way to do this and leads to
 	 * O(N^2) running time for the main algorithm, but its simple and easy
 	 * to understand, and probably won't matter for reasonable-sized ways.
-	 * 
+	 *
 	 * @param w The way to interpolate.
 	 * @param l The length at which to place the node.
@@ -226,5 +216,5 @@
 		Node n = null;
 		for (Pair<Node,Node> p : w.getNodePairs(false)) {
-			final double seg_length = p.a.coor.greatCircleDistance(p.b.coor);
+			final double seg_length = p.a.getCoor().greatCircleDistance(p.b.getCoor());
 			if (l <= seg_length) {
 				n = interpolateNode(p.a, p.b, l / seg_length);
@@ -245,5 +235,5 @@
 	 * Calculates the great circle length of a way by summing the great circle
 	 * distance of each pair of nodes.
-	 * 
+	 *
 	 * @param w The way to calculate length of.
 	 * @return The length of the way.
@@ -252,5 +242,5 @@
 		double length = 0.0;
 		for (Pair<Node,Node> p : w.getNodePairs(false)) {
-			length += p.a.coor.greatCircleDistance(p.b.coor);
+			length += p.a.getCoor().greatCircleDistance(p.b.getCoor());
 		}
 		return length;
@@ -258,8 +248,8 @@
 
 	/**
-	 * Given a way, try and find a definite front and back by looking at the 
+	 * Given a way, try and find a definite front and back by looking at the
 	 * segments to find the "sides". Sides are assumed to be single segments
 	 * which cannot be contiguous.
-	 * 
+	 *
 	 * @param w The way to analyse.
 	 * @return A pair of ways (front, back) pointing in the same directions.
@@ -327,5 +317,5 @@
 		Node a = w.nodes.get(i);
 		Node b = w.nodes.get((i+1) % (w.nodes.size() - 1));
-		return a.coor.greatCircleDistance(b.coor);
+		return a.getCoor().greatCircleDistance(b.getCoor());
 	}
 
@@ -334,10 +324,10 @@
 	 * into order and return the array of indexes such that, for a returned array
 	 * x, a[x[i]] is sorted for ascending index i.
-	 * 
+	 *
 	 * This isn't efficient at all, but should be fine for the small arrays we're
 	 * expecting. If this gets slow - replace it with some more efficient algorithm.
-	 * 
+	 *
 	 * @param a The array to sort.
-	 * @return An array of indexes, the same size as the input, such that a[x[i]] 
+	 * @return An array of indexes, the same size as the input, such that a[x[i]]
 	 * is in sorted order.
 	 */
@@ -370,5 +360,5 @@
 
 	/**
-	 * Calculate "sideness" metric for each segment in a way.  
+	 * Calculate "sideness" metric for each segment in a way.
 	 */
 	private double[] calculateSideness(Way w) {
@@ -385,5 +375,5 @@
 		}
 		sideness[length-1] = calculateSideness(
-				w.nodes.get(length - 2), w.nodes.get(length - 1), 
+				w.nodes.get(length - 2), w.nodes.get(length - 1),
 				w.nodes.get(length), w.nodes.get(1));
 
@@ -397,10 +387,10 @@
 	 */
 	private double calculateSideness(Node a, Node b, Node c, Node d) {
-		final double ndx = b.coor.getX() - a.coor.getX();
-		final double pdx = d.coor.getX() - c.coor.getX();
-		final double ndy = b.coor.getY() - a.coor.getY();
-		final double pdy = d.coor.getY() - c.coor.getY();
-
-		return (ndx * pdx + ndy * pdy) / 
+		final double ndx = b.getCoor().getX() - a.getCoor().getX();
+		final double pdx = d.getCoor().getX() - c.getCoor().getX();
+		final double ndy = b.getCoor().getY() - a.getCoor().getY();
+		final double pdy = d.getCoor().getY() - c.getCoor().getY();
+
+		return (ndx * pdx + ndy * pdy) /
 		Math.sqrt((ndx * ndx + ndy * ndy) * (pdx * pdx + pdy * pdy));
 	}
@@ -426,10 +416,10 @@
 			chi = new JSpinner(hi);
 
-			lo.addChangeListener(new ChangeListener() { 
+			lo.addChangeListener(new ChangeListener() {
 				public void stateChanged(ChangeEvent e) {
 					hi.setMinimum((Integer)lo.getNumber());
 				}
 			});
-			hi.addChangeListener(new ChangeListener() { 
+			hi.addChangeListener(new ChangeListener() {
 				public void stateChanged(ChangeEvent e) {
 					lo.setMaximum((Integer)hi.getNumber());
@@ -521,5 +511,5 @@
 
 	/**
-	 * Generates a list of all visible names of highways in order to do 
+	 * Generates a list of all visible names of highways in order to do
 	 * autocompletion on the road name.
 	 */
@@ -539,5 +529,5 @@
 	 * Creates a new node at the interpolated position between the argument
 	 * nodes. Interpolates linearly in Lat/Lon coordinates.
-	 * 
+	 *
 	 * @param a First node, at which f=0.
 	 * @param b Last node, at which f=1.
@@ -551,7 +541,7 @@
 
 	/**
-	 * Calculates the interpolated position between the argument nodes. Interpolates 
+	 * Calculates the interpolated position between the argument nodes. Interpolates
 	 * linearly in Lat/Lon coordinates.
-	 * 
+	 *
 	 * @param a First node, at which f=0.
 	 * @param b Last node, at which f=1.
@@ -563,6 +553,6 @@
 		// screen coordinates rather than lat/lon, but it doesn't seem to
 		// make a great deal of difference at the scale of most terraces.
-		return new LatLon(a.coor.lat() * (1.0 - f) + b.coor.lat() * f,
-				a.coor.lon() * (1.0 - f) + b.coor.lon() * f);
+		return new LatLon(a.getCoor().lat() * (1.0 - f) + b.getCoor().lat() * f,
+				a.getCoor().lon() * (1.0 - f) + b.getCoor().lon() * f);
 	}
 }
Index: /applications/editors/josm/plugins/utilsplugin/.classpath
===================================================================
--- /applications/editors/josm/plugins/utilsplugin/.classpath	(revision 16162)
+++ /applications/editors/josm/plugins/utilsplugin/.classpath	(revision 16162)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JDK 5"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/JOSM"/>
+	<classpathentry kind="output" path="build"/>
+</classpath>
Index: /applications/editors/josm/plugins/utilsplugin/.project
===================================================================
--- /applications/editors/josm/plugins/utilsplugin/.project	(revision 16162)
+++ /applications/editors/josm/plugins/utilsplugin/.project	(revision 16162)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>JOSM-utilsplugin</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
Index: /applications/editors/josm/plugins/utilsplugin/build.xml
===================================================================
--- /applications/editors/josm/plugins/utilsplugin/build.xml	(revision 16161)
+++ /applications/editors/josm/plugins/utilsplugin/build.xml	(revision 16162)
@@ -25,5 +25,5 @@
                 <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
                 <attribute name="Plugin-Description" value="Several utilities that make your life easier: e.g. simplify way, join areas, jump to position."/>
-                <attribute name="Plugin-Mainversion" value="1598"/>
+                <attribute name="Plugin-Mainversion" value="1638"/>
                 <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
             </manifest>
Index: /applications/editors/josm/plugins/utilsplugin/src/UtilsPlugin/JoinAreasAction.java
===================================================================
--- /applications/editors/josm/plugins/utilsplugin/src/UtilsPlugin/JoinAreasAction.java	(revision 16161)
+++ /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 16161)
+++ /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 16161)
+++ /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 16161)
+++ /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 {
