Index: trunk/src/org/openstreetmap/josm/data/osm/DataSet.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/DataSet.java	(revision 5061)
+++ trunk/src/org/openstreetmap/josm/data/osm/DataSet.java	(revision 5062)
@@ -1167,16 +1167,5 @@
     public void mergeFrom(DataSet from) {
         if (from != null) {
-            for (Node n : from.getNodes()) {
-                from.removePrimitive(n);
-                addPrimitive(n);
-            }
-            for (Way w : from.getWays()) {
-                from.removePrimitive(w);
-                addPrimitive(w);
-            }
-            for (Relation r : from.getRelations()) {
-                from.removePrimitive(r);
-                addPrimitive(r);
-            }
+            new DataSetMerger(this, from).merge();
             dataSources.addAll(from.dataSources);
             from.dataSources.clear();
