Index: trunk/src/org/openstreetmap/josm/gui/io/importexport/WMSLayerExporter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/io/importexport/WMSLayerExporter.java	(revision 19533)
+++ trunk/src/org/openstreetmap/josm/gui/io/importexport/WMSLayerExporter.java	(revision 19534)
@@ -5,4 +5,5 @@
 import java.io.IOException;
 import java.io.ObjectOutputStream;
+import java.io.OutputStream;
 import java.nio.file.Files;
 
@@ -38,5 +39,5 @@
 
         if (layer instanceof AbstractTileSourceLayer) {
-            try (ObjectOutputStream oos = new ObjectOutputStream(Files.newOutputStream(file.toPath()))) {
+            try (OutputStream fos = Files.newOutputStream(file.toPath()); ObjectOutputStream oos = new ObjectOutputStream(fos)) {
                 oos.writeInt(CURRENT_FILE_VERSION); // file version
                 oos.writeObject(MainApplication.getMap().mapView.getCenter());
Index: trunk/src/org/openstreetmap/josm/gui/io/importexport/WMSLayerImporter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/io/importexport/WMSLayerImporter.java	(revision 19533)
+++ trunk/src/org/openstreetmap/josm/gui/io/importexport/WMSLayerImporter.java	(revision 19534)
@@ -6,4 +6,5 @@
 import java.io.File;
 import java.io.IOException;
+import java.io.InputStream;
 import java.io.InvalidClassException;
 import java.io.ObjectInputStream;
@@ -49,5 +50,5 @@
         final ImageryLayer layer;
 
-        try (ObjectInputStream ois = new ObjectInputStream(Files.newInputStream(file.toPath()))) {
+        try (InputStream fis = Files.newInputStream(file.toPath()); ObjectInputStream ois = new ObjectInputStream(fis)) {
             int sfv = ois.readInt();
             if (sfv < 5) {
Index: trunk/src/org/openstreetmap/josm/tools/PlatformHookWindows.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/PlatformHookWindows.java	(revision 19533)
+++ trunk/src/org/openstreetmap/josm/tools/PlatformHookWindows.java	(revision 19534)
@@ -473,59 +473,60 @@
             File cachePath = Config.getDirs().getCacheDirectory(true);
             Path fontconfigFile = cachePath.toPath().resolve("fontconfig.properties");
-            OutputStream os = Files.newOutputStream(fontconfigFile); // NOPMD
-            os.write(content);
-            try (Writer w = new BufferedWriter(new OutputStreamWriter(os, StandardCharsets.UTF_8))) {
-                Collection<FontEntry> extrasPref = StructUtils.getListOfStructs(Config.getPref(),
-                        "font.extended-unicode.extra-items", getAdditionalFonts(), FontEntry.class);
-                Collection<FontEntry> extras = new ArrayList<>();
-                w.append("\n\n# Added by JOSM to extend unicode coverage of Java font support:\n\n");
-                List<String> allCharSubsets = new ArrayList<>();
-                for (FontEntry entry: extrasPref) {
-                    Collection<String> fontsAvail = getInstalledFonts();
-                    if (fontsAvail != null && fontsAvail.contains(entry.file.toUpperCase(Locale.ENGLISH))) {
-                        if (!allCharSubsets.contains(entry.charset)) {
-                            allCharSubsets.add(entry.charset);
-                            extras.add(entry);
+            try (OutputStream os = Files.newOutputStream(fontconfigFile)) {
+                os.write(content);
+                try (Writer w = new BufferedWriter(new OutputStreamWriter(os, StandardCharsets.UTF_8))) {
+                    Collection<FontEntry> extrasPref = StructUtils.getListOfStructs(Config.getPref(),
+                            "font.extended-unicode.extra-items", getAdditionalFonts(), FontEntry.class);
+                    Collection<FontEntry> extras = new ArrayList<>();
+                    w.append("\n\n# Added by JOSM to extend unicode coverage of Java font support:\n\n");
+                    List<String> allCharSubsets = new ArrayList<>();
+                    for (FontEntry entry: extrasPref) {
+                        Collection<String> fontsAvail = getInstalledFonts();
+                        if (fontsAvail != null && fontsAvail.contains(entry.file.toUpperCase(Locale.ENGLISH))) {
+                            if (!allCharSubsets.contains(entry.charset)) {
+                                allCharSubsets.add(entry.charset);
+                                extras.add(entry);
+                            } else {
+                                Logging.trace("extended font config - already registered font for charset ''{0}'' - skipping ''{1}''",
+                                        entry.charset, entry.name);
+                            }
                         } else {
-                            Logging.trace("extended font config - already registered font for charset ''{0}'' - skipping ''{1}''",
-                                    entry.charset, entry.name);
+                            Logging.trace("extended font config - Font ''{0}'' not found on system - skipping", entry.name);
                         }
-                    } else {
-                        Logging.trace("extended font config - Font ''{0}'' not found on system - skipping", entry.name);
                     }
+                    for (FontEntry entry: extras) {
+                        allCharSubsets.add(entry.charset);
+                        if ("".equals(entry.name)) {
+                            continue;
+                        }
+                        String key = "allfonts." + entry.charset;
+                        String value = entry.name;
+                        String prevValue = props.getProperty(key);
+                        if (prevValue != null && !prevValue.equals(value)) {
+                            Logging.warn("extended font config - overriding ''{0}={1}'' with ''{2}''", key, prevValue, value);
+                        }
+                        w.append(key).append('=').append(value).append('\n');
+                    }
+                    w.append('\n');
+                    for (FontEntry entry: extras) {
+                        if ("".equals(entry.name) || "".equals(entry.file)) {
+                            continue;
+                        }
+                        String key = "filename." + entry.name.replace(' ', '_');
+                        String value = entry.file;
+                        String prevValue = props.getProperty(key);
+                        if (prevValue != null && !prevValue.equals(value)) {
+                            Logging.warn("extended font config - overriding ''{0}={1}'' with ''{2}''", key, prevValue, value);
+                        }
+                        w.append(key).append('=').append(value).append('\n');
+                    }
+                    w.append('\n');
+                    w.append("sequence.fallback=");
+                    String fallback = props.getProperty("sequence.fallback");
+                    if (fallback != null) {
+                        w.append(fallback).append(",");
+                    }
+                    w.append(String.join(",", allCharSubsets)).append("\n");
                 }
-                for (FontEntry entry: extras) {
-                    allCharSubsets.add(entry.charset);
-                    if ("".equals(entry.name)) {
-                        continue;
-                    }
-                    String key = "allfonts." + entry.charset;
-                    String value = entry.name;
-                    String prevValue = props.getProperty(key);
-                    if (prevValue != null && !prevValue.equals(value)) {
-                        Logging.warn("extended font config - overriding ''{0}={1}'' with ''{2}''", key, prevValue, value);
-                    }
-                    w.append(key).append('=').append(value).append('\n');
-                }
-                w.append('\n');
-                for (FontEntry entry: extras) {
-                    if ("".equals(entry.name) || "".equals(entry.file)) {
-                        continue;
-                    }
-                    String key = "filename." + entry.name.replace(' ', '_');
-                    String value = entry.file;
-                    String prevValue = props.getProperty(key);
-                    if (prevValue != null && !prevValue.equals(value)) {
-                        Logging.warn("extended font config - overriding ''{0}={1}'' with ''{2}''", key, prevValue, value);
-                    }
-                    w.append(key).append('=').append(value).append('\n');
-                }
-                w.append('\n');
-                w.append("sequence.fallback=");
-                String fallback = props.getProperty("sequence.fallback");
-                if (fallback != null) {
-                    w.append(fallback).append(",");
-                }
-                w.append(String.join(",", allCharSubsets)).append("\n");
             }
             Utils.updateSystemProperty("sun.awt.fontconfig", fontconfigFile.toString());
