Index: trunk/src/org/openstreetmap/josm/actions/OpenLocationAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/OpenLocationAction.java	(revision 6261)
+++ trunk/src/org/openstreetmap/josm/actions/OpenLocationAction.java	(revision 6264)
@@ -156,10 +156,10 @@
      */
     public String findSummaryDocumentation() {
-        String result = "<table>";
+        StringBuilder result = new StringBuilder("<table>");
         for (Class<? extends DownloadTask> taskClass : downloadTasks) {
             if (taskClass != null) {
                 try {
                     DownloadTask task = taskClass.getConstructor().newInstance();
-                    result += task.acceptsDocumentationSummary();
+                    result.append(task.acceptsDocumentationSummary());
                 } catch (Exception e) {
                     e.printStackTrace();
@@ -167,6 +167,6 @@
             }
         }
-        result += "</table>";
-        return result;
+        result.append("</table>");
+        return result.toString();
     }
 
Index: trunk/src/org/openstreetmap/josm/corrector/ReverseWayNoTagCorrector.java
===================================================================
--- trunk/src/org/openstreetmap/josm/corrector/ReverseWayNoTagCorrector.java	(revision 6261)
+++ trunk/src/org/openstreetmap/josm/corrector/ReverseWayNoTagCorrector.java	(revision 6264)
@@ -64,10 +64,10 @@
             return tags.iterator().next().toString();
         } else if (tags.size() > 1) {
-            String s = "<ul>";
+            StringBuilder s = new StringBuilder("<ul>");
             for (Tag t : tags) {
-                s += "<li>" + t.toString() + "</li>";
+                s.append("<li>").append(t).append("</li>");
             }
-            s += "</ul>";
-            return s;
+            s.append("</ul>");
+            return s.toString();
         } else {
             return "";
Index: trunk/src/org/openstreetmap/josm/data/imagery/ImageryInfo.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/imagery/ImageryInfo.java	(revision 6261)
+++ trunk/src/org/openstreetmap/josm/data/imagery/ImageryInfo.java	(revision 6264)
@@ -144,13 +144,13 @@
             if (i.bounds != null) {
                 bounds = i.bounds.encodeAsString(",");
-                String shapesString = "";
+                StringBuilder shapesString = new StringBuilder();
                 for (Shape s : i.bounds.getShapes()) {
-                    if (!shapesString.isEmpty()) {
-                        shapesString += ";";
+                    if (shapesString.length() > 0) {
+                        shapesString.append(";");
                     }
-                    shapesString += s.encodeAsString(",");
-                }
-                if (!shapesString.isEmpty()) {
-                    shapes = shapesString;
+                    shapesString.append(s.encodeAsString(","));
+                }
+                if (shapesString.length() > 0) {
+                    shapes = shapesString.toString();
                 }
             }
Index: trunk/src/org/openstreetmap/josm/data/osm/TigerUtils.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/TigerUtils.java	(revision 6261)
+++ trunk/src/org/openstreetmap/josm/data/osm/TigerUtils.java	(revision 6264)
@@ -44,11 +44,12 @@
             }
         }
-        String combined = "";
+        StringBuilder combined = new StringBuilder();
         for (Object part : resultSet) {
-            if (combined.length() > 0)
-                combined += ":";
-            combined += part;
+            if (combined.length() > 0) {
+                combined.append(":");
+            }
+            combined.append(part);
         }
-        return combined;
+        return combined.toString();
     }
 
Index: trunk/src/org/openstreetmap/josm/data/osm/history/History.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/history/History.java	(revision 6261)
+++ trunk/src/org/openstreetmap/josm/data/osm/history/History.java	(revision 6264)
@@ -241,14 +241,14 @@
     @Override
     public String toString() {
-        String result = "History ["
-                + (type != null ? "type=" + type + ", " : "") + "id=" + id;
+        StringBuilder result = new StringBuilder("History ["
+                + (type != null ? "type=" + type + ", " : "") + "id=" + id);
         if (versions != null) {
-            result += ", versions=\n";
+            result.append(", versions=\n");
             for (HistoryOsmPrimitive v : versions) {
-                result += "\t" + v + ",\n";
+                result.append("\t").append(v).append(",\n");
             }
         }
-        result += "]";
-        return result;
+        result.append("]");
+        return result.toString();
     }
 }
