Index: applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/tilesources/TemplatedTMSTileSource.java
===================================================================
--- applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/tilesources/TemplatedTMSTileSource.java	(revision 35420)
+++ applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/tilesources/TemplatedTMSTileSource.java	(revision 35421)
@@ -157,5 +157,5 @@
                 break;
             case "switch:":
-                replacement = randomParts[rand.nextInt(randomParts.length)];
+                replacement = getRandomPart(randomParts);
                 break;
             default:
@@ -164,5 +164,5 @@
                     replacement = Integer.toString((inverse_zoom ? -1 * zoom : zoom) + zoom_offset);
                 } else if (PATTERN_SWITCH.matcher("{" + matcher.group(1) + "}").matches()) {
-                    replacement = randomParts[rand.nextInt(randomParts.length)];
+                    replacement = getRandomPart(randomParts);
                 } else {
                     replacement = '{' + matcher.group(1) + '}';
@@ -173,4 +173,8 @@
         matcher.appendTail(url);
         return url.toString().replace(" ", "%20");
+    }
+
+    protected String getRandomPart(final String[] parts) {
+        return parts[rand.nextInt(parts.length)];
     }
 
