Index: trunk/src/org/openstreetmap/josm/data/ImageData.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/ImageData.java	(revision 18443)
+++ trunk/src/org/openstreetmap/josm/data/ImageData.java	(revision 18444)
@@ -145,15 +145,4 @@
 
     /**
-     * Select the first image of the sequence
-     * @deprecated Use {@link #getFirstImage()} in conjunction with {@link #setSelectedImage}
-     */
-    @Deprecated
-    public void selectFirstImage() {
-        if (!data.isEmpty()) {
-            setSelectedImageIndex(0);
-        }
-    }
-
-    /**
      * Get the last image in the layer
      * @return The last image
@@ -165,13 +154,4 @@
         }
         return null;
-    }
-
-    /**
-     * Select the last image of the sequence
-     * @deprecated Use {@link #getLastImage()} with {@link #setSelectedImage}
-     */
-    @Deprecated
-    public void selectLastImage() {
-        setSelectedImageIndex(data.size() - 1);
     }
 
@@ -207,15 +187,4 @@
 
     /**
-     * Select the next image of the sequence
-     * @deprecated Use {@link #getNextImage()} in conjunction with {@link #setSelectedImage}
-     */
-    @Deprecated
-    public void selectNextImage() {
-        if (hasNextImage()) {
-            setSelectedImageIndex(selectedImagesIndex.get(0) + 1);
-        }
-    }
-
-    /**
      * Get the image previous to the current image
      * @return The previous image
@@ -235,16 +204,4 @@
     public boolean hasPreviousImage() {
         return (selectedImagesIndex.size() == 1 && selectedImagesIndex.get(0) - 1 > -1);
-    }
-
-    /**
-     * Select the previous image of the sequence
-     * @deprecated Use {@link #getPreviousImage()} with {@link #setSelectedImage}
-     */
-    @Deprecated
-    public void selectPreviousImage() {
-        if (data.isEmpty()) {
-            return;
-        }
-        setSelectedImageIndex(Integer.max(0, selectedImagesIndex.get(0) - 1));
     }
 
Index: trunk/test/unit/org/openstreetmap/josm/data/ImageDataTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/data/ImageDataTest.java	(revision 18443)
+++ trunk/test/unit/org/openstreetmap/josm/data/ImageDataTest.java	(revision 18444)
@@ -45,11 +45,11 @@
         assertEquals(0, data.getImages().size());
         assertNull(data.getSelectedImage());
-        data.selectFirstImage();
+        data.setSelectedImage(data.getFirstImage());
         assertNull(data.getSelectedImage());
-        data.selectLastImage();
+        data.setSelectedImage(data.getLastImage());
         assertNull(data.getSelectedImage());
-        data.selectFirstImage();
+        data.setSelectedImage(data.getFirstImage());
         assertNull(data.getSelectedImage());
-        data.selectPreviousImage();
+        data.setSelectedImage(data.getPreviousImage());
         assertNull(data.getSelectedImage());
         assertFalse(data.hasNextImage());
@@ -96,5 +96,5 @@
 
         ImageData data = new ImageData(list);
-        data.selectFirstImage();
+        data.setSelectedImage(data.getFirstImage());
         assertEquals(1, data.getSelectedImages().size());
         assertEquals(list.get(0), data.getSelectedImages().get(0));
@@ -107,5 +107,5 @@
 
         ImageData data = new ImageData(list);
-        data.selectLastImage();
+        data.setSelectedImage(data.getLastImage());
         assertEquals(1, data.getSelectedImages().size());
         assertEquals(list.get(1), data.getSelectedImages().get(0));
@@ -118,10 +118,10 @@
         ImageData data = new ImageData(list);
         assertTrue(data.hasNextImage());
-        data.selectNextImage();
+        data.setSelectedImage(data.getNextImage());
         assertEquals(1, data.getSelectedImages().size());
         assertEquals(list.get(0), data.getSelectedImages().get(0));
         assertFalse(data.hasNextImage());
-        data.selectNextImage();
-        assertEquals(list.get(0), data.getSelectedImages().get(0));
+        data.setSelectedImage(data.getNextImage());
+        assertTrue(data.getSelectedImages().isEmpty());
     }
 
