Index: trunk/src/org/openstreetmap/josm/data/osm/DataSet.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/DataSet.java	(revision 13915)
+++ trunk/src/org/openstreetmap/josm/data/osm/DataSet.java	(revision 13916)
@@ -607,26 +607,6 @@
 
     @Override
-    public Collection<OsmPrimitive> getSelected() {
-        return new SubclassFilteredCollection<>(getAllSelected(), p -> !p.isDeleted());
-    }
-
-    @Override
     public Collection<OsmPrimitive> getAllSelected() {
         return currentSelectedPrimitives;
-    }
-
-    @Override
-    public Collection<Node> getSelectedNodes() {
-        return new SubclassFilteredCollection<>(getSelected(), Node.class::isInstance);
-    }
-
-    @Override
-    public Collection<Way> getSelectedWays() {
-        return new SubclassFilteredCollection<>(getSelected(), Way.class::isInstance);
-    }
-
-    @Override
-    public Collection<Relation> getSelectedRelations() {
-        return new SubclassFilteredCollection<>(getSelected(), Relation.class::isInstance);
     }
 
Index: trunk/src/org/openstreetmap/josm/data/osm/OsmData.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/OsmData.java	(revision 13915)
+++ trunk/src/org/openstreetmap/josm/data/osm/OsmData.java	(revision 13916)
@@ -14,4 +14,5 @@
 import org.openstreetmap.josm.data.osm.event.SelectionEventManager;
 import org.openstreetmap.josm.data.osm.visitor.BoundingXYVisitor;
+import org.openstreetmap.josm.tools.SubclassFilteredCollection;
 
 /**
@@ -332,5 +333,7 @@
      * @return unmodifiable collection of primitives
      */
-    Collection<O> getSelected();
+    default Collection<O> getSelected() {
+        return new SubclassFilteredCollection<>(getAllSelected(), p -> !p.isDeleted());
+    }
 
     /**
@@ -348,5 +351,7 @@
      * @return selected nodes
      */
-    Collection<N> getSelectedNodes();
+    default Collection<N> getSelectedNodes() {
+        return new SubclassFilteredCollection<>(getSelected(), Node.class::isInstance);
+    }
 
     /**
@@ -354,5 +359,7 @@
      * @return selected ways
      */
-    Collection<W> getSelectedWays();
+    default Collection<W> getSelectedWays() {
+        return new SubclassFilteredCollection<>(getSelected(), Way.class::isInstance);
+    }
 
     /**
@@ -360,5 +367,7 @@
      * @return selected relations
      */
-    Collection<R> getSelectedRelations();
+    default Collection<R> getSelectedRelations() {
+        return new SubclassFilteredCollection<>(getSelected(), Relation.class::isInstance);
+    }
 
     /**
