Index: trunk/src/org/openstreetmap/josm/gui/layer/imagery/ReprojectionTile.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/imagery/ReprojectionTile.java	(revision 12147)
+++ trunk/src/org/openstreetmap/josm/gui/layer/imagery/ReprojectionTile.java	(revision 12148)
@@ -65,5 +65,5 @@
      * @return true if the tile should be reprojected again from the source image.
      */
-    public boolean needsUpdate(double currentScale) {
+    public synchronized boolean needsUpdate(double currentScale) {
         if (Utils.equalsEpsilon(nativeScale, currentScale))
             return false;
Index: trunk/src/org/openstreetmap/josm/gui/preferences/projection/AbstractProjectionChoice.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/projection/AbstractProjectionChoice.java	(revision 12147)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/projection/AbstractProjectionChoice.java	(revision 12148)
@@ -8,4 +8,9 @@
 import org.openstreetmap.josm.data.projection.Projections;
 
+/**
+ * Super class for ProjectionChoice implementations.
+ * <p>
+ * Handles common parameters <code>name</code>, <code>id</code> and <code>cacheDir</code>.
+ */
 public abstract class AbstractProjectionChoice implements ProjectionChoice {
 
Index: trunk/src/org/openstreetmap/josm/gui/preferences/projection/CustomProjectionChoice.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/projection/CustomProjectionChoice.java	(revision 12147)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/projection/CustomProjectionChoice.java	(revision 12148)
@@ -34,4 +34,11 @@
 import org.openstreetmap.josm.tools.ImageProvider;
 
+/**
+ * ProjectionChoice where a CRS can be defined using various parameters.
+ * <p>
+ * The configuration string mimics the syntax of the PROJ.4 project and should
+ * be mostly compatible.
+ * @see CustomProjection
+ */
 public class CustomProjectionChoice extends AbstractProjectionChoice implements SubPrefsOptions {
 
Index: trunk/src/org/openstreetmap/josm/gui/preferences/projection/GaussKruegerProjectionChoice.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/projection/GaussKruegerProjectionChoice.java	(revision 12147)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/projection/GaussKruegerProjectionChoice.java	(revision 12148)
@@ -9,4 +9,9 @@
 import org.openstreetmap.josm.Main;
 
+/**
+ * ProjectionChoice for Gauß-Krüger coordinate system (zones 2-5, EPSG:31466-31469).
+ * <p>
+ * @see <a link="https://de.wikipedia.org/wiki/Gauß-Krüger-Koordinatensystem">Gauß-Krüger</a>
+ */
 public class GaussKruegerProjectionChoice extends ListProjectionChoice {
 
Index: trunk/src/org/openstreetmap/josm/gui/preferences/projection/LambertCC9ZonesProjectionChoice.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/projection/LambertCC9ZonesProjectionChoice.java	(revision 12147)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/projection/LambertCC9ZonesProjectionChoice.java	(revision 12148)
@@ -15,4 +15,9 @@
 import org.openstreetmap.josm.tools.ImageProvider;
 
+/**
+ * ProjectionChoice for Lambert CC (9 zones, EPSG:3942-3950).
+ * <p>
+ * @see <a link="https://fr.wikipedia.org/wiki/Projection_conique_conforme_de_Lambert#Lambert_zone_CC">Lambert CC</a>
+ */
 public class LambertCC9ZonesProjectionChoice extends ListProjectionChoice {
 
Index: trunk/src/org/openstreetmap/josm/gui/preferences/projection/LambertProjectionChoice.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/projection/LambertProjectionChoice.java	(revision 12147)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/projection/LambertProjectionChoice.java	(revision 12148)
@@ -15,4 +15,9 @@
 import org.openstreetmap.josm.tools.ImageProvider;
 
+/**
+ * ProjectionChoice for 4 zone Lambert (1920, EPSG:27561-27564).
+ * <p>
+ * @see <a link="https://fr.wikipedia.org/wiki/Projection_conique_conforme_de_Lambert#Lambert_zone">Lambert zone</a>
+ */
 public class LambertProjectionChoice extends ListProjectionChoice {
 
Index: trunk/src/org/openstreetmap/josm/gui/preferences/projection/PuwgProjectionChoice.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/projection/PuwgProjectionChoice.java	(revision 12147)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/projection/PuwgProjectionChoice.java	(revision 12148)
@@ -9,4 +9,10 @@
 import org.openstreetmap.josm.tools.Utils;
 
+/**
+ * ProjectionChoice for PUWG 1992 (EPSG:2180) and PUWG 2000 for Poland (Zone 5-8, EPSG:2176-2179).
+ * <p>
+ * @see <a link="https://pl.wikipedia.org/wiki/Układ_współrzędnych_1992">PUWG 1992</a>
+ * @see <a link="https://pl.wikipedia.org/wiki/Układ_współrzędnych_2000">PUWG 2000</a>
+ */
 public class PuwgProjectionChoice extends ListProjectionChoice {
 
Index: trunk/src/org/openstreetmap/josm/gui/preferences/projection/SwissGridProjectionChoice.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/projection/SwissGridProjectionChoice.java	(revision 12147)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/projection/SwissGridProjectionChoice.java	(revision 12148)
@@ -13,4 +13,10 @@
 import org.openstreetmap.josm.tools.GBC;
 
+/**
+ * ProjectionChoice for Swiss grid, CH1903 / LV03 military coordinates (EPSG:21781).
+ * <p>
+ * This is the old system and <b>not</b> CH1903+ from 1995.
+ * @see <a link="https://en.wikipedia.org/wiki/Swiss_coordinate_system">swiss grid</a>
+ */
 public class SwissGridProjectionChoice extends SingleProjectionChoice {
 
@@ -25,5 +31,5 @@
     public JPanel getPreferencePanel(ActionListener listener) {
         JPanel p = new JPanel(new GridBagLayout());
-        p.add(new HtmlPanel(tr("<i>CH1903 / LV03 (without local corrections)</i>")), GBC.eol().fill(GBC.HORIZONTAL));
+        p.add(new HtmlPanel(tr("<i>CH1903 / LV03</i>")), GBC.eol().fill(GBC.HORIZONTAL));
         p.add(Box.createVerticalGlue(), GBC.eol().fill(GBC.BOTH));
         return p;
Index: trunk/src/org/openstreetmap/josm/gui/preferences/projection/UTMFranceDOMProjectionChoice.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/projection/UTMFranceDOMProjectionChoice.java	(revision 12147)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/projection/UTMFranceDOMProjectionChoice.java	(revision 12148)
@@ -9,4 +9,9 @@
 import org.openstreetmap.josm.Main;
 
+/**
+ * ProjectionChoice for various French overseas territories (EPSG:2969,2970,2972,2973,2975).
+ * <p>
+ * @see <a link="https://fr.wikipedia.org/wiki/Système_de_coordonnées_(cartographie)#Dans_les_d.C3.A9partements_d.27Outre-mer">DOM</a>
+ */
 public class UTMFranceDOMProjectionChoice extends ListProjectionChoice {
 
Index: trunk/src/org/openstreetmap/josm/gui/preferences/projection/UTMProjectionChoice.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/projection/UTMProjectionChoice.java	(revision 12147)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/projection/UTMProjectionChoice.java	(revision 12148)
@@ -19,4 +19,9 @@
 import org.openstreetmap.josm.tools.GBC;
 
+/**
+ * ProjectionChoice for UTM.
+ * <p>
+ * @see <a link="https://en.wikipedia.org/wiki/Universal_Transverse_Mercator_coordinate_system">UTM</a>
+ */
 public class UTMProjectionChoice extends ListProjectionChoice {
 
