Index: trunk/test/unit/org/openstreetmap/josm/data/osm/APIDataSetTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/data/osm/APIDataSetTest.java	(revision 2613)
+++ trunk/test/unit/org/openstreetmap/josm/data/osm/APIDataSetTest.java	(revision 2620)
@@ -74,7 +74,6 @@
         r3.put("name", "r3");
 
-        Relation r4 = new Relation(1);
+        Relation r4 = new Relation(1, 1);
         r4.put("name", "r4");
-        r4.setIncomplete(false);
         r4.setModified(true);
 
Index: trunk/test/unit/org/openstreetmap/josm/data/osm/DataSetMergerTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/data/osm/DataSetMergerTest.java	(revision 2613)
+++ trunk/test/unit/org/openstreetmap/josm/data/osm/DataSetMergerTest.java	(revision 2620)
@@ -191,7 +191,6 @@
         DataSet my = new DataSet();
         my.setVersion("0.6");
-        Node n = new Node(1);
+        Node n = new Node(1, 1);
         n.setCoor(new LatLon(0,0));
-        n.setIncomplete(false);
         n.setDeleted(true);
         n.put("key1", "value1");
@@ -201,5 +200,5 @@
         their.setVersion("0.6");
         Node n1 = new Node(new LatLon(0,0));
-        n1.setOsmId(1,1);
+        n1.setOsmId(1,2);
         n1.setModified(false);
         n1.put("key1", "value1-new");
@@ -437,8 +436,5 @@
         DataSet my = new DataSet();
         my.setVersion("0.6");
-        Node n = new Node();
-        n.setCoor(new LatLon(0,0));
-        n.setOsmId(1,1);
-        n.setIncomplete(true);
+        Node n = new Node(1);
         my.addPrimitive(n);
 
@@ -1057,6 +1053,5 @@
         my.addPrimitive(n5);
 
-        Way w6 = new Way(3);
-        w6.setIncomplete(false);
+        Way w6 = new Way(3, 1);
         w6.setNodes(Arrays.asList(n4,n5));
         my.addPrimitive(w6);
@@ -1097,16 +1092,14 @@
 
         // an complete node
-        Node n1 = new Node(1);
+        Node n1 = new Node(1, 1);
         n1.setCoor(new LatLon(1,1));
-        n1.setIncomplete(false);
         source.addPrimitive(n1);
 
         // another complete node
-        Node n2 = new Node(2);
+        Node n2 = new Node(2, 1);
         n2.setCoor(new LatLon(2,2));
-        n2.setIncomplete(false);
         source.addPrimitive(n2);
 
-        // --- target daset
+        // --- target dataset
         DataSet target = new DataSet();
         target.setVersion("0.6");
@@ -1118,9 +1111,7 @@
         target.addPrimitive(n5);
 
-        Way w6 = new Way(3);
-        w6.setIncomplete(false);
+        Way w6 = new Way(3, 1);
         w6.addNode(n4);
         w6.addNode(n5);
-        w6.setIncomplete(true);
         target.addPrimitive(w6);
 
@@ -1143,5 +1134,5 @@
         assertNotNull(w);
         assertFalse(w.hasIncompleteNodes());
-        assertFalse(w.isUsable());
+        assertTrue(w.isUsable());
         assertEquals(2, w.getNodesCount());
         assertEquals(1, w.getNode(0).getId());
Index: trunk/test/unit/org/openstreetmap/josm/data/osm/visitor/MergeSourceBuildingVisitorTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/data/osm/visitor/MergeSourceBuildingVisitorTest.java	(revision 2613)
+++ trunk/test/unit/org/openstreetmap/josm/data/osm/visitor/MergeSourceBuildingVisitorTest.java	(revision 2620)
@@ -71,6 +71,5 @@
         Node n1 = new Node(1);
         Node n2 = new Node(2);
-        Way w1 = new Way(3);
-        w1.setIncomplete(false);
+        Way w1 = new Way(3, 1);
         w1.addNode(n1);
         w1.addNode(n2);
@@ -104,6 +103,5 @@
         Node n1 = new Node(1);
         Node n2 = new Node(2);
-        Way w1 = new Way(3);
-        w1.setIncomplete(false);
+        Way w1 = new Way(3, 1);
         w1.addNode(n1);
         w1.addNode(n2);
@@ -154,9 +152,7 @@
         DataSet source = new DataSet();
         Relation r1 = new Relation(1);
