Index: /applications/editors/josm/plugins/sds/src/org/openstreetmap/hot/sds/DetermineSdsModificationsUploadHook.java
===================================================================
--- /applications/editors/josm/plugins/sds/src/org/openstreetmap/hot/sds/DetermineSdsModificationsUploadHook.java	(revision 32704)
+++ /applications/editors/josm/plugins/sds/src/org/openstreetmap/hot/sds/DetermineSdsModificationsUploadHook.java	(revision 32705)
@@ -134,4 +134,5 @@
                        }
                        break;
+                   default: throw new AssertionError("unexpected case: " + old.getType());
                    }
                }
Index: /applications/editors/josm/plugins/sds/src/org/openstreetmap/hot/sds/SdsApi.java
===================================================================
--- /applications/editors/josm/plugins/sds/src/org/openstreetmap/hot/sds/SdsApi.java	(revision 32704)
+++ /applications/editors/josm/plugins/sds/src/org/openstreetmap/hot/sds/SdsApi.java	(revision 32705)
@@ -17,4 +17,5 @@
 import java.net.URL;
 import java.net.UnknownHostException;
+import java.nio.charset.StandardCharsets;
 import java.util.HashMap;
 import java.util.List;
@@ -399,5 +400,5 @@
                     // Unauthorized, see #3887.
                     //
-                    BufferedReader in = new BufferedReader(new InputStreamReader(i));
+                    BufferedReader in = new BufferedReader(new InputStreamReader(i, StandardCharsets.UTF_8));
                     String s;
                     while ((s = in.readLine()) != null) {
@@ -496,5 +497,5 @@
                         InputStream i = FixEncoding(activeConnection.getErrorStream(), encoding);
                         if (i != null) {
-                            BufferedReader in = new BufferedReader(new InputStreamReader(i));
+                            BufferedReader in = new BufferedReader(new InputStreamReader(i, StandardCharsets.UTF_8));
                             String s;
                             while ((s = in.readLine()) != null) {
Index: /applications/editors/josm/plugins/sds/src/org/openstreetmap/hot/sds/SdsMenu.java
===================================================================
--- /applications/editors/josm/plugins/sds/src/org/openstreetmap/hot/sds/SdsMenu.java	(revision 32704)
+++ /applications/editors/josm/plugins/sds/src/org/openstreetmap/hot/sds/SdsMenu.java	(revision 32705)
@@ -82,5 +82,5 @@
     }
 
-    private class SdsAboutAction extends JosmAction {
+    private static class SdsAboutAction extends JosmAction {
 
         SdsAboutAction() {
@@ -123,5 +123,5 @@
     }
 
-    private final class SdsPreferencesAction extends JosmAction implements Runnable {
+    private static final class SdsPreferencesAction extends JosmAction implements Runnable {
 
         private SdsPreferencesAction() {
Index: /applications/editors/josm/plugins/sds/src/org/openstreetmap/hot/sds/SdsPluginPreferences.java
===================================================================
--- /applications/editors/josm/plugins/sds/src/org/openstreetmap/hot/sds/SdsPluginPreferences.java	(revision 32704)
+++ /applications/editors/josm/plugins/sds/src/org/openstreetmap/hot/sds/SdsPluginPreferences.java	(revision 32705)
@@ -83,5 +83,5 @@
                 Main.pref.put(SDS_PASSWORD, new String(password.getPassword()));
                 try {
-                    api.requestShadowsFromSds(Collections.singletonList(new Long(1)), null, null, null);
+                    api.requestShadowsFromSds(Collections.singletonList(Long.valueOf(1L)), null, null, null);
                     JOptionPane.showMessageDialog(
                             Main.parent,
Index: /applications/editors/josm/plugins/sds/src/org/openstreetmap/hot/sds/SeparateDataStorePlugin.java
===================================================================
--- /applications/editors/josm/plugins/sds/src/org/openstreetmap/hot/sds/SeparateDataStorePlugin.java	(revision 32704)
+++ /applications/editors/josm/plugins/sds/src/org/openstreetmap/hot/sds/SeparateDataStorePlugin.java	(revision 32705)
@@ -51,5 +51,5 @@
     };
 
-    class QueueItem {
+    static class QueueItem {
         public IPrimitive primitive;
         public HashMap<String, String> tags;
@@ -97,6 +97,6 @@
         case WAY: return originalWays.get(other.getId());
         case RELATION: return originalRelations.get(other.getId());
+        default: throw new AssertionError("unexpected case: " + other.getType());
         }
-        return null;
     }
 