Index: trunk/src/org/openstreetmap/josm/data/validation/TestError.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/validation/TestError.java	(revision 6261)
+++ trunk/src/org/openstreetmap/josm/data/validation/TestError.java	(revision 6264)
@@ -170,5 +170,5 @@
     public String getIgnoreState() {
         Collection<String> strings = new TreeSet<String>();
-        String ignorestring = getIgnoreSubGroup();
+        StringBuilder ignorestring = new StringBuilder(getIgnoreSubGroup());
         for (OsmPrimitive o : primitives) {
             // ignore data not yet uploaded
@@ -186,7 +186,7 @@
         }
         for (String o : strings) {
-            ignorestring += ":" + o;
-        }
-        return ignorestring;
+            ignorestring.append(":").append(o);
+        }
+        return ignorestring.toString();
     }
 
Index: trunk/src/org/openstreetmap/josm/data/validation/tests/TagChecker.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/validation/tests/TagChecker.java	(revision 6261)
+++ trunk/src/org/openstreetmap/josm/data/validation/tests/TagChecker.java	(revision 6264)
@@ -686,16 +686,14 @@
         Main.pref.put(PREF_USE_IGNORE_FILE, prefUseIgnoreFile.isSelected());
         Main.pref.put(PREF_USE_SPELL_FILE, prefUseSpellFile.isSelected());
-        String sources = "";
+        StringBuilder sources = new StringBuilder();
         if (sourcesList.getModel().getSize() > 0) {
-            String sb = "";
             for (int i = 0; i < sourcesList.getModel().getSize(); ++i) {
-                sb += ";"+sourcesList.getModel().getElementAt(i);
-            }
-            sources = sb.substring(1);
-        }
-        if (sources.length() == 0) {
-            sources = null;
-        }
-        return Main.pref.put(PREF_SOURCES, sources);
+                if (sources.length() > 0) {
+                    sources.append(";");
+                }
+                sources.append(sourcesList.getModel().getElementAt(i));
+            }
+        }
+        return Main.pref.put(PREF_SOURCES, sources.length() > 0 ? sources.toString() : null);
     }
 
Index: trunk/src/org/openstreetmap/josm/data/validation/util/MultipleNameVisitor.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/validation/util/MultipleNameVisitor.java	(revision 6261)
+++ trunk/src/org/openstreetmap/josm/data/validation/util/MultipleNameVisitor.java	(revision 6264)
@@ -33,5 +33,5 @@
      */
     public void visit(Collection<? extends OsmPrimitive> data) {
-        String multipleName = "";
+        StringBuilder multipleName = new StringBuilder();
         String multiplePluralClassname = null;
         size = data.size();
@@ -44,8 +44,8 @@
             }
             if (name != null && !name.isEmpty() && multipleName.length() <= MULTIPLE_NAME_MAX_LENGTH) {
-                if (!multipleName.isEmpty()) {
-                    multipleName += ", ";
+                if (multipleName.length() > 0) {
+                    multipleName.append(", ");
                 }
-                multipleName += name;
+                multipleName.append(name);
             }
 
@@ -64,5 +64,5 @@
         } else {
             displayName = size + " " + trn(multipleClassname, multiplePluralClassname, size);
-            if (!multipleName.isEmpty()) {
+            if (multipleName.length() > 0) {
                 if (multipleName.length() <= MULTIPLE_NAME_MAX_LENGTH) {
                     displayName += ": " + multipleName;
Index: trunk/src/org/openstreetmap/josm/gui/SplashScreen.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/SplashScreen.java	(revision 6261)
+++ trunk/src/org/openstreetmap/josm/gui/SplashScreen.java	(revision 6264)
@@ -40,4 +40,7 @@
     private SwingRenderingProgressMonitor progressMonitor;
 
+    /**
+     * Constructs a new {@code SplashScreen}.
+     */
     public SplashScreen() {
         super();
@@ -157,5 +160,5 @@
         public void setCustomText(String message) {
             if(message.isEmpty())
-                message = " "; /* prevent killing of additional line */
+                message = " "; // prevent killing of additional line
             lblCustomText.setText(message);
             repaint();
@@ -198,8 +201,8 @@
                 messages.add(taskTitle);
             }
-            String html = "";
+            StringBuilder html = new StringBuilder();
             int i = 0;
             for (String m : messages) {
-                html += "<p class=\"entry" + (++i) + "\">" + m + "</p>";
+                html.append("<p class=\"entry").append(++i).append("\">").append(m).append("</p>");
             }
 
Index: trunk/src/org/openstreetmap/josm/gui/conflict/pair/properties/PropertiesMerger.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/pair/properties/PropertiesMerger.java	(revision 6261)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/pair/properties/PropertiesMerger.java	(revision 6264)
@@ -311,10 +311,10 @@
         if (referrers.isEmpty())
             return tr("(none)");
-        String str = "<html>";
+        StringBuilder str = new StringBuilder("<html>");
         for (OsmPrimitive r: referrers) {
-            str = str + r.getDisplayName(DefaultNameFormatter.getInstance()) + "<br>";
-        }
-        str = str + "</html>";
-        return str;
+            str.append(r.getDisplayName(DefaultNameFormatter.getInstance())).append("<br>");
+        }
+        str.append("</html>");
+        return str.toString();
     }
 
Index: trunk/src/org/openstreetmap/josm/gui/conflict/tags/PasteTagsConflictResolverDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/tags/PasteTagsConflictResolverDialog.java	(revision 6261)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/tags/PasteTagsConflictResolverDialog.java	(revision 6264)
@@ -451,5 +451,5 @@
                 setIcon(ImageProvider.get("data", "object"));
             }
-            String text = "";
+            StringBuilder text = new StringBuilder();
             for (Entry<OsmPrimitiveType, Integer> entry: stat.entrySet()) {
                 OsmPrimitiveType type = entry.getKey();
@@ -464,7 +464,10 @@
                 case RELATION: msg = trn("{0} relation", "{0} relations", numPrimitives, numPrimitives); break;
                 }
-                text = text.isEmpty() ? msg : text + ", " + msg;
-            }
-            setText(text);
+                if (text.length() > 0) {
+                    text.append(", ");
+                }
+                text.append(msg);
+            }
+            setText(text.toString());
         }
 
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java	(revision 6261)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java	(revision 6264)
@@ -1228,5 +1228,5 @@
                 return;
             String sep = "";
