Index: applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/mode/SelectMode.java
===================================================================
--- applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/mode/SelectMode.java	(revision 31374)
+++ applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/mode/SelectMode.java	(revision 31375)
@@ -48,58 +48,47 @@
     if (e.getButton() != MouseEvent.BUTTON1)
       return;
-    MapillaryAbstractImage closestTemp = getClosest(e.getPoint());
-    if (Main.map.mapView.getActiveLayer() instanceof OsmDataLayer && closestTemp != null
-        && Main.map.mapMode == Main.map.mapModeSelect) {
+    MapillaryAbstractImage closest = getClosest(e.getPoint());
+    if (Main.map.mapView.getActiveLayer() instanceof OsmDataLayer
+        && closest != null && Main.map.mapMode == Main.map.mapModeSelect) {
       this.lastClicked = this.closest;
-      MapillaryData.getInstance().setSelectedImage(closestTemp);
-      return;
-    } else if (Main.map.mapView.getActiveLayer() != MapillaryLayer.getInstance())
-      return;
-    if (closestTemp instanceof MapillaryImage || closestTemp == null) {
-      MapillaryImage closest = (MapillaryImage) closestTemp;
-      // Doube click
-      if (e.getClickCount() == 2 && data.getSelectedImage() != null && closest != null) {
-        for (MapillaryAbstractImage img : closest.getSequence().getImages()) {
-          data.addMultiSelectedImage(img);
-        }
-      }
-      this.start = e.getPoint();
-      this.lastClicked = this.closest;
-      this.closest = closest;
-      if (data.getMultiSelectedImages().contains(closest))
-        return;
-      // ctrl+click
-      if (e.getModifiers() == (MouseEvent.BUTTON1_MASK | MouseEvent.CTRL_MASK) && closest != null)
-        data.addMultiSelectedImage(closest);
-      // shift + click
-      else if (e.getModifiers() == (MouseEvent.BUTTON1_MASK | MouseEvent.SHIFT_MASK)
-          && this.closest instanceof MapillaryImage && this.lastClicked instanceof MapillaryImage) {
-        if (this.closest != null && this.lastClicked != null
-            && ((MapillaryImage) this.closest).getSequence() == ((MapillaryImage) this.lastClicked).getSequence()) {
-          int i = ((MapillaryImage) this.closest).getSequence().getImages().indexOf(this.closest);
-          int j = ((MapillaryImage) this.lastClicked).getSequence().getImages().indexOf(this.lastClicked);
-          if (i < j)
-            data.addMultiSelectedImage(new ArrayList<>(((MapillaryImage) this.closest).getSequence()
-                .getImages().subList(i, j + 1)));
-          else
-            data.addMultiSelectedImage(new ArrayList<>(((MapillaryImage) this.closest).getSequence()
-                .getImages().subList(j, i + 1)));
-        }
-        // click
-      } else
-        data.setSelectedImage(closest);
-      // If you select an imported image
-    } else if (closestTemp instanceof MapillaryImportedImage) {
-      MapillaryImportedImage closest = (MapillaryImportedImage) closestTemp;
-      this.start = e.getPoint();
-      this.lastClicked = this.closest;
-      this.closest = closest;
-      if (data.getMultiSelectedImages().contains(closest))
-        return;
-      if (e.getModifiers() == (MouseEvent.BUTTON1_MASK | MouseEvent.CTRL_MASK) && closest != null)
-        data.addMultiSelectedImage(closest);
-      else
-        data.setSelectedImage(closest);
-    }
+      MapillaryData.getInstance().setSelectedImage(closest);
+      return;
+    } else if (Main.map.mapView.getActiveLayer() != MapillaryLayer
+        .getInstance())
+      return;
+    // Double click
+    if (e.getClickCount() == 2 && data.getSelectedImage() != null
+        && closest != null) {
+      for (MapillaryAbstractImage img : closest.getSequence().getImages()) {
+        data.addMultiSelectedImage(img);
+      }
+    }
+    this.start = e.getPoint();
+    this.lastClicked = this.closest;
+    this.closest = closest;
+    if (data.getMultiSelectedImages().contains(closest))
+      return;
+    // ctrl+click
+    if (e.getModifiers() == (MouseEvent.BUTTON1_MASK | MouseEvent.CTRL_MASK)
+        && closest != null)
+      data.addMultiSelectedImage(closest);
+    // shift + click
+    else if (e.getModifiers() == (MouseEvent.BUTTON1_MASK | MouseEvent.SHIFT_MASK)
+        && this.lastClicked instanceof MapillaryImage) {
+      if (this.closest != null && this.lastClicked != null
+          && this.closest.getSequence() == (this.lastClicked).getSequence()) {
+        int i = this.closest.getSequence().getImages().indexOf(this.closest);
+        int j = this.lastClicked.getSequence().getImages()
+            .indexOf(this.lastClicked);
+        if (i < j)
+          data.addMultiSelectedImage(new ArrayList<>(this.closest.getSequence()
+              .getImages().subList(i, j + 1)));
+        else
+          data.addMultiSelectedImage(new ArrayList<>(this.closest.getSequence()
+              .getImages().subList(j, i + 1)));
+      }
+      // click
+    } else
+      data.setSelectedImage(closest);
   }
 
@@ -110,5 +99,6 @@
 
     if (!Main.pref.getBoolean("mapillary.developer"))
