Index: trunk/src/org/openstreetmap/josm/actions/MapRectifierWMSmenuAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/MapRectifierWMSmenuAction.java	(revision 15292)
+++ trunk/src/org/openstreetmap/josm/actions/MapRectifierWMSmenuAction.java	(revision 15293)
@@ -204,5 +204,5 @@
                 if (m.find()) {
                     String id = m.group(1);
-                    String newURL = s.wmsUrl.replaceAll("__s__", id);
+                    String newURL = s.wmsUrl.replace("__s__", id);
                     String title = s.name + " (" + id + ')';
                     addWMSLayer(title, newURL);
@@ -211,5 +211,5 @@
                 // If not, look if it's a valid ID for the selected service
                 if (s.idValidator.matcher(text).matches()) {
-                    String newURL = s.wmsUrl.replaceAll("__s__", text);
+                    String newURL = s.wmsUrl.replace("__s__", text);
                     String title = s.name + " (" + text + ')';
                     addWMSLayer(title, newURL);
Index: trunk/src/org/openstreetmap/josm/data/validation/tests/ConditionalKeys.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/validation/tests/ConditionalKeys.java	(revision 15292)
+++ trunk/src/org/openstreetmap/josm/data/validation/tests/ConditionalKeys.java	(revision 15293)
@@ -106,5 +106,5 @@
             return false;
         }
-        final String[] parts = key.replaceAll(":conditional", "").split(":");
+        final String[] parts = key.replace(":conditional", "").split(":");
         return isKeyValid3Parts(parts) || isKeyValid1Part(parts) || isKeyValid2Parts(parts);
     }
Index: trunk/src/org/openstreetmap/josm/gui/autofilter/AutoFilterRule.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/autofilter/AutoFilterRule.java	(revision 15292)
+++ trunk/src/org/openstreetmap/josm/gui/autofilter/AutoFilterRule.java	(revision 15293)
@@ -97,5 +97,5 @@
             new AutoFilterRule("layer", 16),
             new AutoFilterRule("maxspeed", 16)
-                .setValueFormatter(s -> s.replaceAll(" mph", "")),
+                .setValueFormatter(s -> s.replace(" mph", "")),
             new AutoFilterRule("voltage", 5)
                 .setValueFormatter(s -> s.replaceAll("000$", "k") + 'V')
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/MapPaintDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/MapPaintDialog.java	(revision 15292)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/MapPaintDialog.java	(revision 15293)
@@ -706,5 +706,5 @@
                 // Add settings not in groups
                 final List<StyleSetting> allStylesInGroups = style.settingGroups.values().stream()
-                        .flatMap(l -> l.stream()).collect(Collectors.toList());
+                        .flatMap(List<StyleSetting>::stream).collect(Collectors.toList());
                 for (StyleSetting s : style.settings.stream()
                         .filter(s -> !allStylesInGroups.contains(s)).collect(Collectors.toList())) {
Index: trunk/src/org/openstreetmap/josm/gui/mappaint/BooleanStyleSettingGui.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/mappaint/BooleanStyleSettingGui.java	(revision 15292)
+++ trunk/src/org/openstreetmap/josm/gui/mappaint/BooleanStyleSettingGui.java	(revision 15293)
@@ -48,5 +48,5 @@
         }
 
