Index: trunk/src/org/openstreetmap/josm/gui/layer/CustomizeColor.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/CustomizeColor.java	(revision 12458)
+++ trunk/src/org/openstreetmap/josm/gui/layer/CustomizeColor.java	(revision 12460)
@@ -27,4 +27,10 @@
 import org.openstreetmap.josm.tools.ImageProvider;
 
+/**
+ * Action to show a dialog for picking a color.
+ *
+ * By calling this action, the user can choose a color to customize the painting
+ * of a certain {@link GpxLayer} or {@link org.openstreetmap.josm.gui.layer.markerlayer.MarkerLayer}.
+ */
 public class CustomizeColor extends AbstractAction implements LayerAction, MultiLayerAction {
     private final transient List<AbstractProperty<Color>> colors;
Index: trunk/src/org/openstreetmap/josm/gui/layer/ImageryLayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/ImageryLayer.java	(revision 12458)
+++ trunk/src/org/openstreetmap/josm/gui/layer/ImageryLayer.java	(revision 12460)
@@ -43,4 +43,9 @@
 import org.openstreetmap.josm.tools.Utils;
 
+/**
+ * Abstract base class for background imagery layers ({@link WMSLayer}, {@link TMSLayer}, {@link WMTSLayer}).
+ *
+ * Handles some common tasks, like image filters, image processors, etc.
+ */
 public abstract class ImageryLayer extends Layer {
 
Index: trunk/src/org/openstreetmap/josm/gui/layer/JumpToMarkerActions.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/JumpToMarkerActions.java	(revision 12458)
+++ trunk/src/org/openstreetmap/josm/gui/layer/JumpToMarkerActions.java	(revision 12460)
@@ -16,9 +16,27 @@
 import org.openstreetmap.josm.tools.Shortcut;
 
+/**
+ * Manages actions to jump from one marker to the next for layers that show markers
+ * ({@link org.openstreetmap.josm.gui.layer.geoimage.GeoImageLayer},
+ * {@link org.openstreetmap.josm.gui.layer.markerlayer.MarkerLayer}).
+ *
+ * Registers global multi-key shortcuts and offers actions for the right-click menu of
+ * the layers.
+ */
 public final class JumpToMarkerActions {
 
+    /**
+     * Interface for a layer that displays markers and supports jumping from
+     * one marker to the next.
+     */
     public interface JumpToMarkerLayer {
+        /**
+         * Jump (move the viewport) to the next marker.
+         */
         void jumpToNextMarker();
 
+        /**
+         * Jump (move the viewport) to the previous marker.
+         */
         void jumpToPreviousMarker();
     }
@@ -31,4 +49,7 @@
     private static volatile JumpToPreviousMarker jumpToPreviousMarkerAction;
 
+    /**
+     * Initialize the actions, register shortcuts.
+     */
     public static void initialize() {
         jumpToNextMarkerAction = new JumpToNextMarker(null);
@@ -38,4 +59,7 @@
     }
 
+    /**
+     * Unregister the actions.
+     */
     public static void unregisterActions() {
         MultikeyActionsHandler.getInstance().removeAction(jumpToNextMarkerAction);
Index: trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ImageDisplay.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ImageDisplay.java	(revision 12458)
+++ trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ImageDisplay.java	(revision 12460)
@@ -29,4 +29,9 @@
 import org.openstreetmap.josm.tools.ExifReader;
 
+/**
+ * GUI component to display an image (photograph).
+ *
+ * Offers basic mouse interaction (zoom, drag) and on-screen text.
+ */
 public class ImageDisplay extends JComponent {
 
Index: trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ImageViewerDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ImageViewerDialog.java	(revision 12458)
+++ trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ImageViewerDialog.java	(revision 12460)
@@ -36,4 +36,7 @@
 import org.openstreetmap.josm.tools.date.DateUtils;
 
+/**
+ * Dialog to view and manipulate geo-tagged images from a {@link GeoImageLayer}.
+ */
 public final class ImageViewerDialog extends ToggleDialog implements LayerChangeListener, ActiveLayerChangeListener {
 
Index: trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ThumbsLoader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ThumbsLoader.java	(revision 12458)
+++ trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ThumbsLoader.java	(revision 12460)
@@ -23,4 +23,9 @@
 import org.openstreetmap.josm.tools.ExifReader;
 
+/**
+ * Loads thumbnail previews for a list of images from a {@link GeoImageLayer}.
+ * 
+ * Thumbnails are loaded in the background and cached on disk for the next session.
+ */
 public class ThumbsLoader implements Runnable {
     public static final int maxSize = 120;
Index: trunk/src/org/openstreetmap/josm/gui/preferences/DefaultPreferenceSetting.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/DefaultPreferenceSetting.java	(revision 12458)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/DefaultPreferenceSetting.java	(revision 12460)
@@ -2,12 +2,28 @@
 package org.openstreetmap.josm.gui.preferences;
 
+/**
+ * Abstract base class for {@link PreferenceSetting} implementations.
+ *
+ * Handles the flag that indicates if a PreferenceSetting is and expert option
+ * or not.
+ */
 public abstract class DefaultPreferenceSetting implements PreferenceSetting {
 
     private final boolean isExpert;
 
+    /**
+     * Constructs a new DefaultPreferenceSetting.
+     *
+     * (Not an expert option by default.)
+     */
     public DefaultPreferenceSetting() {
         this(false);
     }
 
+    /**
+     * Constructs a new DefaultPreferenceSetting.
+     *
+     * @param isExpert true, if it is an expert option
+     */
     public DefaultPreferenceSetting(boolean isExpert) {
         this.isExpert = isExpert;
Index: trunk/src/org/openstreetmap/josm/gui/preferences/DefaultTabPreferenceSetting.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/DefaultTabPreferenceSetting.java	(revision 12458)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/DefaultTabPreferenceSetting.java	(revision 12460)
@@ -13,4 +13,9 @@
 import org.openstreetmap.josm.tools.GBC;
 
+/**
+ * Abstract base class for {@link TabPreferenceSetting} implementations.
+ *
+ * Support for common functionality, like icon, title and adding a tab ({@link SubPreferenceSetting}).
+ */
 public abstract class DefaultTabPreferenceSetting extends DefaultPreferenceSetting implements TabPreferenceSetting {
 
Index: trunk/src/org/openstreetmap/josm/gui/preferences/PreferenceDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/PreferenceDialog.java	(revision 12458)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/PreferenceDialog.java	(revision 12460)
@@ -32,4 +32,11 @@
 import org.openstreetmap.josm.tools.WindowGeometry;
 
+/**
+ * The main preferences dialog.
+ *
+ * Dialog window where the user can change various settings. Organized in main
+ * tabs to the left ({@link TabPreferenceSetting}) and (optional) sub-pages
+ * ({@link SubPreferenceSetting}).
+ */
 public class PreferenceDialog extends JDialog {
 
Index: trunk/src/org/openstreetmap/josm/gui/preferences/SourceProvider.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/SourceProvider.java	(revision 12458)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/SourceProvider.java	(revision 12460)
@@ -4,7 +4,16 @@
 import java.util.Collection;
 
+/**
+ * Interface for a class that offers a list of {@link SourceEntry}s.
+ *
+ * Used by plugins to offer additional SourceEntrys to the user.
+ */
 @FunctionalInterface
 public interface SourceProvider {
 
+    /**
+     * Get the collection of {@link SourceEntry}s.
+     * @return the collection of {@link SourceEntry}s
+     */
     Collection<SourceEntry> getSources();
 }