-        Node n20 = new Node(20);
+        Node n20 = new Node(20, 1);
         r1.addMember(new RelationMember("node-20",n20));
-        r1.setIncomplete(false);
-        Way w30 = new Way(30);
-        w30.setIncomplete(false);
+        Way w30 = new Way(30, 1);
         Node n21;
         w30.addNode(n21 = new Node(21));
@@ -216,6 +212,5 @@
         Node n20 = new Node(20);
         r1.addMember(new RelationMember("node-20",n20));
-        Way w30 = new Way(30);
-        w30.setIncomplete(false);
+        Way w30 = new Way(30, 1);
         Node n21;
         w30.addNode(n21 = new Node(21));
Index: trunk/test/unit/org/openstreetmap/josm/gui/conflict/nodes/NodeListMergeModelTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/gui/conflict/nodes/NodeListMergeModelTest.java	(revision 2613)
+++ trunk/test/unit/org/openstreetmap/josm/gui/conflict/nodes/NodeListMergeModelTest.java	(revision 2620)
@@ -29,5 +29,5 @@
     }
 
-    protected DefaultListSelectionModel inspectListSelectionModel(NodeListMergeModel model, String name) throws NoSuchFieldException, IllegalAccessException {
+    protected DefaultListSelectionModel inspectListSelectionModel(NodeListMergeModel model, String name) {
         return field(name).ofType(DefaultListSelectionModel.class)
         .in(model)
@@ -61,9 +61,8 @@
 
     @Test
-    public void test_copyMyNodesToTop_1() throws IllegalAccessException, NoSuchFieldException {
-        NodeListMergeModel model = new NodeListMergeModel();
-
-        Way myWay = new Way(1);
-        myWay.setIncomplete(false);
+    public void test_copyMyNodesToTop_1() {
+        NodeListMergeModel model = new NodeListMergeModel();
+
+        Way myWay = new Way(1, 1);
         myWay.addNode(new Node(2));
         myWay.addNode(new Node(3));
@@ -85,10 +84,9 @@
 
     @Test
-    public void test_copyMyNodesToTop_2() throws IllegalAccessException, NoSuchFieldException {
-        NodeListMergeModel model = new NodeListMergeModel();
-
-
-        Way myWay = new Way(1);
-        myWay.setIncomplete(false);
+    public void test_copyMyNodesToTop_2() {
+        NodeListMergeModel model = new NodeListMergeModel();
+
+
+        Way myWay = new Way(1, 1);
         myWay.addNode(new Node(2));
         myWay.addNode(new Node(3));
@@ -117,10 +115,9 @@
 
     @Test
-    public void test_copyMyNodesToTop_3() throws IllegalAccessException, NoSuchFieldException {
-        NodeListMergeModel model = new NodeListMergeModel();
-
-
-        Way myWay = new Way(1);
-        myWay.setIncomplete(false);
+    public void test_copyMyNodesToTop_3() {
+        NodeListMergeModel model = new NodeListMergeModel();
+
+
+        Way myWay = new Way(1, 1);
         myWay.addNode(new Node(2));
         myWay.addNode(new Node(3));
@@ -145,10 +142,9 @@
 
     @Test
-    public void test_copyMyNodesToTop_4() throws IllegalAccessException, NoSuchFieldException {
-        NodeListMergeModel model = new NodeListMergeModel();
-
-
-        Way myWay = new Way(1);
-        myWay.setIncomplete(false);
+    public void test_copyMyNodesToTop_4() {
+        NodeListMergeModel model = new NodeListMergeModel();
+
+
+        Way myWay = new Way(1, 1);
         myWay.addNode(new Node(2));
         myWay.addNode(new Node(3));
@@ -175,9 +171,8 @@
 
     @Test
-    public void test_copyMyNodesToEnd_1() throws IllegalAccessException, NoSuchFieldException {
-        NodeListMergeModel model = new NodeListMergeModel();
-
-        Way myWay = new Way(1);
-        myWay.setIncomplete(false);
+    public void test_copyMyNodesToEnd_1() {
+        NodeListMergeModel model = new NodeListMergeModel();
+
+        Way myWay = new Way(1, 1);
         myWay.addNode(new Node(2));
         myWay.addNode(new Node(3));
@@ -197,9 +192,8 @@
 
     @Test
-    public void test_copyMyNodesToEnd_2() throws IllegalAccessException, NoSuchFieldException {
-        NodeListMergeModel model = new NodeListMergeModel();
-
-        Way myWay = new Way(1);
-        myWay.setIncomplete(false);
+    public void test_copyMyNodesToEnd_2() {
+        NodeListMergeModel model = new NodeListMergeModel();
+
+        Way myWay = new Way(1, 1);
         myWay.addNode(new Node(2));
         myWay.addNode(new Node(3));
@@ -223,10 +217,9 @@
 
     @Test
-    public void test_copyMyNodesToEnd_3() throws IllegalAccessException, NoSuchFieldException {
-        NodeListMergeModel model = new NodeListMergeModel();
-
-
-        Way myWay = new Way(1);
-        myWay.setIncomplete(false);
+    public void test_copyMyNodesToEnd_3() {
+        NodeListMergeModel model = new NodeListMergeModel();
+
+
+        Way myWay = new Way(1, 1);
         myWay.addNode(new Node(2));
         myWay.addNode(new Node(3));
@@ -251,10 +244,9 @@
 
     @Test
-    public void test_copyMyNodesToEnd_4() throws IllegalAccessException, NoSuchFieldException {
-        NodeListMergeModel model = new NodeListMergeModel();
-
-
-        Way myWay = new Way(1);
-        myWay.setIncomplete(false);
+    public void test_copyMyNodesToEnd_4() {
+        NodeListMergeModel model = new NodeListMergeModel();
+
+
+        Way myWay = new Way(1, 1);
         myWay.addNode(new Node(2));
         myWay.addNode(new Node(3));
@@ -285,9 +277,8 @@
 
     @Test
-    public void test_copyMyNodesBeforeCurrent_1() throws IllegalAccessException, NoSuchFieldException {
-        NodeListMergeModel model = new NodeListMergeModel();
-
-        Way myWay = new Way(1);
-        myWay.setIncomplete(false);
+    public void test_copyMyNodesBeforeCurrent_1() {
+        NodeListMergeModel model = new NodeListMergeModel();
+
+        Way myWay = new Way(1, 1);
         myWay.addNode(new Node(1));
         myWay.addNode(new Node(2));
@@ -314,9 +305,8 @@
 
     @Test
-    public void test_copyMyNodesBeforeCurrent_2() throws IllegalAccessException, NoSuchFieldException {
-        NodeListMergeModel model = new NodeListMergeModel();
-
-        Way myWay = new Way(1);
-        myWay.setIncomplete(false);
+    public void test_copyMyNodesBeforeCurrent_2() {
+        NodeListMergeModel model = new NodeListMergeModel();
+
+        Way myWay = new Way(1, 1);
         myWay.addNode(new Node(1));
         myWay.addNode(new Node(2));
@@ -343,9 +333,8 @@
 
     @Test
-    public void test_copyMyNodesBeforeCurrent_3() throws IllegalAccessException, NoSuchFieldException {
-        NodeListMergeModel model = new NodeListMergeModel();
-
-        Way myWay = new Way(1);
-        myWay.setIncomplete(false);
+    public void test_copyMyNodesBeforeCurrent_3() {
+        NodeListMergeModel model = new NodeListMergeModel();
+
+        Way myWay = new Way(1, 1);
         myWay.addNode(new Node(1));
         myWay.addNode(new Node(2));
@@ -377,9 +366,8 @@
     /* ----------------------------------------------------------------------------- */
     @Test
-    public void test_copyMyNodesAfterCurrent_1() throws IllegalAccessException, NoSuchFieldException {
-        NodeListMergeModel model = new NodeListMergeModel();
-
-        Way myWay = new Way(1);
-        myWay.setIncomplete(false);
+    public void test_copyMyNodesAfterCurrent_1() {
+        NodeListMergeModel model = new NodeListMergeModel();
+
+        Way myWay = new Way(1, 1);
         myWay.addNode(new Node(1));
         myWay.addNode(new Node(2));
@@ -406,9 +394,8 @@
 
     @Test
-    public void test_copyMyNodesAfterCurrent_2() throws IllegalAccessException, NoSuchFieldException {
-        NodeListMergeModel model = new NodeListMergeModel();
-
-        Way myWay = new Way(1);
-        myWay.setIncomplete(false);
+    public void test_copyMyNodesAfterCurrent_2() {
+        NodeListMergeModel model = new NodeListMergeModel();
+
+        Way myWay = new Way(1, 1);
         myWay.addNode(new Node(1));
         myWay.addNode(new Node(2));
@@ -437,9 +424,8 @@
 
     @Test
-    public void test_copyMyNodesAfterCurrent_3() throws IllegalAccessException, NoSuchFieldException {
-        NodeListMergeModel model = new NodeListMergeModel();
-
-        Way myWay = new Way(1);
-        myWay.setIncomplete(false);
+    public void test_copyMyNodesAfterCurrent_3() {
+        NodeListMergeModel model = new NodeListMergeModel();
+
+        Way myWay = new Way(1, 1);
         myWay.addNode(new Node(1));
         myWay.addNode(new Node(2));
@@ -467,9 +453,8 @@
 
     @Test
-    public void test_copyMyNodesAfterCurrent_4() throws IllegalAccessException, NoSuchFieldException {
-        NodeListMergeModel model = new NodeListMergeModel();
-
-        Way myWay = new Way(1);
-        myWay.setIncomplete(false);
+    public void test_copyMyNodesAfterCurrent_4() {
+        NodeListMergeModel model = new NodeListMergeModel();
+
+        Way myWay = new Way(1, 1);
         myWay.addNode(new Node(1));
         myWay.addNode(new Node(2));
@@ -501,9 +486,8 @@
     /* ----------------------------------------------------------------------------- */
     @Test
-    public void test_moveUpMergedNodes_1() throws IllegalAccessException, NoSuchFieldException {
-        NodeListMergeModel model = new NodeListMergeModel();
-
-        Way myWay = new Way(1);
-        myWay.setIncomplete(false);
+    public void test_moveUpMergedNodes_1() {
+        NodeListMergeModel model = new NodeListMergeModel();
+
+        Way myWay = new Way(1, 1);
         myWay.addNode(new Node(1));
         myWay.addNode(new Node(2));
@@ -528,9 +512,8 @@
 
     @Test
-    public void test_moveUpMergedNodes_2() throws IllegalAccessException, NoSuchFieldException {
-        NodeListMergeModel model = new NodeListMergeModel();
-
-        Way myWay = new Way(1);
-        myWay.setIncomplete(false);
+    public void test_moveUpMergedNodes_2() {
+        NodeListMergeModel model = new NodeListMergeModel();
+
+        Way myWay = new Way(1, 1);
         myWay.addNode(new Node(1));
         myWay.addNode(new Node(2));
@@ -559,9 +542,8 @@
 
     @Test
-    public void test_moveUpMergedNodes_3() throws IllegalAccessException, NoSuchFieldException {
-        NodeListMergeModel model = new NodeListMergeModel();
-
-        Way myWay = new Way(1);
-        myWay.setIncomplete(false);
+    public void test_moveUpMergedNodes_3() {
+        NodeListMergeModel model = new NodeListMergeModel();
+
+        Way myWay = new Way(1, 1);
         myWay.addNode(new Node(1));
         myWay.addNode(new Node(2));
@@ -593,9 +575,8 @@
     /* ----------------------------------------------------------------------------- */
     @Test
-    public void test_moveDownMergedNodes_1() throws IllegalAccessException, NoSuchFieldException {
-        NodeListMergeModel model = new NodeListMergeModel();
-
-        Way myWay = new Way(1);
-        myWay.setIncomplete(false);
+    public void test_moveDownMergedNodes_1() {
+        NodeListMergeModel model = new NodeListMergeModel();
+
+        Way myWay = new Way(1, 1);
         myWay.addNode(new Node(1));
         myWay.addNode(new Node(2));
@@ -620,9 +601,8 @@
 
     @Test
-    public void test_moveDownMergedNodes_2() throws IllegalAccessException, NoSuchFieldException {
-        NodeListMergeModel model = new NodeListMergeModel();
-
-        Way myWay = new Way(1);
-        myWay.setIncomplete(false);
+    public void test_moveDownMergedNodes_2() {
+        NodeListMergeModel model = new NodeListMergeModel();
+
+        Way myWay = new Way(1, 1);
         myWay.addNode(new Node(1));
         myWay.addNode(new Node(2));
@@ -651,9 +631,8 @@
 
     @Test
-    public void test_moveDownMergedNodes_3() throws IllegalAccessException, NoSuchFieldException {
-        NodeListMergeModel model = new NodeListMergeModel();
-
-        Way myWay = new Way(1);
-        myWay.setIncomplete(false);
+    public void test_moveDownMergedNodes_3() {
+        NodeListMergeModel model = new NodeListMergeModel();
+
+        Way myWay = new Way(1, 1);
         myWay.addNode(new Node(1));
         myWay.addNode(new Node(2));