-            String s = "";
+            StringBuilder s = new StringBuilder();
             for (OsmPrimitive p : sel) {
                 String val = p.get(key);
@@ -1244,11 +1244,11 @@
                     t = "type:relation ";
                 }
-                s += sep + "(" + t + "\"" +
-                        org.openstreetmap.josm.actions.search.SearchAction.escapeStringForSearch(key) + "\"=\"" +
-                        org.openstreetmap.josm.actions.search.SearchAction.escapeStringForSearch(val) + "\")";
+                s.append(sep).append("(").append(t).append("\"").append(
+                        org.openstreetmap.josm.actions.search.SearchAction.escapeStringForSearch(key)).append("\"=\"").append(
+                        org.openstreetmap.josm.actions.search.SearchAction.escapeStringForSearch(val)).append("\")");
                 sep = " OR ";
             }
 
-            SearchSetting ss = new SearchSetting(s, SearchMode.replace, true, false, false);
+            SearchSetting ss = new SearchSetting(s.toString(), SearchMode.replace, true, false, false);
             org.openstreetmap.josm.actions.search.SearchAction.searchWithoutHistory(ss);
         }
Index: trunk/src/org/openstreetmap/josm/gui/layer/WMSLayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/WMSLayer.java	(revision 6261)
+++ trunk/src/org/openstreetmap/josm/gui/layer/WMSLayer.java	(revision 6264)
@@ -1031,10 +1031,10 @@
     @Override
     public String nameSupportedProjections() {
-        String res = "";
-        for(String p : info.getServerProjections()) {
-            if(!res.isEmpty()) {
-                res += ", ";
-            }
-            res += p;
+        StringBuilder res = new StringBuilder();
+        for (String p : info.getServerProjections()) {
+            if (res.length() > 0) {
+                res.append(", ");
+            }
+            res.append(p);
         }
         return tr("Supported projections are: {0}", res);
Index: trunk/src/org/openstreetmap/josm/tools/WikiReader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/WikiReader.java	(revision 6261)
+++ trunk/src/org/openstreetmap/josm/tools/WikiReader.java	(revision 6264)
@@ -22,4 +22,7 @@
     }
 
+    /**
+     * Constructs a new {@code WikiReader}.
+     */
     public WikiReader() {
         this.baseurl = Main.pref.get("help.baseurl", Main.JOSM_WEBSITE);
@@ -86,8 +89,8 @@
 
     private String readNormal(BufferedReader in) throws IOException {
-        String b = "";
+        StringBuilder b = new StringBuilder();
         for (String line = in.readLine(); line != null; line = in.readLine()) {
             if (!line.contains("[[TranslatedPages]]")) {
-                b += line.replaceAll(" />", ">") + "\n";
+                b.append(line.replaceAll(" />", ">")).append("\n");
             }
         }
