Index: /trunk/src/org/openstreetmap/josm/data/imagery/WMTSTileSource.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/imagery/WMTSTileSource.java	(revision 9798)
+++ /trunk/src/org/openstreetmap/josm/data/imagery/WMTSTileSource.java	(revision 9799)
@@ -293,10 +293,8 @@
         factory.setProperty(XMLInputFactory.SUPPORT_DTD, false);
 
-        InputStream in = new CachedFile(baseUrl).
-                setHttpHeaders(headers).
+        try (CachedFile cf = new CachedFile(baseUrl); InputStream in = cf.setHttpHeaders(headers).
                 setMaxAge(7 * CachedFile.DAYS).
                 setCachingStrategy(CachedFile.CachingStrategy.IfModifiedSince).
-                getInputStream();
-        try {
+                getInputStream()) {
             byte[] data = Utils.readBytesFromStream(in);
             if (data == null || data.length == 0) {
Index: /trunk/src/org/openstreetmap/josm/data/projection/Projections.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/projection/Projections.java	(revision 9798)
+++ /trunk/src/org/openstreetmap/josm/data/projection/Projections.java	(revision 9799)
@@ -269,5 +269,6 @@
     public static List<ProjectionDefinition> loadProjectionDefinitions(String path) throws IOException {
         try (
-            InputStream in = new CachedFile(path).getInputStream();
+            CachedFile cf = new CachedFile(path);
+            InputStream in = cf.getInputStream();
             BufferedReader r = new BufferedReader(new InputStreamReader(in, StandardCharsets.UTF_8));
         ) {
Index: /trunk/src/org/openstreetmap/josm/data/validation/tests/MapCSSTagChecker.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/validation/tests/MapCSSTagChecker.java	(revision 9798)
+++ /trunk/src/org/openstreetmap/josm/data/validation/tests/MapCSSTagChecker.java	(revision 9799)
@@ -719,4 +719,6 @@
                 }
             }
+        } finally {
+            cache.close();
         }
         return result;
Index: /trunk/src/org/openstreetmap/josm/data/validation/tests/OpeningHourTest.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/validation/tests/OpeningHourTest.java	(revision 9798)
+++ /trunk/src/org/openstreetmap/josm/data/validation/tests/OpeningHourTest.java	(revision 9799)
@@ -53,6 +53,6 @@
         super.initialize();
         if (ENGINE != null) {
-            try (Reader reader = new InputStreamReader(
-                    new CachedFile("resource://data/validator/opening_hours.js").getInputStream(), StandardCharsets.UTF_8)) {
+            try (CachedFile cf = new CachedFile("resource://data/validator/opening_hours.js");
+                 Reader reader = new InputStreamReader(cf.getInputStream(), StandardCharsets.UTF_8)) {
                 ENGINE.eval(reader);
                 ENGINE.eval("var opening_hours = require('opening_hours');");
Index: /trunk/src/org/openstreetmap/josm/data/validation/tests/TagChecker.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/validation/tests/TagChecker.java	(revision 9798)
+++ /trunk/src/org/openstreetmap/josm/data/validation/tests/TagChecker.java	(revision 9799)
@@ -166,5 +166,6 @@
         for (String source : Main.pref.getCollection(PREF_SOURCES, DEFAULT_SOURCES)) {
             try (
-                InputStream s = new CachedFile(source).getInputStream();
+                CachedFile cf = new CachedFile(source);
+                InputStream s = cf.getInputStream();
                 BufferedReader reader = new BufferedReader(UTFInputStreamReader.create(s));
             ) {
Index: /trunk/src/org/openstreetmap/josm/gui/mappaint/MapPaintStyles.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/mappaint/MapPaintStyles.java	(revision 9798)
+++ /trunk/src/org/openstreetmap/josm/gui/mappaint/MapPaintStyles.java	(revision 9799)
@@ -324,4 +324,8 @@
             Main.warn(tr("Failed to load Mappaint styles from ''{0}''. Exception was: {1}", entry.url, e.toString()));
             Main.error(e);
+        } finally {
+            if (cf != null) {
+                cf.close();
+            }
         }
         return null;
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetReader.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetReader.java	(revision 9798)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetReader.java	(revision 9799)
@@ -323,6 +323,6 @@
             throws SAXException, IOException {
         Collection<TaggingPreset> tp;
-        CachedFile cf = new CachedFile(source).setHttpAccept(PRESET_MIME_TYPES);
         try (
+            CachedFile cf = new CachedFile(source).setHttpAccept(PRESET_MIME_TYPES);
             // zip may be null, but Java 7 allows it: https://blogs.oracle.com/darcy/entry/project_coin_null_try_with
             InputStream zip = cf.findZipEntryInputStream("xml", "preset")
Index: /trunk/src/org/openstreetmap/josm/tools/XmlObjectParser.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/XmlObjectParser.java	(revision 9798)
+++ /trunk/src/org/openstreetmap/josm/tools/XmlObjectParser.java	(revision 9799)
@@ -289,5 +289,5 @@
     public Iterable<Object> startWithValidation(final Reader in, String namespace, String schemaSource) throws SAXException {
         SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
-        try (InputStream mis = new CachedFile(schemaSource).getInputStream()) {
+        try (CachedFile cf = new CachedFile(schemaSource); InputStream mis = cf.getInputStream()) {
             Schema schema = factory.newSchema(new StreamSource(mis));
             ValidatorHandler validator = schema.newValidatorHandler();
