Index: trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Functions.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Functions.java	(revision 15322)
+++ trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Functions.java	(revision 15323)
@@ -555,5 +555,5 @@
      * @since 15279
      */
-    public static List<String> sort(String... sortables) {
+    public static List<String> sort(String... sortables) { // NO_UCD (unused code)
         Arrays.parallelSort(sortables);
         return Arrays.asList(sortables);
@@ -566,7 +566,27 @@
      * @since 15279
      */
-    public static List<String> sort_list(List<String> sortables) {
+    public static List<String> sort_list(List<String> sortables) { // NO_UCD (unused code)
         Collections.sort(sortables);
         return sortables;
+    }
+
+    /**
+     * Get unique values
+     * @param values A list of values that may have duplicates
+     * @return A list with no duplicates
+     * @since 15323
+     */
+    public static List<String> uniq(String... values) { // NO_UCD (unused code)
+        return uniq_list(Arrays.asList(values));
+    }
+
+    /**
+     * Get unique values
+     * @param values A list of values that may have duplicates
+     * @return A list with no duplicates
+     * @since 15323
+     */
+    public static List<String> uniq_list(List<String> values) {
+        return values.stream().distinct().collect(Collectors.toList());
     }
 
Index: trunk/test/unit/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSParserTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSParserTest.java	(revision 15322)
+++ trunk/test/unit/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSParserTest.java	(revision 15323)
@@ -466,4 +466,12 @@
 
     @Test
+    public void testUniqueValues() throws Exception {
+        assertEquals(Arrays.asList(new String[] {"alpha", "beta"}),
+                Functions.uniq("alpha", "alpha", "alpha", "beta"));
+        assertEquals(Arrays.asList(new String[] {"one", "two", "three"}),
+                Functions.uniq_list(Arrays.asList(new String[] {"one", "one", "two", "two", "two", "three"})));
+    }
+
+    @Test
     public void testCountRoles() throws Exception {
         DataSet ds = new DataSet();
