Index: trunk/src/org/openstreetmap/josm/io/MirroredInputStream.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/MirroredInputStream.java	(revision 7057)
+++ trunk/src/org/openstreetmap/josm/io/MirroredInputStream.java	(revision 7058)
@@ -44,4 +44,5 @@
      *  <li>{@code file:///SOME/FILE} the same as above</li>
      *  <li>{@code resource://SOME/FILE} file from the classpath (usually in the current *.jar)</li>
+     *  <li>{@code josmdir://SOME/FILE} file inside josm config directory (since r7058)</li>
      *  <li>{@code http://...} a URL. It will be cached on disk.</li></ul>
      * @throws IOException when the resource with the given name could not be retrieved
@@ -58,4 +59,5 @@
      *  <li>{@code file:///SOME/FILE} the same as above</li>
      *  <li>{@code resource://SOME/FILE} file from the classpath (usually in the current *.jar)</li>
+     *  <li>{@code josmdir://SOME/FILE} file inside josm config directory (since r7058)</li>
      *  <li>{@code http://...} a URL. It will be cached on disk.</li></ul>
      * @param maxTime the maximum age of the cache file (in seconds)
@@ -73,4 +75,5 @@
      *  <li>{@code file:///SOME/FILE} the same as above</li>
      *  <li>{@code resource://SOME/FILE} file from the classpath (usually in the current *.jar)</li>
+     *  <li>{@code josmdir://SOME/FILE} file inside josm config directory (since r7058)</li>
      *  <li>{@code http://...} a URL. It will be cached on disk.</li></ul>
      * @param destDir the destination directory for the cache file. Only applies for URLs.
@@ -88,4 +91,5 @@
      *  <li>{@code file:///SOME/FILE} the same as above</li>
      *  <li>{@code resource://SOME/FILE} file from the classpath (usually in the current *.jar)</li>
+     *  <li>{@code josmdir://SOME/FILE} file inside josm config directory (since r7058)</li>
      *  <li>{@code http://...} a URL. It will be cached on disk.</li></ul>
      * @param destDir the destination directory for the cache file. Only applies for URLs.
@@ -104,4 +108,5 @@
      *  <li>{@code file:///SOME/FILE} the same as above</li>
      *  <li>{@code resource://SOME/FILE} file from the classpath (usually in the current *.jar)</li>
+     *  <li>{@code josmdir://SOME/FILE} file inside josm config directory (since r7058)</li>
      *  <li>{@code http://...} a URL. It will be cached on disk.</li></ul>
      * @param destDir the destination directory for the cache file. Only applies for URLs.
@@ -121,4 +126,5 @@
      *  <li>{@code file:///SOME/FILE} the same as above</li>
      *  <li>{@code resource://SOME/FILE} file from the classpath (usually in the current *.jar)</li>
+     *  <li>{@code josmdir://SOME/FILE} file inside josm config directory (since r7058)</li>
      *  <li>{@code http://...} a URL. It will be cached on disk.</li></ul>
      * @param destDir the destination directory for the cache file. Only applies for URLs.
@@ -147,6 +153,9 @@
                     throw new IOException(tr("Failed to open input stream for resource ''{0}''", name));
                 return;
-            }
-            file = new File(name);
+            } else if (name.startsWith("josmdir://")) {
+                file = new File(Main.pref.getPreferencesDir(), name.substring("josmdir://".length()));
+            } else {
+                file = new File(name);
+            }
         }
         if (file == null)
