Index: trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadPrimitiveTask.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadPrimitiveTask.java	(revision 4178)
+++ 	(revision )
@@ -1,107 +1,0 @@
-// License: GPL. For details, see LICENSE file.
-package org.openstreetmap.josm.actions.downloadtasks;
-
-import static org.openstreetmap.josm.tools.CheckParameterUtil.ensureParameterNotNull;
-import static org.openstreetmap.josm.tools.I18n.tr;
-
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-
-import javax.swing.SwingUtilities;
-
-import org.openstreetmap.josm.actions.AutoScaleAction;
-import org.openstreetmap.josm.data.osm.DataSet;
-import org.openstreetmap.josm.data.osm.PrimitiveId;
-import org.openstreetmap.josm.gui.ExceptionDialogUtil;
-import org.openstreetmap.josm.gui.PleaseWaitRunnable;
-import org.openstreetmap.josm.gui.layer.OsmDataLayer;
-import org.openstreetmap.josm.gui.progress.ProgressMonitor;
-import org.openstreetmap.josm.io.OsmServerObjectReader;
-import org.openstreetmap.josm.io.OsmTransferException;
-import org.xml.sax.SAXException;
-
-/**
- * The asynchronous task for updating a collection of objects using multi fetch.
- *
- */
-public class DownloadPrimitiveTask extends PleaseWaitRunnable {
-    private DataSet ds;
-    private boolean canceled;
-    private Exception lastException;
-    private PrimitiveId primitiveId;
-    private OsmDataLayer layer;
-    private OsmServerObjectReader reader;
-
-    /**
-     * Creates the  task
-     *
-     * @param layer the layer in which primitives are updated. Must not be null.
-     * @param toUpdate a collection of primitives to update from the server. Set to
-     * the empty collection if null.
-     * @throws IllegalArgumentException thrown if layer is null.
-     */
-    public DownloadPrimitiveTask(PrimitiveId id, OsmDataLayer layer) {
-        super(tr("Download object"), false /* don't ignore exception */);
-        ensureParameterNotNull(layer, "layer");
-        this.layer = layer;
-        this.primitiveId = id;
-    }
-
-    @Override
-    protected void cancel() {
-        canceled = true;
-        synchronized(this) {
-            if (reader != null) {
-                reader.cancel();
-            }
-        }
-    }
-
-    @Override
-    protected void finish() {
-        if (canceled)
-            return;
-        if (lastException != null) {
-            ExceptionDialogUtil.explainException(lastException);
-            return;
-        }
-        Runnable r = new Runnable() {
-            public void run() {
-                layer.mergeFrom(ds);
-                layer.onPostDownloadFromServer();
-                AutoScaleAction.zoomTo(ds.allPrimitives());
-            }
-        };
-
-        if (SwingUtilities.isEventDispatchThread()) {
-            r.run();
-        } else {
-            try {
-                SwingUtilities.invokeAndWait(r);
-            } catch(InterruptedException e) {
-                e.printStackTrace();
-            } catch(InvocationTargetException e) {
-                e.printStackTrace();
-            }
-        }
-    }
-
-    @Override
-    protected void realRun() throws SAXException, IOException, OsmTransferException {
-        this.ds = new DataSet();
-        try {
-            synchronized(this) {
-                if (canceled) return;
-                reader = new OsmServerObjectReader(primitiveId, true);
-            }
-            ds = reader.parseOsm(progressMonitor.createSubTaskMonitor(ProgressMonitor.ALL_TICKS, false));
-            synchronized(this) {
-                reader = null;
-            }
-        } catch(Exception e) {
-            if (canceled)
-                return;
-            lastException = e;
-        }
-    }
-}
