Index: applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/JMapViewer.java
===================================================================
--- applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/JMapViewer.java	(revision 29171)
+++ applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/JMapViewer.java	(revision 29173)
@@ -106,5 +106,5 @@
     public JMapViewer(TileCache tileCache, int downloadThreadCount) {
         super();
-        JobDispatcher.WORKER_THREAD_MAX_COUNT = downloadThreadCount;
+        JobDispatcher.setMaxWorkers(downloadThreadCount);
         tileSource = new OsmTileSource.Mapnik();
         tileController = new TileController(tileSource, tileCache, this);
Index: applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/JobDispatcher.java
===================================================================
--- applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/JobDispatcher.java	(revision 29171)
+++ applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/JobDispatcher.java	(revision 29173)
@@ -12,6 +12,6 @@
  * A generic class that processes a list of {@link Runnable} one-by-one using
  * one or more {@link Thread}-instances. The number of instances varies between
- * 1 and {@link #WORKER_THREAD_MAX_COUNT} (default: 8). If an instance is idle
- * more than {@link #WORKER_THREAD_TIMEOUT} seconds (default: 30), the instance
+ * 1 and {@link #workerThreadMaxCount} (default: 8). If an instance is idle
+ * more than {@link #workerThreadTimeout} seconds (default: 30), the instance
  * ends itself.
  *
@@ -35,5 +35,5 @@
     protected BlockingDeque<TileJob> jobQueue = new LinkedBlockingDeque<TileJob>();
 
-    public static int WORKER_THREAD_MAX_COUNT = 8;
+    protected static int workerThreadMaxCount = 8;
 
     /**
@@ -43,5 +43,5 @@
      * ignores the timeout and will never terminate itself.
      */
-    public static int WORKER_THREAD_TIMEOUT = 30;
+    protected static int workerThreadTimeout = 30;
 
     /**
@@ -76,5 +76,5 @@
      */
     static public void setMaxWorkers(int workers) {
-        WORKER_THREAD_MAX_COUNT = workers;
+        workerThreadMaxCount = workers;
     }
 
@@ -105,5 +105,5 @@
             }
             jobQueue.put(job);
-            if (workerThreadIdleCount == 0 && workerThreadCount < WORKER_THREAD_MAX_COUNT)
+            if (workerThreadIdleCount == 0 && workerThreadCount < workerThreadMaxCount)
                 addWorkerThread();
         } catch (InterruptedException e) {
@@ -149,10 +149,10 @@
                             job = jobQueue.takeLast();
                         else
-                            job = jobQueue.pollLast(WORKER_THREAD_TIMEOUT, TimeUnit.SECONDS);
+                            job = jobQueue.pollLast(workerThreadTimeout, TimeUnit.SECONDS);
                     } else {
                         if (firstThread)
                             job = jobQueue.take();
                         else
-                            job = jobQueue.poll(WORKER_THREAD_TIMEOUT, TimeUnit.SECONDS);
+                            job = jobQueue.poll(workerThreadTimeout, TimeUnit.SECONDS);
                     }
                 } catch (InterruptedException e1) {
