Index: trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Functions.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Functions.java	(revision 15590)
+++ trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Functions.java	(revision 15591)
@@ -983,4 +983,16 @@
 
     /**
+     * Trim whitespaces from the strings {@code strings}.
+     *
+     * @param strings The list of strings to strip
+     * @return The resulting string
+     * @see Utils#strip
+     * @since 15591
+     */
+    public static List<String> trim_list(List<String> strings) {
+        return strings.stream().map(Utils::strip).filter(str -> !str.isEmpty()).collect(Collectors.toList());
+    }
+
+    /**
      * Check if two strings are similar, but not identical, i.e., have a Levenshtein distance of 1 or 2.
      * @param string1 first string to compare
Index: trunk/test/unit/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSParserTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSParserTest.java	(revision 15590)
+++ trunk/test/unit/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSParserTest.java	(revision 15591)
@@ -325,4 +325,17 @@
     }
 
+    /**
+     * Test case for {@link Functions#trim_list}
+     */
+    @Test
+    public void testTrimList() {
+        List<String> trimmed = Functions.trim_list(Arrays.asList(" A1 ", "A2", " A3", "A4 ", ""));
+        assertEquals(4, trimmed.size());
+        assertEquals("A1", trimmed.get(0));
+        assertEquals("A2", trimmed.get(1));
+        assertEquals("A3", trimmed.get(2));
+        assertEquals("A4", trimmed.get(3));
+    }
+
     @Test
     public void testTicket8568() throws Exception {