-      for (MapillaryAbstractImage img : MapillaryData.getInstance().getMultiSelectedImages()) {
+      for (MapillaryAbstractImage img : MapillaryData.getInstance()
+          .getMultiSelectedImages()) {
         if (img instanceof MapillaryImage)
           return;
@@ -118,5 +108,6 @@
         LatLon to = Main.map.mapView.getLatLon(e.getX(), e.getY());
         LatLon from = Main.map.mapView.getLatLon(start.getX(), start.getY());
-        for (MapillaryAbstractImage img : MapillaryData.getInstance().getMultiSelectedImages()) {
+        for (MapillaryAbstractImage img : MapillaryData.getInstance()
+            .getMultiSelectedImages()) {
 
           img.move(to.getX() - from.getX(), to.getY() - from.getY());
@@ -124,8 +115,11 @@
         Main.map.repaint();
       } else if (lastButton == MouseEvent.BUTTON1 && e.isShiftDown()) {
-        this.closest
-            .turn(Math.toDegrees(Math.atan2((e.getX() - start.x), -(e.getY() - start.y))) - closest.getTempCa());
-        for (MapillaryAbstractImage img : MapillaryData.getInstance().getMultiSelectedImages()) {
-          img.turn(Math.toDegrees(Math.atan2((e.getX() - start.x), -(e.getY() - start.y))) - closest.getTempCa());
+        this.closest.turn(Math.toDegrees(Math.atan2((e.getX() - start.x),
+            -(e.getY() - start.y)))
+            - closest.getTempCa());
+        for (MapillaryAbstractImage img : MapillaryData.getInstance()
+            .getMultiSelectedImages()) {
+          img.turn(Math.toDegrees(Math.atan2((e.getX() - start.x),
+              -(e.getY() - start.y))) - closest.getTempCa());
         }
         Main.map.repaint();
@@ -141,10 +135,12 @@
       double from = data.getSelectedImage().getTempCa();
       double to = data.getSelectedImage().getCa();
-      record.addCommand(new CommandTurnImage(data.getMultiSelectedImages(), to - from));
-    } else if (data.getSelectedImage().getTempLatLon() != data.getSelectedImage().getLatLon()) {
+      record.addCommand(new CommandTurnImage(data.getMultiSelectedImages(), to
+          - from));
+    } else if (data.getSelectedImage().getTempLatLon() != data
+        .getSelectedImage().getLatLon()) {
       LatLon from = data.getSelectedImage().getTempLatLon();
       LatLon to = data.getSelectedImage().getLatLon();
-      record.addCommand(new CommandMoveImage(data.getMultiSelectedImages(), to.getX() - from.getX(), to.getY()
-          - from.getY()));
+      record.addCommand(new CommandMoveImage(data.getMultiSelectedImages(), to
+          .getX() - from.getX(), to.getY() - from.getY()));
     }
     for (MapillaryAbstractImage img : data.getMultiSelectedImages()) {
@@ -160,19 +156,26 @@
   public void mouseMoved(MouseEvent e) {
     MapillaryAbstractImage closestTemp = getClosest(e.getPoint());
-    if (Main.map.mapView.getActiveLayer() instanceof OsmDataLayer && Main.map.mapMode != Main.map.mapModeSelect)
-      return;
-    if (closestTemp != null && Main.map.mapView.getActiveLayer() instanceof OsmDataLayer && !imageHighlighted) {
+    if (Main.map.mapView.getActiveLayer() instanceof OsmDataLayer
+        && Main.map.mapMode != Main.map.mapModeSelect)
+      return;
+    if (closestTemp != null
+        && Main.map.mapView.getActiveLayer() instanceof OsmDataLayer
+        && !imageHighlighted) {
       Main.map.mapMode.putValue("active", Boolean.FALSE);
       imageHighlighted = true;
 
-    } else if (closestTemp == null && Main.map.mapView.getActiveLayer() instanceof OsmDataLayer && imageHighlighted
-        && nothingHighlighted) {
+    } else if (closestTemp == null
+        && Main.map.mapView.getActiveLayer() instanceof OsmDataLayer
+        && imageHighlighted && nothingHighlighted) {
       nothingHighlighted = false;
       Main.map.mapMode.putValue("active", Boolean.TRUE);
 
-    } else if (imageHighlighted && !nothingHighlighted && Main.map.mapView != null
-        && Main.map.mapView.getEditLayer().data != null && Main.map.mapView.getActiveLayer() instanceof OsmDataLayer) {
-
-      for (OsmPrimitive primivitive : Main.map.mapView.getEditLayer().data.allPrimitives()) {
+    } else if (imageHighlighted && !nothingHighlighted
+        && Main.map.mapView != null
+        && Main.map.mapView.getEditLayer().data != null
+        && Main.map.mapView.getActiveLayer() instanceof OsmDataLayer) {
+
+      for (OsmPrimitive primivitive : Main.map.mapView.getEditLayer().data
+          .allPrimitives()) {
         primivitive.setHighlighted(false);
       }
@@ -181,11 +184,14 @@
     }
 
-    if (MapillaryData.getInstance().getHighlighted() != closestTemp && closestTemp != null) {
+    if (MapillaryData.getInstance().getHighlighted() != closestTemp
+        && closestTemp != null) {
       MapillaryData.getInstance().setHighlightedImage(closestTemp);
       MapillaryMainDialog.getInstance().setImage(closestTemp);
       MapillaryMainDialog.getInstance().updateImage();
-    } else if (MapillaryData.getInstance().getHighlighted() != closestTemp && closestTemp == null) {
+    } else if (MapillaryData.getInstance().getHighlighted() != closestTemp
+        && closestTemp == null) {
       MapillaryData.getInstance().setHighlightedImage(null);
-      MapillaryMainDialog.getInstance().setImage(MapillaryData.getInstance().getSelectedImage());
+      MapillaryMainDialog.getInstance().setImage(
+          MapillaryData.getInstance().getSelectedImage());
       MapillaryMainDialog.getInstance().updateImage();
     }
@@ -196,5 +202,5 @@
   public void paint(Graphics2D g, MapView mv, Bounds box) {
   }
-  
+
   @Override
   public String toString() {
