Index: trunk/src/org/openstreetmap/josm/tools/SubclassFilteredCollection.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/SubclassFilteredCollection.java	(revision 16060)
+++ trunk/src/org/openstreetmap/josm/tools/SubclassFilteredCollection.java	(revision 16061)
@@ -7,4 +7,6 @@
 import java.util.NoSuchElementException;
 import java.util.Objects;
+import java.util.Spliterator;
+import java.util.Spliterators;
 import java.util.function.Predicate;
 
@@ -87,12 +89,13 @@
 
     @Override
+    public Spliterator<T> spliterator() {
+        return Spliterators.spliteratorUnknownSize(iterator(), 0);
+    }
+
+    @Override
     public int size() {
         if (size == -1) {
             size = 0;
-            Iterator<T> it = iterator();
-            while (it.hasNext()) {
-                size++;
-                it.next();
-            }
+            forEach(t -> size++);
         }
         return size;
