Index: /trunk/src/org/openstreetmap/josm/tools/ExceptionUtil.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/ExceptionUtil.java	(revision 12381)
+++ /trunk/src/org/openstreetmap/josm/tools/ExceptionUtil.java	(revision 12382)
@@ -81,4 +81,9 @@
     }
 
+    /**
+     * Parses a precondition failure response from the server and attempts to get more information about it
+     * @param msg The message from the server
+     * @return The OSM primitive that caused the problem and a collection of primitives that e.g. refer to it
+     */
     public static Pair<OsmPrimitive, Collection<OsmPrimitive>> parsePreconditionFailed(String msg) {
         if (msg == null)
Index: /trunk/src/org/openstreetmap/josm/tools/GeoPropertyIndex.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/GeoPropertyIndex.java	(revision 12381)
+++ /trunk/src/org/openstreetmap/josm/tools/GeoPropertyIndex.java	(revision 12382)
@@ -50,4 +50,10 @@
     }
 
+    /**
+     * Gets the index of the given coordinate. Only used internally
+     * @param ll The lat/lon coordinate
+     * @param level The scale level
+     * @return The index for that position
+     */
     public static int index(LatLon ll, int level) {
         long noParts = 1L << level;
Index: /trunk/src/org/openstreetmap/josm/tools/GeoUrlToBounds.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/GeoUrlToBounds.java	(revision 12381)
+++ /trunk/src/org/openstreetmap/josm/tools/GeoUrlToBounds.java	(revision 12382)
@@ -17,4 +17,7 @@
 public final class GeoUrlToBounds {
 
+    /**
+     * The pattern of a geo: url, having named match groups.
+     */
     public static final Pattern PATTERN = Pattern.compile("geo:(?<lat>[+-]?[0-9.]+),(?<lon>[+-]?[0-9.]+)(\\?z=(?<zoom>[0-9]+))?");
 
Index: /trunk/src/org/openstreetmap/josm/tools/Geometry.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/Geometry.java	(revision 12381)
+++ /trunk/src/org/openstreetmap/josm/tools/Geometry.java	(revision 12382)
@@ -48,8 +48,23 @@
     }
 
+    /**
+     * The result types for a {@link Geometry#polygonIntersection(Area, Area)} test
+     */
     public enum PolygonIntersection {
+        /**
+         * The first polygon is inside the second one
+         */
         FIRST_INSIDE_SECOND,
+        /**
+         * The second one is inside the first
+         */
         SECOND_INSIDE_FIRST,
+        /**
+         * The polygons do not overlap
+         */
         OUTSIDE,
+        /**
+         * The polygon borders cross each other
+         */
         CROSSING
     }
@@ -373,4 +388,12 @@
     }
 
