Index: trunk/src/org/openstreetmap/josm/actions/AlignInCircleAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/AlignInCircleAction.java	(revision 1911)
+++ trunk/src/org/openstreetmap/josm/actions/AlignInCircleAction.java	(revision 1912)
@@ -113,9 +113,9 @@
             // distance between two nodes.
             if (nodes.size() > 0) {
-                if (nodes.size() == 1 && way.getNodes().contains(nodes.get(0))) {
+                if (nodes.size() == 1 && way.containsNode(nodes.get(0))) {
                     regular = true;
                 } else {
 
-                    center = nodes.get(way.getNodes().contains(nodes.get(0)) ? 1 : 0).getEastNorth();
+                    center = nodes.get(way.containsNode(nodes.get(0)) ? 1 : 0).getEastNorth();
                     if (nodes.size() == 2) {
                         radius = distance(nodes.get(0).getEastNorth(), nodes.get(1).getEastNorth());
Index: trunk/src/org/openstreetmap/josm/actions/MergeNodesAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/MergeNodesAction.java	(revision 1911)
+++ trunk/src/org/openstreetmap/josm/actions/MergeNodesAction.java	(revision 1912)
@@ -225,5 +225,5 @@
                     continue;
                 }
-                if (w.getNodes().contains(sn)) {
+                if (w.containsNode(sn)) {
                     modify = true;
                 }
Index: trunk/src/org/openstreetmap/josm/actions/UnGlueAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/UnGlueAction.java	(revision 1911)
+++ trunk/src/org/openstreetmap/josm/actions/UnGlueAction.java	(revision 1912)
@@ -70,5 +70,5 @@
                     continue;
                 }
-                if (!w.getNodes().contains(selectedNode)) {
+                if (!w.containsNode(selectedNode)) {
                     continue;
                 }
@@ -95,5 +95,5 @@
                         continue;
                     }
-                    if (!w.getNodes().contains(n)) {
+                    if (!w.containsNode(n)) {
                         continue;
                     }
@@ -191,5 +191,5 @@
         boolean isPartOfWay = false;
         for(Way w : getCurrentDataSet().ways) {
-            if(w.getNodes().contains(n)) {
+            if(w.containsNode((Node)n)) {
                 isPartOfWay = true;
                 break;
@@ -232,9 +232,9 @@
                 selectedNode = (Node) p;
                 if (size == 1 || selectedWay != null)
-                    return size == 1 || selectedWay.getNodes().contains(selectedNode);
+                    return size == 1 || selectedWay.containsNode(selectedNode);
             } else if (p instanceof Way) {
                 selectedWay = (Way) p;
                 if (size == 2 && selectedNode != null)
-                    return selectedWay.getNodes().contains(selectedNode);
+                    return selectedWay.containsNode(selectedNode);
             }
         }
@@ -276,5 +276,5 @@
             if (p instanceof Node) {
                 Node n = (Node) p;
-                if (!selectedWay.getNodes().contains(n))
+                if (!selectedWay.containsNode(n))
                     return false;
                 selectedNodes.add(n);
@@ -372,5 +372,5 @@
                     continue;
                 }
-                if (!w.getNodes().contains(selectedNode)) {
+                if (!w.containsNode(selectedNode)) {
                     continue;
                 }
Index: trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java	(revision 1911)
+++ trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java	(revision 1912)
@@ -128,13 +128,13 @@
                         return;
                     switch(c) {
-                    case way:
-                        Main.map.mapView.setCursor(cursorJoinWay);
+                        case way:
+                            Main.map.mapView.setCursor(cursorJoinWay);
+                            break;
+                        case node:
+                            Main.map.mapView.setCursor(cursorJoinNode);
+                            break;
+                        default:
+                            Main.map.mapView.setCursor(cursorCrosshair);
                         break;
-                    case node:
-                        Main.map.mapView.setCursor(cursorJoinNode);
-                        break;
-                    default:
-                        Main.map.mapView.setCursor(cursorCrosshair);
-                    break;
                     }
                 }
@@ -503,5 +503,5 @@
 
                 // Connected to a node that's already in the way
-                if(way.getNodes().contains(n)) {
+                if(way.containsNode(n)) {
                     wayIsFinished = true;
                     selection.clear();
@@ -810,54 +810,54 @@
 
         switch (segs.size()) {
-        case 0:
-            return;
-        case 2:
-            // This computes the intersection between
-            // the two segments and adjusts the node position.
-            Iterator<Pair<Node,Node>> i = segs.iterator();
-            Pair<Node,Node> seg = i.next();
-            EastNorth A = seg.a.getEastNorth();
-            EastNorth B = seg.b.getEastNorth();
-            seg = i.next();
-            EastNorth C = seg.a.getEastNorth();
-            EastNorth D = seg.b.getEastNorth();
-
-            double u=det(B.east() - A.east(), B.north() - A.north(), C.east() - D.east(), C.north() - D.north());
-
-            // Check for parallel segments and do nothing if they are
-            // In practice this will probably only happen when a way has been duplicated
-
-            if (u == 0) return;
-
-            // q is a number between 0 and 1
-            // It is the point in the segment where the intersection occurs
-            // if the segment is scaled to lenght 1
-
-            double q = det(B.north() - C.north(), B.east() - C.east(), D.north() - C.north(), D.east() - C.east()) / u;
-            EastNorth intersection = new EastNorth(
-                    B.east() + q * (A.east() - B.east()),
-                    B.north() + q * (A.north() - B.north()));
-
-            int snapToIntersectionThreshold
-            = Main.pref.getInteger("edit.snap-intersection-threshold",10);
-
-            // only adjust to intersection if within snapToIntersectionThreshold pixel of mouse click; otherwise
-            // fall through to default action.
-            // (for semi-parallel lines, intersection might be miles away!)
-            if (Main.map.mapView.getPoint(n).distance(Main.map.mapView.getPoint(intersection)) < snapToIntersectionThreshold) {
-                n.setEastNorth(intersection);
+            case 0:
                 return;
-            }
-
-        default:
-            EastNorth P = n.getEastNorth();
-        seg = segs.iterator().next();
-        A = seg.a.getEastNorth();
-        B = seg.b.getEastNorth();
-        double a = P.distanceSq(B);
-        double b = P.distanceSq(A);
-        double c = A.distanceSq(B);
-        q = (a - b + c) / (2*c);
-        n.setEastNorth(new EastNorth(B.east() + q * (A.east() - B.east()), B.north() + q * (A.north() - B.north())));
+            case 2:
+                // This computes the intersection between
+                // the two segments and adjusts the node position.
+                Iterator<Pair<Node,Node>> i = segs.iterator();
+                Pair<Node,Node> seg = i.next();
+                EastNorth A = seg.a.getEastNorth();
+                EastNorth B = seg.b.getEastNorth();
+                seg = i.next();
+                EastNorth C = seg.a.getEastNorth();
+                EastNorth D = seg.b.getEastNorth();
+
+                double u=det(B.east() - A.east(), B.north() - A.north(), C.east() - D.east(), C.north() - D.north());
+
+                // Check for parallel segments and do nothing if they are
+                // In practice this will probably only happen when a way has been duplicated
+
+                if (u == 0) return;
+
+                // q is a number between 0 and 1
+                // It is the point in the segment where the intersection occurs
+                // if the segment is scaled to lenght 1
+
+                double q = det(B.north() - C.north(), B.east() - C.east(), D.north() - C.north(), D.east() - C.east()) / u;
+                EastNorth intersection = new EastNorth(
+                        B.east() + q * (A.east() - B.east()),
+                        B.north() + q * (A.north() - B.north()));
+
+                int snapToIntersectionThreshold
+                = Main.pref.getInteger("edit.snap-intersection-threshold",10);
+
+                // only adjust to intersection if within snapToIntersectionThreshold pixel of mouse click; otherwise
+                // fall through to default action.
+                // (for semi-parallel lines, intersection might be miles away!)
+                if (Main.map.mapView.getPoint(n).distance(Main.map.mapView.getPoint(intersection)) < snapToIntersectionThreshold) {
+                    n.setEastNorth(intersection);
+                    return;
+                }
+
+            default:
+                EastNorth P = n.getEastNorth();
+            seg = segs.iterator().next();
+            A = seg.a.getEastNorth();
+            B = seg.b.getEastNorth();
+            double a = P.distanceSq(B);
+            double b = P.distanceSq(A);
+            double c = A.distanceSq(B);
+            q = (a - b + c) / (2*c);
+            n.setEastNorth(new EastNorth(B.east() + q * (A.east() - B.east()), B.north() + q * (A.north() - B.north())));
         }
     }
