Index: trunk/src/org/openstreetmap/josm/actions/CreateMultipolygonAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/CreateMultipolygonAction.java	(revision 8405)
+++ trunk/src/org/openstreetmap/josm/actions/CreateMultipolygonAction.java	(revision 8406)
@@ -201,5 +201,5 @@
             return null; //could not make multipolygon.
         } else {
-            return Pair.create(selectedMultipolygonRelation, createRelation(polygon, new Relation(selectedMultipolygonRelation)));
+            return Pair.create(selectedMultipolygonRelation, createRelation(polygon, selectedMultipolygonRelation));
         }
     }
@@ -214,5 +214,5 @@
             return null; //could not make multipolygon.
         } else {
-            return Pair.create(null, createRelation(polygon, new Relation()));
+            return Pair.create(null, createRelation(polygon, null));
         }
     }
@@ -302,6 +302,7 @@
      * @return multipolygon relation
      */
-    private static Relation createRelation(MultipolygonBuilder pol, final Relation rel) {
+    private static Relation createRelation(MultipolygonBuilder pol, Relation clone) {
         // Create new relation
+        Relation rel = clone != null ? new Relation(clone) : new Relation();
         rel.put("type", "multipolygon");
         // Add ways to it
Index: trunk/src/org/openstreetmap/josm/data/projection/datum/NTV2SubGrid.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/projection/datum/NTV2SubGrid.java	(revision 8405)
+++ trunk/src/org/openstreetmap/josm/data/projection/datum/NTV2SubGrid.java	(revision 8406)
@@ -223,12 +223,11 @@
      * <p>This method is thread safe for both memory based and file based node data.
      * @param gs GridShift object containing the coordinate to shift and the shift values
-     * @return the GridShift object supplied, with values updated.
-     */
-    public NTV2GridShift interpolateGridShift(NTV2GridShift gs) {
+     */
+    public void interpolateGridShift(NTV2GridShift gs) {
         int lonIndex = (int)((gs.getLonPositiveWestSeconds() - minLon) / lonInterval);
         int latIndex = (int)((gs.getLatSeconds() - minLat) / latInterval);
 
-        double X = (gs.getLonPositiveWestSeconds() - (minLon + (lonInterval * lonIndex))) / lonInterval;
-        double Y = (gs.getLatSeconds() - (minLat + (latInterval * latIndex))) / latInterval;
+        double x = (gs.getLonPositiveWestSeconds() - (minLon + (lonInterval * lonIndex))) / lonInterval;
+        double y = (gs.getLatSeconds() - (minLat + (latInterval * latIndex))) / latInterval;
 
         // Find the nodes at the four corners of the cell
@@ -240,8 +239,8 @@
 
         gs.setLonShiftPositiveWestSeconds(interpolate(
-                lonShift[indexA], lonShift[indexB], lonShift[indexC], lonShift[indexD], X, Y));
+                lonShift[indexA], lonShift[indexB], lonShift[indexC], lonShift[indexD], x, y));
 
         gs.setLatShiftSeconds(interpolate(
-                latShift[indexA], latShift[indexB], latShift[indexC], latShift[indexD], X, Y));
+                latShift[indexA], latShift[indexB], latShift[indexC], latShift[indexD], x, y));
 
         if (lonAccuracy == null) {
@@ -250,5 +249,5 @@
             gs.setLonAccuracyAvailable(true);
             gs.setLonAccuracySeconds(interpolate(
-                    lonAccuracy[indexA], lonAccuracy[indexB], lonAccuracy[indexC], lonAccuracy[indexD], X, Y));
+                    lonAccuracy[indexA], lonAccuracy[indexB], lonAccuracy[indexC], lonAccuracy[indexD], x, y));
         }
 
@@ -258,7 +257,6 @@
             gs.setLatAccuracyAvailable(true);
             gs.setLatAccuracySeconds(interpolate(
-                    latAccuracy[indexA], latAccuracy[indexB], latAccuracy[indexC], latAccuracy[indexD], X, Y));
-        }
-        return gs;
+                    latAccuracy[indexA], latAccuracy[indexB], latAccuracy[indexC], latAccuracy[indexD], x, y));
+        }
     }
 
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/relation/sort/WayConnectionTypeCalculator.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/relation/sort/WayConnectionTypeCalculator.java	(revision 8405)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/relation/sort/WayConnectionTypeCalculator.java	(revision 8406)
@@ -67,5 +67,5 @@
             if (wct.linkPrev) {
                 if (lastBackwardWay != UNCONNECTED && lastForwardWay != UNCONNECTED) {
-                    wct = determineOnewayConnectionType(con, m, i, wct);
+                    determineOnewayConnectionType(con, m, i, wct);
                     if (!wct.linkPrev) {
                         firstGroupIdx = i;
@@ -139,5 +139,6 @@
     private int lastBackwardWay;
     private boolean onewayBeginning;
-    private WayConnectionType determineOnewayConnectionType(final List<WayConnectionType> con,
+
+    private void determineOnewayConnectionType(final List<WayConnectionType> con,
             RelationMember m, int i, final WayConnectionType wct) {
         Direction dirFW = determineDirection(lastForwardWay, con.get(lastForwardWay).direction, i);
@@ -201,5 +202,4 @@
             }
         }
-        return wct;
     }
 
