Index: trunk/src/org/openstreetmap/josm/actions/UpdateSelectionAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/UpdateSelectionAction.java	(revision 2075)
+++ trunk/src/org/openstreetmap/josm/actions/UpdateSelectionAction.java	(revision 2077)
@@ -16,4 +16,5 @@
 import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
+import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
 import org.openstreetmap.josm.data.osm.Relation;
 import org.openstreetmap.josm.data.osm.Way;
@@ -39,7 +40,7 @@
      * @param id the primitive id
      */
-    protected void handlePrimitiveGoneException(long id) {
+    protected void handlePrimitiveGoneException(long id, OsmPrimitiveType type) {
         MultiFetchServerObjectReader reader = new MultiFetchServerObjectReader();
-        reader.append(getCurrentDataSet(),id);
+        reader.append(getCurrentDataSet(),id, type);
         DataSet ds = null;
         try {
@@ -73,8 +74,8 @@
      *
      */
-    public void updatePrimitive(long id) throws IllegalStateException{
+    public void updatePrimitive(OsmPrimitiveType type, long id) throws IllegalStateException{
         if (getEditLayer() == null)
             throw new IllegalStateException(tr("No current dataset found"));
-        OsmPrimitive primitive = getEditLayer().data.getPrimitiveById(id);
+        OsmPrimitive primitive = getEditLayer().data.getPrimitiveById(id, type);
         if (primitive == null)
             throw new IllegalStateException(tr("Didn't find a primitive with id {0} in the current dataset", id));
Index: trunk/src/org/openstreetmap/josm/actions/UploadAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/UploadAction.java	(revision 2075)
+++ trunk/src/org/openstreetmap/josm/actions/UploadAction.java	(revision 2077)
@@ -41,4 +41,5 @@
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
+import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
 import org.openstreetmap.josm.gui.ExceptionDialogUtil;
 import org.openstreetmap.josm.gui.ExtendedDialog;
@@ -191,6 +192,6 @@
      * @param id the primitive ID
      */
-    protected void synchronizePrimitive(final String id) {
-        Main.worker.execute(new UpdatePrimitiveTask(Long.parseLong(id)));
+    protected void synchronizePrimitive(final OsmPrimitiveType type, final long id) {
+        Main.worker.execute(new UpdatePrimitiveTask(type, id));
     }
 
@@ -217,7 +218,7 @@
      * @param myVersion  the version of the primitive in the local dataset
      */
-    protected void handleUploadConflictForKnownConflict(String primitiveType, String id, String serverVersion, String myVersion) {
+    protected void handleUploadConflictForKnownConflict(OsmPrimitiveType primitiveType, long id, String serverVersion, String myVersion) {
         Object[] options = new Object[] {
-                tr("Synchronize {0} {1} only", tr(primitiveType), id),
+                tr("Synchronize {0} {1} only", tr(primitiveType.getAPIName()), id),
                 tr("Synchronize entire dataset"),
                 tr("Cancel")
@@ -232,5 +233,5 @@
                 + "Click <strong>{5}</strong> to synchronize the entire local dataset with the server.<br>"
                 + "Click <strong>{6}</strong> to abort and continue editing.<br></html>",
-                tr(primitiveType), id, serverVersion, myVersion,
+                tr(primitiveType.getAPIName()), id, serverVersion, myVersion,
                 options[0], options[1], options[2]
         );
@@ -247,11 +248,11 @@
         );
         switch(ret) {
-            case JOptionPane.CLOSED_OPTION: return;
-            case JOptionPane.CANCEL_OPTION: return;
-            case 0: synchronizePrimitive(id); break;
-            case 1: synchronizeDataSet(); break;
-            default:
-                // should not happen
-                throw new IllegalStateException(tr("unexpected return value. Got {0}", ret));
+        case JOptionPane.CLOSED_OPTION: return;
+        case JOptionPane.CANCEL_OPTION: return;
+        case 0: synchronizePrimitive(primitiveType, id); break;
+        case 1: synchronizeDataSet(); break;
+        default:
+            // should not happen
+            throw new IllegalStateException(tr("unexpected return value. Got {0}", ret));
         }
     }
@@ -287,10 +288,10 @@
         );
         switch(ret) {
-            case JOptionPane.CLOSED_OPTION: return;
-            case 1: return;
-            case 0: synchronizeDataSet(); break;
-            default:
-                // should not happen
-                throw new IllegalStateException(tr("unexpected return value. Got {0}", ret));
+        case JOptionPane.CLOSED_OPTION: return;
+        case 1: return;
+        case 0: synchronizeDataSet(); break;
+        default:
+            // should not happen
+            throw new IllegalStateException(tr("unexpected return value. Got {0}", ret));
         }
     }
@@ -306,5 +307,5 @@
         Matcher m = p.matcher(e.getErrorHeader());
         if (m.matches()) {
-            handleUploadConflictForKnownConflict(m.group(3), m.group(4), m.group(2),m.group(1));
+            handleUploadConflictForKnownConflict(OsmPrimitiveType.from(m.group(3)), Long.parseLong(m.group(4)), m.group(2),m.group(1));
         } else {
             logger.warning(tr("Warning: error header \"{0}\" did not match expected pattern \"{1}\"", e.getErrorHeader(),pattern));
@@ -326,7 +327,7 @@
      * @see UpdateSelectionAction#handlePrimitiveGoneException(long)
      */
-    protected void handleGoneForKnownPrimitive(String primitiveType, String id) {
+    protected void handleGoneForKnownPrimitive(OsmPrimitiveType primitiveType, String id) {
         UpdateSelectionAction act = new UpdateSelectionAction();
-        act.handlePrimitiveGoneException(Long.parseLong(id));
+        act.handlePrimitiveGoneException(Long.parseLong(id),primitiveType);
     }
 
@@ -344,5 +345,5 @@
         Matcher m = p.matcher(e.getErrorHeader());
         if (m.matches()) {
-            handleGoneForKnownPrimitive(m.group(1), m.group(2));
+            handleGoneForKnownPrimitive(OsmPrimitiveType.from(m.group(1)), m.group(2));
         } else {
             logger.warning(tr("Error header \"{0}\" does not match expected pattern \"{1}\"",e.getErrorHeader(), pattern));
@@ -424,8 +425,10 @@
         private Exception lastException = null;
         private long id;
-
-        public UpdatePrimitiveTask(long id) {
+        private OsmPrimitiveType type;
+
+        public UpdatePrimitiveTask(OsmPrimitiveType type, long id) {
             super(tr("Updating primitive"),false /* don't ignore exceptions */);
             this.id = id;
+            this.type = type;
         }
 
@@ -433,5 +436,5 @@
             try {
                 UpdateSelectionAction act = new UpdateSelectionAction();
-                act.updatePrimitive(id);
+                act.updatePrimitive(type, id);
             } catch (Exception sxe) {
                 if (uploadCancelled) {
Index: trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTaskList.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTaskList.java	(revision 2075)
+++ trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTaskList.java	(revision 2077)
@@ -125,12 +125,46 @@
         final OsmDataLayer editLayer = Main.map.mapView.getEditLayer();
         if (editLayer != null) {
-            Set<Long> myPrimitiveIds = editLayer.data.getCompletePrimitiveIds();
-            Set<Long> downloadedIds = getDownloadedIds();
-            myPrimitiveIds.removeAll(downloadedIds);
-            myPrimitiveIds.remove(new Long(0)); // ignore new primitives
-            if (! myPrimitiveIds.isEmpty()) {
-                handlePotentiallyDeletedPrimitives(myPrimitiveIds);
-            }
-        }
+            Set<OsmPrimitive> myPrimitives = getCompletePrimitives(editLayer.data);
+            for (DownloadTask task : osmTasks) {
+                if(task instanceof DownloadOsmTask) {
+                    DataSet ds = ((DownloadOsmTask)task).getDownloadedData();
+                    if (ds != null) {
+                        myPrimitives.removeAll(ds.nodes);
+                        myPrimitives.removeAll(ds.ways);
+                        myPrimitives.removeAll(ds.relations);
+                    }
+                }
+            }
+            if (! myPrimitives.isEmpty()) {
+                handlePotentiallyDeletedPrimitives(myPrimitives);
+            }
+        }
+    }
+
+
+    /**
+     * Replies the set of ids of all complete primitives (i.e. those with
+     * ! primitive.incomplete)
+     *
+     * @return the set of ids of all complete primitives
+     */
+    protected Set<OsmPrimitive> getCompletePrimitives(DataSet ds) {
+        HashSet<OsmPrimitive> ret = new HashSet<OsmPrimitive>();
+        for (OsmPrimitive primitive : ds.nodes) {
+            if (!primitive.incomplete && primitive.getId() == 0) {
+                ret.add(primitive);
+            }
+        }
+        for (OsmPrimitive primitive : ds.ways) {
+            if (! primitive.incomplete && primitive.getId() == 0) {
+                ret.add(primitive);
+            }
+        }
+        for (OsmPrimitive primitive : ds.relations) {
+            if (! primitive.incomplete && primitive.getId() == 0) {
+                ret.add(primitive);;
+            }
+        }
+        return ret;
     }
 
@@ -141,9 +175,7 @@
      * @param potentiallyDeleted a set of ids to check update from the server
      */
-    protected void updatePotentiallyDeletedPrimitives(Set<Long> potentiallyDeleted) {
-        DataSet ds =  Main.map.mapView.getEditLayer().data;
+    protected void updatePotentiallyDeletedPrimitives(Set<OsmPrimitive> potentiallyDeleted) {
         final ArrayList<OsmPrimitive> toSelect = new ArrayList<OsmPrimitive>();
-        for (Long id : potentiallyDeleted) {
-            OsmPrimitive primitive = ds.getPrimitiveById(id);
+        for (OsmPrimitive primitive : potentiallyDeleted) {
             if (primitive != null) {
                 toSelect.add(primitive);
@@ -167,5 +199,5 @@
      * @param potentiallyDeleted a set of primitives (given by their ids)
      */
-    protected void handlePotentiallyDeletedPrimitives(Set<Long> potentiallyDeleted) {
+    protected void handlePotentiallyDeletedPrimitives(Set<OsmPrimitive> potentiallyDeleted) {
         String [] options = {
                 "Check on the server",
@@ -197,41 +229,8 @@
         );
         switch(ret) {
-            case JOptionPane.CLOSED_OPTION: return;
-            case JOptionPane.NO_OPTION: return;
-            case JOptionPane.YES_OPTION: updatePotentiallyDeletedPrimitives(potentiallyDeleted); break;
-        }
-    }
-
-    /**
-     * replies true, if the primitive with id <code>id</code> was downloaded into the
-     * dataset <code>ds</code>
-     *
-     * @param id the id
-     * @param ds the dataset
-     * @return true, if the primitive with id <code>id</code> was downloaded into the
-     * dataset <code>ds</code>; false otherwise
-     */
-    protected boolean wasDownloaded(long id, DataSet ds) {
-        OsmPrimitive primitive = ds.getPrimitiveById(id);
-        return primitive != null;
-    }
-
-    /**
-     * replies true, if the primitive with id <code>id</code> was downloaded into the
-     * dataset of one of the download tasks
-     *
-     * @param id the id
-     * @return true, if the primitive with id <code>id</code> was downloaded into the
-     * dataset of one of the download tasks
-     *
-     */
-    public boolean wasDownloaded(long id) {
-        for (DownloadTask task : osmTasks) {
-            if(task instanceof DownloadOsmTask) {
-                DataSet ds = ((DownloadOsmTask)task).getDownloadedData();
-                if(wasDownloaded(id,ds)) return true;
-            }
-        }
-        return false;
+        case JOptionPane.CLOSED_OPTION: return;
+        case JOptionPane.NO_OPTION: return;
+        case JOptionPane.YES_OPTION: updatePotentiallyDeletedPrimitives(potentiallyDeleted); break;
+        }
     }
 
@@ -241,11 +240,13 @@
      * @return the set of primitive ids which have been downloaded by this task list
      */
-    public Set<Long> getDownloadedIds() {
-        HashSet<Long> ret = new HashSet<Long>();
+    public Set<OsmPrimitive> getDownloadedPrimitives() {
+        HashSet<OsmPrimitive> ret = new HashSet<OsmPrimitive>();
         for (DownloadTask task : osmTasks) {
             if(task instanceof DownloadOsmTask) {
                 DataSet ds = ((DownloadOsmTask)task).getDownloadedData();
                 if (ds != null) {
-                    ret.addAll(ds.getPrimitiveIds());
+                    ret.addAll(ds.nodes);
+                    ret.addAll(ds.ways);
+                    ret.addAll(ds.relations);
                 }
             }
Index: trunk/src/org/openstreetmap/josm/data/osm/DataSet.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/DataSet.java	(revision 2075)
+++ trunk/src/org/openstreetmap/josm/data/osm/DataSet.java	(revision 2077)
@@ -313,17 +313,23 @@
      *
      * @param id  the id, > 0 required
+     * @param type the type of  the primitive. Must not be null.
      * @return the primitive
      * @exception IllegalArgumentException thrown, if id <= 0
-     */
-    public OsmPrimitive getPrimitiveById(long id) {
+     * @exception IllegalArgumentException thrown, if type is null
+     * @exception IllegalArgumentException thrown, if type is neither NODE, or WAY or RELATION
+     */
+    public OsmPrimitive getPrimitiveById(long id, OsmPrimitiveType type) {
         if (id <= 0)
             throw new IllegalArgumentException(tr("parameter {0} > 0 required. Got {1}.", "id", id));
-        for (OsmPrimitive primitive : nodes) {
-            if (primitive.getId() == id) return primitive;
-        }
-        for (OsmPrimitive primitive : ways) {
-            if (primitive.getId() == id) return primitive;
-        }
-        for (OsmPrimitive primitive : relations) {
+        if (id <= 0)
+            throw new IllegalArgumentException(tr("paramete''{0}'' must not be null", "type"));
+        Collection<? extends OsmPrimitive> primitives = null;
+        switch(type) {
+        case NODE: primitives = nodes; break;
+        case WAY: primitives = ways; break;
+        case RELATION: primitives = relations; break;
+        case CHANGESET: throw new IllegalArgumentException(tr("unsupported value ''{0}'' or parameter ''{1}''", type, "type"));
+        }
+        for (OsmPrimitive primitive : primitives) {
             if (primitive.getId() == id) return primitive;
         }
@@ -341,30 +347,4 @@
         for (OsmPrimitive primitive : relations) {
             ret.add(primitive.getId());
-        }
-        return ret;
-    }
-
-    /**
-     * Replies the set of ids of all complete primitives (i.e. those with
-     * ! primitive.incomplete)
-     *
-     * @return the set of ids of all complete primitives
-     */
-    public Set<Long> getCompletePrimitiveIds() {
-        HashSet<Long> ret = new HashSet<Long>();
-        for (OsmPrimitive primitive : nodes) {
-            if (!primitive.incomplete) {
-                ret.add(primitive.getId());
-            }
-        }
-        for (OsmPrimitive primitive : ways) {
-            if (! primitive.incomplete) {
-                ret.add(primitive.getId());
-            }
-        }
-        for (OsmPrimitive primitive : relations) {
-            if (! primitive.incomplete) {
-                ret.add(primitive.getId());
-            }
         }
         return ret;
Index: trunk/src/org/openstreetmap/josm/data/osm/OsmPrimitiveType.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/OsmPrimitiveType.java	(revision 2075)
+++ trunk/src/org/openstreetmap/josm/data/osm/OsmPrimitiveType.java	(revision 2077)
@@ -39,3 +39,12 @@
     }
 
+    public static OsmPrimitiveType from(String value) {
+        if (value == null) return null;
+        for (OsmPrimitiveType type: values()){
+            if (type.getAPIName().equalsIgnoreCase(value))
+                return type;
+        }
+        return null;
+    }
+
 }
Index: trunk/src/org/openstreetmap/josm/data/osm/Relation.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/Relation.java	(revision 2075)
+++ trunk/src/org/openstreetmap/josm/data/osm/Relation.java	(revision 2077)
@@ -112,5 +112,5 @@
      */
     public Relation() {
-
+        super(0);
     }
 
Index: trunk/src/org/openstreetmap/josm/data/osm/Way.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/Way.java	(revision 2075)
+++ trunk/src/org/openstreetmap/josm/data/osm/Way.java	(revision 2077)
@@ -3,4 +3,5 @@
 
 import java.util.ArrayList;
+
 import java.util.Arrays;
 import java.util.Collection;
@@ -10,4 +11,5 @@
 import org.openstreetmap.josm.tools.CopyList;
 import org.openstreetmap.josm.tools.Pair;
+import static org.openstreetmap.josm.tools.I18n.tr;
 
 /**
@@ -123,4 +125,5 @@
      */
     public Way(){
+        super(0);
     }
 
@@ -197,5 +200,15 @@
     }
 
-    public void addNode(Node n) {
+    /**
+     * Adds a node to the end of the list of nodes. Ignored, if n is null.
+     * 
+     * @param n the node. Ignored, if null.
+     * @throws IllegalStateException thrown, if this way is marked as incomplete. We can't add a node
+     * to an incomplete way
+     */
+    public void addNode(Node n) throws IllegalStateException {
+        if (n==null) return;
+        if (incomplete)
+            throw new IllegalStateException(tr("can't add node {0} to incomplete way {1}", n.getId(), getId()));
         if (incomplete) return;
         clearCached();
@@ -203,6 +216,17 @@
     }
 
-    public void addNode(int offs, Node n) {
-        if (incomplete) return;
+    /**
+     * Adds a node at position offs.
+     * 
+     * @param int offs the offset
+     * @param n the node. Ignored, if null.
+     * @throws IllegalStateException thrown, if this way is marked as incomplete. We can't add a node
+     * to an incomplete way
+     * @throws IndexOutOfBoundsException thrown if offs is out of bounds
+     */
+    public void addNode(int offs, Node n) throws IllegalStateException, IndexOutOfBoundsException {
+        if (n==null) return;
+        if (incomplete)
+            throw new IllegalStateException(tr("can't add node {0} to incomplete way {1}", n.getId(), getId()));
         clearCached();
         nodes.add(offs, n);
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableModel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableModel.java	(revision 2075)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableModel.java	(revision 2077)
@@ -21,4 +21,5 @@
 import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
+import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
 import org.openstreetmap.josm.data.osm.Relation;
 import org.openstreetmap.josm.data.osm.RelationMember;
@@ -86,10 +87,10 @@
     public Object getValueAt(int rowIndex, int columnIndex) {
         switch (columnIndex) {
-            case 0:
-                return members.get(rowIndex).getRole();
-            case 1:
-                return members.get(rowIndex).getMember();
-            case 2:
-                return linked(rowIndex);
+        case 0:
+            return members.get(rowIndex).getRole();
+        case 1:
+            return members.get(rowIndex).getMember();
+        case 2:
+            return linked(rowIndex);
         }
         // should not happen
@@ -201,5 +202,5 @@
                 continue;
             }
-            OsmPrimitive primitive = ds.getPrimitiveById(member.getMember().getId());
+            OsmPrimitive primitive = ds.getPrimitiveById(member.getMember().getId(), OsmPrimitiveType.from(member.getMember()));
             if (primitive != null) {
                 member.member = primitive;
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ParentRelationLoadingTask.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ParentRelationLoadingTask.java	(revision 2075)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ParentRelationLoadingTask.java	(revision 2077)
@@ -14,4 +14,5 @@
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.DataSource;
+import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
 import org.openstreetmap.josm.data.osm.Relation;
 import org.openstreetmap.josm.data.osm.visitor.MergeVisitor;
@@ -150,5 +151,5 @@
         parents.clear();
         for (Relation parent : referrers.relations) {
-            parents.add((Relation)getLayer().data.getPrimitiveById(parent.getId()));
+            parents.add((Relation)getLayer().data.getPrimitiveById(parent.getId(),OsmPrimitiveType.RELATION));
         }
         if (continuation != null) {
Index: trunk/src/org/openstreetmap/josm/io/MultiFetchServerObjectReader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/MultiFetchServerObjectReader.java	(revision 2075)
+++ trunk/src/org/openstreetmap/josm/io/MultiFetchServerObjectReader.java	(revision 2077)
@@ -110,9 +110,9 @@
      *   id=<code>id</code>
      */
-    protected void remember(DataSet ds, long id) throws IllegalArgumentException, NoSuchElementException{
+    protected void remember(DataSet ds, long id, OsmPrimitiveType type) throws IllegalArgumentException, NoSuchElementException{
         if (ds == null)
             throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "ds"));
         if (id <= 0) return;
-        OsmPrimitive primitive = ds.getPrimitiveById(id);
+        OsmPrimitive primitive = ds.getPrimitiveById(id, type);
         if (primitive == null)
             throw new NoSuchElementException(tr("no primitive with id {0} in local dataset. Can't infer primitive type", id));
@@ -122,37 +122,24 @@
 
     /**
-     * appends a list of  ids to the list of ids which will be fetched from the server. ds must
-     * include an {@see OsmPrimitive} for each id in ids.
-     *
-     * id is ignored if id <= 0.
-     *
-     * @param ds  the dataset
-     * @param ids  the list of ids
+     * appends a {@see Node}s id to the list of ids which will be fetched from the server.
+     *
+     * @param node  the node (ignored, if null)
      * @return this
      *
      */
-    public MultiFetchServerObjectReader append(DataSet ds, long ... ids)  {
-        if (ids == null) return this;
-        for (int i=0; i < ids.length; i++) {
-            remember(ds, ids[i]);
-        }
-        return this;
-    }
-
-    /**
-     * appends a collection of  ids to the list of ids which will be fetched from the server. ds must
-     * include an {@see OsmPrimitive} for each id in ids.
-     *
-     * id is ignored if id <= 0.
-     *
-     * @param ds  the dataset
-     * @param ids  the collection of ids
-     * @return this
-     *
-     */
-    public MultiFetchServerObjectReader append(DataSet ds, Collection<Long> ids) {
-        if (ids == null) return null;
-        for (long id: ids) {
-            append(ds,id);
+    public MultiFetchServerObjectReader append(DataSet ds, long id, OsmPrimitiveType type) {
+        switch(type) {
+        case NODE:
+            Node n = (Node)ds.getPrimitiveById(id,type);
+            append(n);
+            break;
+        case WAY:
+            Way w= (Way)ds.getPrimitiveById(id,type);
+            append(w);
+            break;
+        case RELATION:
+            Relation r = (Relation)ds.getPrimitiveById(id,type);
+            append(r);
+            break;
         }
         return this;
@@ -376,7 +363,7 @@
                 String msg = "";
                 switch(type) {
-                    case NODE: msg = tr("Fetching node with id {0} from ''{1}''", id, OsmApi.getOsmApi().getBaseUrl()); break;
-                    case WAY: msg = tr("Fetching way with id {0} from ''{1}''", id, OsmApi.getOsmApi().getBaseUrl()); break;
-                    case RELATION: msg = tr("Fetching relation with id {0} from ''{1}''", id, OsmApi.getOsmApi().getBaseUrl()); break;
+                case NODE: msg = tr("Fetching node with id {0} from ''{1}''", id, OsmApi.getOsmApi().getBaseUrl()); break;
+                case WAY: msg = tr("Fetching way with id {0} from ''{1}''", id, OsmApi.getOsmApi().getBaseUrl()); break;
+                case RELATION: msg = tr("Fetching relation with id {0} from ''{1}''", id, OsmApi.getOsmApi().getBaseUrl()); break;
                 }
                 progressMonitor.setCustomText(msg);
@@ -414,7 +401,7 @@
         String msg = "";
         switch(type) {
-            case NODE: msg = tr("Fetching a package of nodes from ''{0}''", OsmApi.getOsmApi().getBaseUrl()); break;
-            case WAY:  msg = tr("Fetching a package of ways from ''{0}''", OsmApi.getOsmApi().getBaseUrl()); break;
-            case RELATION:  msg = tr("Fetching a package of relations from ''{0}''", OsmApi.getOsmApi().getBaseUrl()); break;
+        case NODE: msg = tr("Fetching a package of nodes from ''{0}''", OsmApi.getOsmApi().getBaseUrl()); break;
+        case WAY:  msg = tr("Fetching a package of ways from ''{0}''", OsmApi.getOsmApi().getBaseUrl()); break;
+        case RELATION:  msg = tr("Fetching a package of relations from ''{0}''", OsmApi.getOsmApi().getBaseUrl()); break;
         }
         progressMonitor.setCustomText(msg);
