Index: trunk/src/org/openstreetmap/josm/data/Preferences.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/Preferences.java	(revision 10787)
+++ trunk/src/org/openstreetmap/josm/data/Preferences.java	(revision 10788)
@@ -67,7 +67,7 @@
 import org.openstreetmap.josm.tools.CheckParameterUtil;
 import org.openstreetmap.josm.tools.ColorHelper;
-import org.openstreetmap.josm.tools.FilteredCollection;
 import org.openstreetmap.josm.tools.I18n;
 import org.openstreetmap.josm.tools.MultiMap;
+import org.openstreetmap.josm.tools.SubclassFilteredCollection;
 import org.openstreetmap.josm.tools.Utils;
 import org.xml.sax.SAXException;
@@ -507,5 +507,5 @@
     public synchronized void save() throws IOException {
         save(getPreferenceFile(),
-                new FilteredCollection<>(settingsMap.entrySet(), NO_DEFAULT_SETTINGS_ENTRY), false);
+                new SubclassFilteredCollection<>(settingsMap.entrySet(), NO_DEFAULT_SETTINGS_ENTRY), false);
     }
 
Index: trunk/src/org/openstreetmap/josm/data/osm/DataSet.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/DataSet.java	(revision 10787)
+++ trunk/src/org/openstreetmap/josm/data/osm/DataSet.java	(revision 10788)
@@ -47,5 +47,4 @@
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
 import org.openstreetmap.josm.gui.tagging.ac.AutoCompletionManager;
-import org.openstreetmap.josm.tools.FilteredCollection;
 import org.openstreetmap.josm.tools.SubclassFilteredCollection;
 import org.openstreetmap.josm.tools.Utils;
@@ -613,5 +612,5 @@
      */
     public Collection<OsmPrimitive> getSelectedNodesAndWays() {
-        return new FilteredCollection<>(getSelected(), primitive -> primitive instanceof Node || primitive instanceof Way);
+        return new SubclassFilteredCollection<>(getSelected(), primitive -> primitive instanceof Node || primitive instanceof Way);
     }
 
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/CommandStackDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/CommandStackDialog.java	(revision 10787)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/CommandStackDialog.java	(revision 10788)
@@ -12,4 +12,5 @@
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collection;
 import java.util.LinkedHashSet;
 import java.util.List;
@@ -45,9 +46,9 @@
 import org.openstreetmap.josm.gui.layer.OsmDataLayer.CommandQueueListener;
 import org.openstreetmap.josm.gui.widgets.PopupMenuLauncher;
-import org.openstreetmap.josm.tools.FilteredCollection;
 import org.openstreetmap.josm.tools.GBC;
 import org.openstreetmap.josm.tools.ImageProvider;
 import org.openstreetmap.josm.tools.InputMapUtils;
 import org.openstreetmap.josm.tools.Shortcut;
+import org.openstreetmap.josm.tools.SubclassFilteredCollection;
 
 /**
@@ -331,8 +332,8 @@
      * @return collection of affected primitives, onluy usable ones
      */
-    protected static FilteredCollection<? extends OsmPrimitive> getAffectedPrimitives(TreePath path) {
+    protected static Collection<? extends OsmPrimitive> getAffectedPrimitives(TreePath path) {
         PseudoCommand c = ((CommandListMutableTreeNode) path.getLastPathComponent()).getCommand();
         final OsmDataLayer currentLayer = Main.getLayerManager().getEditLayer();
-        return new FilteredCollection<>(
+        return new SubclassFilteredCollection<>(
                 c.getParticipatingPrimitives(),
                 o -> {
Index: trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java	(revision 10787)
+++ trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java	(revision 10788)
@@ -96,9 +96,9 @@
 import org.openstreetmap.josm.io.OsmImporter;
 import org.openstreetmap.josm.tools.CheckParameterUtil;
-import org.openstreetmap.josm.tools.FilteredCollection;
 import org.openstreetmap.josm.tools.GBC;
 import org.openstreetmap.josm.tools.ImageOverlay;
 import org.openstreetmap.josm.tools.ImageProvider;
 import org.openstreetmap.josm.tools.ImageProvider.ImageSizes;
+import org.openstreetmap.josm.tools.SubclassFilteredCollection;
 import org.openstreetmap.josm.tools.date.DateUtils;
 
@@ -425,7 +425,7 @@
 
     @Override public String getToolTipText() {
-        int nodes = new FilteredCollection<>(data.getNodes(), p -> !p.isDeleted()).size();
-        int ways = new FilteredCollection<>(data.getWays(), p -> !p.isDeleted()).size();
-        int rels = new FilteredCollection<>(data.getRelations(), p -> !p.isDeleted()).size();
+        int nodes = new SubclassFilteredCollection<>(data.getNodes(), p -> !p.isDeleted()).size();
+        int ways = new SubclassFilteredCollection<>(data.getWays(), p -> !p.isDeleted()).size();
+        int rels = new SubclassFilteredCollection<>(data.getRelations(), p -> !p.isDeleted()).size();
 
         String tool = trn("{0} node", "{0} nodes", nodes, nodes)+", ";
Index: trunk/src/org/openstreetmap/josm/tools/FilteredCollection.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/FilteredCollection.java	(revision 10787)
+++ 	(revision )
@@ -1,23 +1,0 @@
-// License: GPL. For details, see LICENSE file.
-package org.openstreetmap.josm.tools;
-
-import java.util.Collection;
-import java.util.function.Predicate;
-
-/**
- * The same as SubclassFilteredCollection, but does not restrict the type
- * of the collection to a certain subclass.
- * @param <T> element type of the underlying collection
- * @since 3802
- */
-public class FilteredCollection<T> extends SubclassFilteredCollection<T, T> {
-
-    /**
-     * Constructs a new {@code FilteredCollection}.
-     * @param collection The base collection to filter
-     * @param predicate The predicate to use as filter
-     */
-    public FilteredCollection(Collection<? extends T> collection, Predicate<? super T> predicate) {
-        super(collection, predicate);
-    }
-}
