Index: trunk/src/org/openstreetmap/josm/data/validation/tests/TagChecker.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/validation/tests/TagChecker.java	(revision 8848)
+++ trunk/src/org/openstreetmap/josm/data/validation/tests/TagChecker.java	(revision 8849)
@@ -162,5 +162,5 @@
         harmonizedKeys.clear();
 
-        String errorSources = "";
+        StringBuilder errorSources = new StringBuilder();
         for (String source : Main.pref.getCollection(PREF_SOURCES, DEFAULT_SOURCES)) {
             try (
@@ -239,9 +239,9 @@
                 }
             } catch (IOException e) {
-                errorSources += source + '\n';
-            }
-        }
-
-        if (!errorSources.isEmpty())
+                errorSources.append(source).append('\n');
+            }
+        }
+
+        if (errorSources.length() > 0)
             throw new IOException(tr("Could not access data file(s):\n{0}", errorSources));
     }
Index: trunk/src/org/openstreetmap/josm/gui/conflict/tags/PasteTagsConflictResolverDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/tags/PasteTagsConflictResolverDialog.java	(revision 8848)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/tags/PasteTagsConflictResolverDialog.java	(revision 8849)
@@ -363,10 +363,10 @@
     private static final class StatisticsInfo {
         public int numTags;
-        public Map<OsmPrimitiveType, Integer> sourceInfo;
-        public Map<OsmPrimitiveType, Integer> targetInfo;
+        public final Map<OsmPrimitiveType, Integer> sourceInfo;
+        public final Map<OsmPrimitiveType, Integer> targetInfo;
 
         private StatisticsInfo() {
-            sourceInfo = new HashMap<>();
-            targetInfo = new HashMap<>();
+            sourceInfo = new EnumMap<>(OsmPrimitiveType.class);
+            targetInfo = new EnumMap<>(OsmPrimitiveType.class);
         }
     }
Index: trunk/src/org/openstreetmap/josm/gui/mappaint/LabelCompositionStrategy.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/mappaint/LabelCompositionStrategy.java	(revision 8848)
+++ trunk/src/org/openstreetmap/josm/gui/mappaint/LabelCompositionStrategy.java	(revision 8849)
@@ -263,9 +263,10 @@
 
         private String getPrimitiveName(OsmPrimitive n) {
-            String name = null;
+            StringBuilder name = new StringBuilder();
             if (!n.hasKeys()) return null;
             for (String rn : nameTags) {
-                name = n.get(rn);
-                if (name != null) {
+                String val = n.get(rn);
+                if (val != null) {
+                    name.append(val);
                     break;
                 }
@@ -274,13 +275,13 @@
                 String comp = n.get(rn);
                 if (comp != null) {
-                    if (name == null) {
-                        name = comp;
+                    if (name.length() == 0) {
+                        name.append(comp);
                     } else {
-                        name += " (" + comp + ')';
+                        name.append(" (").append(comp).append(')');
                     }
                     break;
                 }
             }
-            return name;
+            return name.toString();
         }
 
Index: trunk/src/org/openstreetmap/josm/io/GpxExporter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/GpxExporter.java	(revision 8848)
+++ trunk/src/org/openstreetmap/josm/io/GpxExporter.java	(revision 8849)
@@ -318,13 +318,16 @@
                 if (answer != JOptionPane.OK_OPTION || l.getSelectedIndex() == -1)
                     return;
-                String license = "";
+                StringBuilder license = new StringBuilder();
                 for (int i : l.getSelectedIndices()) {
                     if (i == 2) {
-                        license = "public domain";
+                        license = new StringBuilder("public domain");
                         break;
                     }
-                    license += license.isEmpty() ? URLS[i] : ", "+URLS[i];
+                    if (license.length() > 0) {
+                        license.append(", ");
+                    }
+                    license.append(URLS[i]);
                 }
-                copyright.setText(license);
+                copyright.setText(license.toString());
                 copyright.setCaretPosition(0);
             }
Index: trunk/src/org/openstreetmap/josm/tools/WikiReader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/WikiReader.java	(revision 8848)
+++ trunk/src/org/openstreetmap/josm/tools/WikiReader.java	(revision 8849)
@@ -120,8 +120,8 @@
         boolean transl = false;
         boolean skip = false;
-        String b = "";
-        String full = "";
+        StringBuilder b = new StringBuilder();
+        StringBuilder full = new StringBuilder();
         for (String line = in.readLine(); line != null; line = in.readLine()) {
-            full += line;
+            full.append(line);
             if (line.contains("<div id=\"searchable\">")) {
                 inside = true;
@@ -142,9 +142,9 @@
                 // add a border="0" attribute to images, otherwise the internal help browser
                 // will render a thick  border around images inside an <a> element
-                b += line.replaceAll("<img ", "<img border=\"0\" ")
+                b.append(line.replaceAll("<img ", "<img border=\"0\" ")
                          .replaceAll("<span class=\"icon\">.</span>", "")
                          .replaceAll("href=\"/", "href=\"" + baseurl + '/')
-                         .replaceAll(" />", ">")
-                         + '\n';
+                         .replaceAll(" />", ">"))
+                         .append('\n');
             } else if (transl && line.contains("</div>")) {
                 transl = false;
@@ -157,5 +157,5 @@
         || b.indexOf(" does not exist. You can create it here.</p>") >= 0)
             return "";
-        if (b.isEmpty())
+        if (b.length() == 0)
             b = full;
         return "<html><base href=\""+url.toExternalForm() +"\"> " + b + "</html>";
