Index: trunk/src/org/openstreetmap/josm/io/ChangesetQuery.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/ChangesetQuery.java	(revision 12469)
+++ trunk/src/org/openstreetmap/josm/io/ChangesetQuery.java	(revision 12470)
@@ -23,4 +23,10 @@
 import org.openstreetmap.josm.tools.date.DateUtils;
 
+/**
+ * Data class to collect restrictions (parameters) for downloading changesets from the
+ * OSM API.
+ * <p>
+ * @see <a href="https://wiki.openstreetmap.org/wiki/API_v0.6#Query:_GET_.2Fapi.2F0.6.2Fchangesets">OSM API 0.6 call "/changesets?"</a>
+ */
 public class ChangesetQuery {
 
Index: trunk/src/org/openstreetmap/josm/io/DiffResultProcessor.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/DiffResultProcessor.java	(revision 12469)
+++ trunk/src/org/openstreetmap/josm/io/DiffResultProcessor.java	(revision 12470)
@@ -34,4 +34,13 @@
 import org.xml.sax.helpers.DefaultHandler;
 
+/**
+ * Helper class to process the OSM API server response to a "diff" upload.
+ * <p>
+ * New primitives (uploaded with negative id) will be assigned a positive id, etc.
+ * The goal is to have a clean state, just like a fresh download (assuming no
+ * concurrent uploads by other users have happened in the meantime).
+ * <p>
+ * @see <a href="https://wiki.openstreetmap.org/wiki/API_v0.6#Response_10">API 0.6 diff upload response</a>
+ */
 public class DiffResultProcessor {
 
Index: trunk/src/org/openstreetmap/josm/io/FileExporter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/FileExporter.java	(revision 12469)
+++ trunk/src/org/openstreetmap/josm/io/FileExporter.java	(revision 12470)
@@ -12,4 +12,7 @@
 import org.openstreetmap.josm.gui.layer.MainLayerManager.ActiveLayerChangeListener;
 
+/**
+ * Abstract base class for file exporters - IO classes that save layers to a file.
+ */
 public abstract class FileExporter implements ActiveLayerChangeListener {
 
@@ -28,8 +31,23 @@
     }
 
+    /**
+     * Check if this exporter can export a certain layer to a certain file.
+     *
+     * Most exporters support just a single layer type.
+     * @param pathname the target file name (check file extension using the {@link #filter}
+     * @param layer the layer requested for export
+     * @return true, if the exporter can handle the layer and filename is okay
+     */
     public boolean acceptFile(File pathname, Layer layer) {
         return filter.acceptName(pathname.getName());
     }
 
+    /**
+     * Execute the data export. (To be overridden by subclasses.)
+     *
+     * @param file target file
+     * @param layer the layer to export
+     * @throws IOException in case of an IO error
+     */
     public void exportData(File file, Layer layer) throws IOException {
         throw new IOException(tr("Could not export ''{0}''.", file.getName()));
Index: trunk/src/org/openstreetmap/josm/io/MissingOAuthAccessTokenException.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/MissingOAuthAccessTokenException.java	(revision 12469)
+++ trunk/src/org/openstreetmap/josm/io/MissingOAuthAccessTokenException.java	(revision 12470)
@@ -2,4 +2,7 @@
 package org.openstreetmap.josm.io;
 
+/**
+ * Exception thrown when a valid OAuth access token was expected, but not found.
+ */
 public class MissingOAuthAccessTokenException extends OsmTransferException {
 
@@ -12,5 +15,5 @@
 
     /**
-     * Constructs a new {@code OsmTransferException} with the specified detail message and cause.
+     * Constructs a new {@code MissingOAuthAccessTokenException} with the specified detail message and cause.
      * @param message The detail message (which is saved for later retrieval by the {@link #getMessage} method)
      * @param cause   The cause (which is saved for later retrieval by the {@link #getCause} method).
@@ -22,5 +25,5 @@
 
     /**
-     * Constructs a new {@code OsmTransferException} with the specified detail message.
+     * Constructs a new {@code MissingOAuthAccessTokenException} with the specified detail message.
      * @param message The detail message (which is saved for later retrieval by the {@link #getMessage} method)
      */
@@ -30,5 +33,5 @@
 
     /**
-     * Constructs a new {@code OsmTransferException} with the specified cause.
+     * Constructs a new {@code MissingOAuthAccessTokenException} with the specified cause.
      * @param cause   The cause (which is saved for later retrieval by the {@link #getCause} method).
      *                A null value is permitted, and indicates that the cause is nonexistent or unknown.
Index: trunk/src/org/openstreetmap/josm/io/OsmChangeImporter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/OsmChangeImporter.java	(revision 12469)
+++ trunk/src/org/openstreetmap/josm/io/OsmChangeImporter.java	(revision 12470)
@@ -18,4 +18,8 @@
 import org.openstreetmap.josm.gui.util.GuiHelper;
 
+/**
+ * File importer that reads OSM change files (*.osc).
+ * @see <a href="http://wiki.openstreetmap.org/wiki/OsmChange">OsmChange</a>
+ */
 public class OsmChangeImporter extends FileImporter {
 
Index: trunk/src/org/openstreetmap/josm/io/OsmConnection.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/OsmConnection.java	(revision 12469)
+++ trunk/src/org/openstreetmap/josm/io/OsmConnection.java	(revision 12470)
@@ -85,5 +85,5 @@
      * @param connection the connection
      *
-     * @throws OsmTransferException if there is currently no OAuth Access Token configured
+     * @throws MissingOAuthAccessTokenException if there is currently no OAuth Access Token configured
      * @throws OsmTransferException if signing fails
      */
Index: trunk/src/org/openstreetmap/josm/io/OsmImporter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/OsmImporter.java	(revision 12469)
+++ trunk/src/org/openstreetmap/josm/io/OsmImporter.java	(revision 12470)
@@ -19,4 +19,8 @@
 import org.openstreetmap.josm.gui.util.GuiHelper;
 
+/**
+ * File importer that reads *.osm data files. (main storage format for OSM data
+ * in JOSM)
+ */
 public class OsmImporter extends FileImporter {
 
Index: trunk/src/org/openstreetmap/josm/io/OsmServerReadPostprocessor.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/OsmServerReadPostprocessor.java	(revision 12469)
+++ trunk/src/org/openstreetmap/josm/io/OsmServerReadPostprocessor.java	(revision 12470)
@@ -5,7 +5,16 @@
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
 
+/**
+ * Interface for plugins to process osm data after it has been downloaded or read
+ * from file.
+ * @see OsmReader#registerPostprocessor(OsmServerReadPostprocessor)
+ */
 @FunctionalInterface
 public interface OsmServerReadPostprocessor {
-
+    /**
+     * Execute the post processor.
+     * @param ds the dataset to read or modify
+     * @param progress the progress monitor
+     */
     void postprocessDataSet(DataSet ds, ProgressMonitor progress);
 }
Index: trunk/src/org/openstreetmap/josm/io/OsmServerUserInfoReader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/OsmServerUserInfoReader.java	(revision 12469)
+++ trunk/src/org/openstreetmap/josm/io/OsmServerUserInfoReader.java	(revision 12470)
@@ -27,4 +27,8 @@
 import org.xml.sax.SAXException;
 
+/**
+ * Download and parse info of the logged in user (OSM API v0.6 "/user/details").
+ * @see <a href="https://wiki.openstreetmap.org/wiki/API_v0.6#Details_of_the_logged-in_user">/user/details</a>
+ */
 public class OsmServerUserInfoReader extends OsmServerReader {
 
Index: trunk/src/org/openstreetmap/josm/io/OsmServerWritePostprocessor.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/OsmServerWritePostprocessor.java	(revision 12469)
+++ trunk/src/org/openstreetmap/josm/io/OsmServerWritePostprocessor.java	(revision 12470)
@@ -7,4 +7,9 @@
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
 
+/**
+ * Interface for plugins to process osm data after it has been uploaded to the
+ * OSM server.
+ * @see OsmServerWriter#registerPostprocessor(OsmServerWritePostprocessor)
+ */
 @FunctionalInterface
 public interface OsmServerWritePostprocessor {
Index: trunk/src/org/openstreetmap/josm/io/StreamProgressUpdater.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/StreamProgressUpdater.java	(revision 12469)
+++ trunk/src/org/openstreetmap/josm/io/StreamProgressUpdater.java	(revision 12470)
@@ -9,4 +9,8 @@
 import org.openstreetmap.josm.tools.Utils;
 
+/**
+ * Helper class for {@link StreamProgressUpdater} to encapsulate interaction with
+ * the {@link ProgressMonitor}.
+ */
 final class StreamProgressUpdater {
 
