Index: /trunk/src/org/openstreetmap/josm/data/osm/FilterMatcher.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/osm/FilterMatcher.java	(revision 12382)
+++ /trunk/src/org/openstreetmap/josm/data/osm/FilterMatcher.java	(revision 12383)
@@ -325,3 +325,17 @@
     }
 
+    /**
+     * Returns a new {@code FilterMatcher} containing the given filters.
+     * @param filters filters to add to the resulting filter matcher
+     * @return a new {@code FilterMatcher} containing the given filters
+     * @throws ParseError if the search expression in a filter cannot be parsed
+     * @since 12383
+     */
+    public static FilterMatcher of(Filter... filters) throws ParseError {
+        FilterMatcher result = new FilterMatcher();
+        for (Filter filter : filters) {
+            result.add(filter);
+        }
+        return result;
+    }
 }
Index: /trunk/src/org/openstreetmap/josm/data/osm/FilterWorker.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/osm/FilterWorker.java	(revision 12382)
+++ /trunk/src/org/openstreetmap/josm/data/osm/FilterWorker.java	(revision 12383)
@@ -5,4 +5,5 @@
 import java.util.Collections;
 
+import org.openstreetmap.josm.actions.search.SearchCompiler.ParseError;
 import org.openstreetmap.josm.data.osm.FilterMatcher.FilterType;
 import org.openstreetmap.josm.tools.SubclassFilteredCollection;
@@ -19,4 +20,17 @@
     private FilterWorker() {
         // Hide default constructor for utils classes
+    }
+
+    /**
+     * Apply the filters to the primitives of the data set.
+     *
+     * @param all the collection of primitives for that the filter state should be updated
+     * @param filters the filters
+     * @return true, if the filter state (normal / disabled / hidden) of any primitive has changed in the process
+     * @throws ParseError if the search expression in a filter cannot be parsed
+     * @since 12383
+     */
+    public static boolean executeFilters(Collection<OsmPrimitive> all, Filter... filters) throws ParseError {
+        return executeFilters(all, FilterMatcher.of(filters));
     }
 