+    /**
+     * Check if the segment p1 - p2 is parallel to p3 - p4
+     * @param p1 First point for first segment
+     * @param p2 Second point for first segment
+     * @param p3 First point for second segment
+     * @param p4 Second point for second segment
+     * @return <code>true</code> if they are parallel or close to parallel
+     */
     public static boolean segmentsParallel(EastNorth p1, EastNorth p2, EastNorth p3, EastNorth p4) {
 
@@ -950,4 +973,9 @@
         private final double perimeter;
 
+        /**
+         * Create a new {@link AreaAndPerimeter}
+         * @param area The area
+         * @param perimeter The perimeter
+         */
         public AreaAndPerimeter(double area, double perimeter) {
             this.area = area;
@@ -955,8 +983,16 @@
         }
 
+        /**
+         * Gets the area
+         * @return The area size
+         */
         public double getArea() {
             return area;
         }
 
+        /**
+         * Gets the perimeter
+         * @return The perimeter length
+         */
         public double getPerimeter() {
             return perimeter;
Index: /trunk/src/org/openstreetmap/josm/tools/LanguageInfo.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/LanguageInfo.java	(revision 12381)
+++ /trunk/src/org/openstreetmap/josm/tools/LanguageInfo.java	(revision 12382)
@@ -6,4 +6,7 @@
 import java.util.Locale;
 
+/**
+ * This is a utility class that provides information about locales and allows to convert locale codes.
+ */
 public final class LanguageInfo {
 
Index: /trunk/src/org/openstreetmap/josm/tools/OsmUrlToBounds.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/OsmUrlToBounds.java	(revision 12381)
+++ /trunk/src/org/openstreetmap/josm/tools/OsmUrlToBounds.java	(revision 12382)
@@ -213,4 +213,11 @@
     private static final int TILE_SIZE_IN_PIXELS = 256;
 
+    /**
+     * Compute the bounds for a given lat/lon position and the zoom level
+     * @param lat The latitude
+     * @param lon The longitude
+     * @param zoom The current zoom level
+     * @return The bounds the OSM server would display
+     */
     public static Bounds positionToBounds(final double lat, final double lon, final int zoom) {
         final Dimension screenSize = getScreenSize();
Index: /trunk/src/org/openstreetmap/josm/tools/TextTagParser.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/TextTagParser.java	(revision 12381)
+++ /trunk/src/org/openstreetmap/josm/tools/TextTagParser.java	(revision 12382)
@@ -40,4 +40,7 @@
     }
 
+    /**
+     * A helper class that analyzes the text and attempts to parse tags from it
+     */
     public static class TextAnalyzer {
         private boolean quotesStarted;
@@ -48,4 +51,8 @@
         private final int n;
 
+        /**
+         * Create a new {@link TextAnalyzer}
+         * @param text The text to parse
+         */
         public TextAnalyzer(String text) {
             pos = 0;
@@ -201,4 +208,9 @@
     }
 
+    /**
+     * Gets a list of tags that are in the given text
+     * @param buf The text to parse
+     * @return The tags or <code>null</code> if the tags are not valid
+     */
     public static Map<String, String> getValidatedTagsFromText(String buf) {
         Map<String, String> tags = readTagsFromText(buf);
Index: /trunk/src/org/openstreetmap/josm/tools/WindowGeometry.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/WindowGeometry.java	(revision 12381)
+++ /trunk/src/org/openstreetmap/josm/tools/WindowGeometry.java	(revision 12382)
@@ -220,4 +220,11 @@
     }
 
+    /**
+     * Gets the geometry of the main window
+     * @param preferenceKey The preference key to use
+     * @param arg The command line geometry arguments
+     * @param maximize If the user requested to maximize the window
+     * @return The geometry for the main window
+     */
     public static WindowGeometry mainWindow(String preferenceKey, String arg, boolean maximize) {
         Rectangle screenDimension = getScreenInfo("gui.geometry");
Index: /trunk/src/org/openstreetmap/josm/tools/XmlObjectParser.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/XmlObjectParser.java	(revision 12381)
+++ /trunk/src/org/openstreetmap/josm/tools/XmlObjectParser.java	(revision 12382)
@@ -43,4 +43,7 @@
  */
 public class XmlObjectParser implements Iterable<Object> {
+    /**
+     * The language prefix to use
+     */
     public static final String lang = LanguageInfo.getLanguageCodeXML();
 
@@ -299,4 +302,9 @@
     }
 
+    /**
+     * Add a new tag name to class type mapping
+     * @param tagName The tag name that should be converted to that class
+     * @param klass The class the XML elements should be converted to.
+     */
     public void map(String tagName, Class<?> klass) {
         mapping.put(tagName, new Entry(klass, false, false));
@@ -311,8 +319,16 @@
     }
 
+    /**
+     * Get the next element that was parsed
+     * @return The next object
+     */
     public Object next() {
         return queueIterator.next();
     }
 
+    /**
+     * Check if there is a next parsed object available
+     * @return <code>true</code> if there is a next object
+     */
     public boolean hasNext() {
         return queueIterator.hasNext();