@@ -133,11 +133,11 @@
         ImageData data = new ImageData(list);
         assertFalse(data.hasPreviousImage());
-        data.selectLastImage();
+        data.setSelectedImage(data.getLastImage());
         assertTrue(data.hasPreviousImage());
-        data.selectPreviousImage();
-        assertEquals(1, data.getSelectedImages().size());
-        assertEquals(list.get(0), data.getSelectedImages().get(0));
-        data.selectPreviousImage();
-        assertEquals(list.get(0), data.getSelectedImages().get(0));
+        data.setSelectedImage(data.getPreviousImage());
+        assertEquals(1, data.getSelectedImages().size());
+        assertEquals(list.get(0), data.getSelectedImages().get(0));
+        data.setSelectedImage(data.getPreviousImage());
+        assertTrue(data.getSelectedImages().isEmpty());
     }
 
@@ -177,6 +177,6 @@
         }};
         data.addImageDataUpdateListener(listener);
-        data.selectFirstImage();
-        data.selectFirstImage();
+        data.setSelectedImage(data.getFirstImage());
+        data.setSelectedImage(data.getFirstImage());
     }
 
@@ -187,5 +187,5 @@
 
         ImageData data = new ImageData(list);
-        data.selectFirstImage();
+        data.setSelectedImage(data.getFirstImage());
         data.addImageToSelection(list.get(1));
         data.removeSelectedImages();
@@ -199,7 +199,9 @@
         list.add(new ImageEntry());
         list.add(new ImageEntry());
-
-        ImageData data = new ImageData(list);
-        data.selectLastImage();
+        // The images cannot be equal -- otherwise, some code gives us the wrong result.
+        list.get(1).setPos(LatLon.NORTH_POLE);
+
+        ImageData data = new ImageData(list);
+        data.setSelectedImage(data.getLastImage());
         data.addImageToSelection(list.get(1));
         data.removeSelectedImages();
@@ -214,5 +216,5 @@
 
         ImageData data = new ImageData(list);
-        data.selectFirstImage();
+        data.setSelectedImage(data.getFirstImage());
         data.removeSelectedImages();
         assertEquals(1, data.getImages().size());
@@ -227,5 +229,5 @@
 
         ImageData data = new ImageData(list);
-        data.selectLastImage();
+        data.setSelectedImage(data.getLastImage());
         data.removeSelectedImages();
         assertEquals(1, data.getImages().size());
@@ -250,5 +252,5 @@
         }};
         data.addImageDataUpdateListener(listener);
-        data.selectFirstImage();
+        data.setSelectedImage(data.getFirstImage());
         data.removeSelectedImages();
     }
@@ -270,5 +272,5 @@
         }};
         data.addImageDataUpdateListener(listener);
-        data.selectFirstImage();
+        data.setSelectedImage(data.getFirstImage());
         data.removeSelectedImages();
     }
@@ -355,8 +357,8 @@
 
         ImageData data = new ImageData(list);
-        data.selectLastImage();
+        data.setSelectedImage(data.getLastImage());
         data.removeImageToSelection(list.get(1));
         assertEquals(0, data.getSelectedImages().size());
-        data.selectFirstImage();
+        data.setSelectedImage(data.getFirstImage());
         assertEquals(1, data.getSelectedImages().size());
     }
@@ -369,5 +371,5 @@
         ImageData data = new ImageData(list);
         assertFalse(data.isImageSelected(list.get(0)));
-        data.selectFirstImage();
+        data.setSelectedImage(data.getFirstImage());
         assertTrue(data.isImageSelected(list.get(0)));
         data.addImageToSelection(list.get(1));
@@ -394,5 +396,5 @@
         assertEquals(0, data.getSelectedImages().size());
         data.addImageToSelection(list.get(1));
-        data.selectFirstImage();
+        data.setSelectedImage(data.getFirstImage());
         assertEquals(1, data.getSelectedImages().size());
     }
@@ -414,5 +416,5 @@
         }};
         data.addImageDataUpdateListener(listener);
-        data.selectFirstImage();
+        data.setSelectedImage(data.getFirstImage());
         data.addImageToSelection(list.get(1));
         data.removeImageToSelection(list.get(0));
