Index: trunk/src/org/openstreetmap/josm/actions/SessionLoadAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/SessionLoadAction.java	(revision 6990)
+++ trunk/src/org/openstreetmap/josm/actions/SessionLoadAction.java	(revision 6992)
@@ -19,6 +19,6 @@
 
 import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.data.ViewportData;
 import org.openstreetmap.josm.gui.HelpAwareOptionPane;
-import org.openstreetmap.josm.gui.NavigatableComponent.ViewportData;
 import org.openstreetmap.josm.gui.PleaseWaitRunnable;
 import org.openstreetmap.josm.gui.layer.Layer;
Index: trunk/src/org/openstreetmap/josm/actions/mapmode/ParallelWayAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/mapmode/ParallelWayAction.java	(revision 6990)
+++ trunk/src/org/openstreetmap/josm/actions/mapmode/ParallelWayAction.java	(revision 6992)
@@ -25,4 +25,5 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.Bounds;
+import org.openstreetmap.josm.data.SystemOfMeasurement;
 import org.openstreetmap.josm.data.Preferences.PreferenceChangeEvent;
 import org.openstreetmap.josm.data.Preferences.PreferenceChangedListener;
@@ -36,5 +37,4 @@
 import org.openstreetmap.josm.gui.MapView;
 import org.openstreetmap.josm.gui.NavigatableComponent;
-import org.openstreetmap.josm.gui.NavigatableComponent.SystemOfMeasurement;
 import org.openstreetmap.josm.gui.layer.Layer;
 import org.openstreetmap.josm.gui.layer.MapViewPaintable;
@@ -429,10 +429,10 @@
             double snapDistance;
             SystemOfMeasurement som = NavigatableComponent.getSystemOfMeasurement();
-            if (som.equals(NavigatableComponent.CHINESE_SOM)) {
-                snapDistance = snapDistanceChinese * NavigatableComponent.CHINESE_SOM.aValue;
-            } else if (som.equals(NavigatableComponent.IMPERIAL_SOM)) {
-                snapDistance = snapDistanceImperial * NavigatableComponent.IMPERIAL_SOM.aValue;
-            } else if (som.equals(NavigatableComponent.NAUTICAL_MILE_SOM)) {
-                snapDistance = snapDistanceNautical * NavigatableComponent.NAUTICAL_MILE_SOM.aValue;
+            if (som.equals(SystemOfMeasurement.CHINESE)) {
+                snapDistance = snapDistanceChinese * SystemOfMeasurement.CHINESE.aValue;
+            } else if (som.equals(SystemOfMeasurement.IMPERIAL)) {
+                snapDistance = snapDistanceImperial * SystemOfMeasurement.IMPERIAL.aValue;
+            } else if (som.equals(SystemOfMeasurement.NAUTICAL_MILE)) {
+                snapDistance = snapDistanceNautical * SystemOfMeasurement.NAUTICAL_MILE.aValue;
             } else {
                 snapDistance = snapDistanceMetric; // Metric system by default
Index: trunk/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java	(revision 6990)
+++ trunk/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java	(revision 6992)
@@ -48,5 +48,4 @@
 import org.openstreetmap.josm.gui.MapFrame;
 import org.openstreetmap.josm.gui.MapView;
-import org.openstreetmap.josm.gui.NavigatableComponent;
 import org.openstreetmap.josm.gui.SelectionManager;
 import org.openstreetmap.josm.gui.SelectionManager.SelectionEnded;
@@ -248,5 +247,5 @@
      */
     private boolean giveUserFeedback(MouseEvent e, int modifiers) {
-        Collection<OsmPrimitive> c = MapView.asColl(
+        Collection<OsmPrimitive> c = asColl(
                 mv.getNearestNodeOrWay(e.getPoint(), OsmPrimitive.isSelectablePredicate, true));
 
@@ -431,5 +430,5 @@
             //  if nothing was selected, select primitive under cursor for scaling or rotating
             if (getCurrentDataSet().getSelected().isEmpty()) {
-                getCurrentDataSet().setSelected(MapView.asColl(nearestPrimitive));
+                getCurrentDataSet().setSelected(asColl(nearestPrimitive));
             }
 
@@ -446,5 +445,5 @@
             }
             OsmPrimitive toSelect = cycleManager.cycleSetup(nearestPrimitive, e.getPoint());
-            selectPrims(NavigatableComponent.asColl(toSelect), false, false);
+            selectPrims(asColl(toSelect), false, false);
             useLastMoveCommandIfPossible();
             // Schedule a timer to update status line "initialMoveDelay+1" ms in the future
@@ -522,5 +521,5 @@
                 needsRepaint = true;
             }
-            mv.setNewCursor(getCursor(MapView.asColl(p)), this);
+            mv.setNewCursor(getCursor(asColl(p)), this);
             // also update the stored mouse event, so we can display the correct cursor
             // when dragging a node onto another one and then press CTRL to merge
@@ -953,5 +952,5 @@
                 if (!(alt || multipleMatchesParameter)) {
                     // no real cycling, just one element in cycle list
-                    cycleList = MapView.asColl(osm);
+                    cycleList = asColl(osm);
 
                     if (waitForMouseUpParameter) {
@@ -1060,5 +1059,5 @@
             }
             // return one-element collection with one element to be selected (or added  to selection)
-            return MapView.asColl(nxt);
+            return asColl(nxt);
         }
     }
@@ -1162,3 +1161,12 @@
         }
     }
+
+    /**
+     * @return o as collection of o's type.
+     */
+    protected static <T> Collection<T> asColl(T o) {
+        if (o == null)
+            return Collections.emptySet();
+        return Collections.singleton(o);
+    }
 }