-        public void doClickWithoutRepaint(int pressTime) {
+        void doClickWithoutRepaint(int pressTime) {
             noRepaint = true;
             doClick(pressTime);
Index: trunk/src/org/openstreetmap/josm/gui/mappaint/StyleSetting.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/mappaint/StyleSetting.java	(revision 15292)
+++ trunk/src/org/openstreetmap/josm/gui/mappaint/StyleSetting.java	(revision 15293)
@@ -54,4 +54,19 @@
 
         @Override
+        public int hashCode() {
+            return Objects.hash(label, parentStyle);
+        }
+
+        @Override
+        public boolean equals(Object obj) {
+            if (this == obj)
+                return true;
+            if (obj == null || getClass() != obj.getClass())
+                return false;
+            LabeledStyleSetting other = (LabeledStyleSetting) obj;
+            return Objects.equals(label, other.label) && Objects.equals(parentStyle, other.parentStyle);
+        }
+
+        @Override
         public int compareTo(LabeledStyleSetting o) {
             return label.compareTo(o.label);
@@ -64,5 +79,7 @@
      */
     class StyleSettingGroup extends LabeledStyleSetting {
+        /** group identifier */
         public final String key;
+        /** group icon (optional) */
         public final Icon icon;
 
@@ -73,4 +90,11 @@
         }
 
+        /**
+         * Creates a new {@code StyleSettingGroup}.
+         * @param c cascade
+         * @param parentStyle parent style source
+         * @param key group identifier
+         * @return newly created {@code StyleSettingGroup}
+         */
         public static StyleSettingGroup create(Cascade c, StyleSource parentStyle, String key) {
             String label = c.get("label", null, String.class);
@@ -98,4 +122,11 @@
         }
 
+        /**
+         * Creates a new {@code BooleanStyleSetting}.
+         * @param c cascade
+         * @param parentStyle parent style source
+         * @param key setting identifier
+         * @return newly created {@code BooleanStyleSetting}
+         */
         public static BooleanStyleSetting create(Cascade c, StyleSource parentStyle, String key) {
             String label = c.get("label", null, String.class);
Index: trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetItem.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetItem.java	(revision 15292)
+++ trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetItem.java	(revision 15293)
@@ -102,5 +102,5 @@
 
     protected static String fixPresetString(String s) {
-        return s == null ? s : s.replaceAll("'", "''");
+        return s == null ? s : s.replace("'", "''");
     }
 
Index: trunk/src/org/openstreetmap/josm/gui/util/StayOpenCheckBoxMenuItemUI.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/util/StayOpenCheckBoxMenuItemUI.java	(revision 15292)
+++ trunk/src/org/openstreetmap/josm/gui/util/StayOpenCheckBoxMenuItemUI.java	(revision 15293)
@@ -66,4 +66,9 @@
     }
 
+    /**
+     * Creates a new {@code StayOpenCheckBoxMenuItemUI}.
+     * @param c not used
+     * @return newly created {@code StayOpenCheckBoxMenuItemUI}
+     */
     public static ComponentUI createUI(JComponent c) {
         return new StayOpenCheckBoxMenuItemUI();
Index: trunk/src/org/openstreetmap/josm/io/CachedFile.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/CachedFile.java	(revision 15292)
+++ trunk/src/org/openstreetmap/josm/io/CachedFile.java	(revision 15293)
@@ -422,5 +422,5 @@
         }
         prefKey.append(url.toString().replaceAll("%<(.*)>", ""));
-        return prefKey.toString().replaceAll("=", "_");
+        return prefKey.toString().replace("=", "_");
     }
 
Index: trunk/src/org/openstreetmap/josm/tools/PlatformHookUnixoid.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/PlatformHookUnixoid.java	(revision 15292)
+++ trunk/src/org/openstreetmap/josm/tools/PlatformHookUnixoid.java	(revision 15293)
@@ -229,5 +229,5 @@
                 if (line != null && !line.isEmpty()) {
                     line = line.replaceAll("\"+", "");
-                    line = line.replaceAll("NAME=", ""); // strange code for some Gentoo's
+                    line = line.replace("NAME=", ""); // strange code for some Gentoo's
                     if (line.startsWith("Linux ")) // e.g. Linux Mint
                         return line;
Index: trunk/src/org/openstreetmap/josm/tools/TextUtils.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/TextUtils.java	(revision 15292)
+++ trunk/src/org/openstreetmap/josm/tools/TextUtils.java	(revision 15293)
@@ -19,5 +19,5 @@
      */
     public static String wrapLongUrl(String url) {
-        return url.replaceAll("/", "/\u200b").replaceAll("&", "&\u200b");
+        return url.replace("/", "/\u200b").replace("&", "&\u200b");
     }
 }
Index: trunk/src/org/openstreetmap/josm/tools/WikiReader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/WikiReader.java	(revision 15292)
+++ trunk/src/org/openstreetmap/josm/tools/WikiReader.java	(revision 15293)
@@ -107,5 +107,5 @@
         for (String line = in.readLine(); line != null; line = in.readLine()) {
             if (!line.contains("[[TranslatedPages]]")) {
-                b.append(line.replaceAll(" />", ">")).append('\n');
+                b.append(line.replace(" />", ">")).append('\n');
             }
         }
@@ -140,9 +140,9 @@
                 // will render a thick  border around images inside an <a> element
                 // remove width information to avoid distorded images (fix #11262)
-                b.append(line.replaceAll("<img ", "<img border=\"0\" ")
+                b.append(line.replace("<img ", "<img border=\"0\" ")
                          .replaceAll("width=\"(\\d+)\"", "")
                          .replaceAll("<span class=\"icon\">.</span>", "")
-                         .replaceAll("href=\"/", "href=\"" + baseurl + '/')
-                         .replaceAll(" />", ">"))
+                         .replace("href=\"/", "href=\"" + baseurl + '/')
+                         .replace(" />", ">"))
                          .append('\n');
             } else if (transl && line.contains("</div>")) {
