Index: trunk/data/defaultpresets.xml
===================================================================
--- trunk/data/defaultpresets.xml	(revision 6813)
+++ trunk/data/defaultpresets.xml	(revision 6814)
@@ -2213,5 +2213,5 @@
             </optional>
         </item>
-        <item name="Gondola" icon="presets/gondola.png" type="way">
+        <item name="Gondola" icon="presets/aerialway.png" type="way">
             <link href="http://wiki.openstreetmap.org/wiki/Proposed_features/Piste_Maps"
                   fr.href="http://wiki.openstreetmap.org/wiki/FR:Proposed_features/Piste_Maps"
Index: trunk/src/org/openstreetmap/josm/actions/AlignInCircleAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/AlignInCircleAction.java	(revision 6813)
+++ trunk/src/org/openstreetmap/josm/actions/AlignInCircleAction.java	(revision 6814)
@@ -32,4 +32,6 @@
  * Aligns all selected nodes within a circle. (Useful for roundabouts)
  *
+ * @since 146
+ *
  * @author Matthew Newton
  * @author Petr Dlouhý
@@ -48,5 +50,5 @@
     }
 
-    public double distance(EastNorth n, EastNorth m) {
+    private static double distance(EastNorth n, EastNorth m) {
         double easd, nord;
         easd = n.east() - m.east();
@@ -55,5 +57,5 @@
     }
 
-    public class PolarCoor {
+    public static class PolarCoor {
         double radius;
         double angle;
@@ -250,5 +252,5 @@
      * @return true if all nodes in the given collection are referred by the same object, and no other one (see #8431)
      */
-    protected boolean allowRegularPolygon(Collection<Node> nodes) {
+    protected static boolean allowRegularPolygon(Collection<Node> nodes) {
         Set<OsmPrimitive> allReferrers = new HashSet<OsmPrimitive>();
         for (Node n : nodes) {
Index: trunk/src/org/openstreetmap/josm/actions/CreateCircleAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/CreateCircleAction.java	(revision 6813)
+++ trunk/src/org/openstreetmap/josm/actions/CreateCircleAction.java	(revision 6814)
@@ -38,4 +38,6 @@
  * BTW: Someone might want to implement projection corrections for this...
  *
+ * @since 996
+ *
  * @author Henry Loenwind, based on much copy&Paste from other Actions.
  * @author Sebastian Masch
@@ -47,7 +49,7 @@
      */
     public CreateCircleAction() {
-        super(tr("Create Circle"), "createcircle", tr("Create a circle from three selected nodes."),
+        super(tr("Create Circle"), "aligncircle", tr("Create a circle from three selected nodes."),
             Shortcut.registerShortcut("tools:createcircle", tr("Tool: {0}", tr("Create Circle")),
-            KeyEvent.VK_O, Shortcut.SHIFT), true);
+            KeyEvent.VK_O, Shortcut.SHIFT), true, "createcircle", true);
         putValue("help", ht("/Action/CreateCircle"));
     }
@@ -276,5 +278,5 @@
         Main.map.repaint();
     }
-    
+
     private static void notifyNodesNotOnCircle() {
         new Notification(
Index: trunk/src/org/openstreetmap/josm/actions/DownloadReferrersAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/DownloadReferrersAction.java	(revision 6813)
+++ trunk/src/org/openstreetmap/josm/actions/DownloadReferrersAction.java	(revision 6814)
@@ -20,13 +20,18 @@
 
 /**
- * This action loads the set of primitives referring to the current selection from the OSM
- * server.
- *
+ * This action loads the set of primitives referring to the current selection from the OSM server.
+ * @since 1810
  */
-public class DownloadReferrersAction extends JosmAction{
+public class DownloadReferrersAction extends JosmAction {
 
+	/**
+	 * Constructs a new {@code DownloadReferrersAction}.
+	 */
     public DownloadReferrersAction() {
-        super(tr("Download parent ways/relations..."), "downloadreferrers", tr("Download objects referring to one of the selected objects"),
-                Shortcut.registerShortcut("file:downloadreferrers", tr("File: {0}", tr("Download parent ways/relations...")), KeyEvent.VK_D, Shortcut.ALT_CTRL), true);
+        super(tr("Download parent ways/relations..."), "download",
+        		tr("Download objects referring to one of the selected objects"),
+                Shortcut.registerShortcut("file:downloadreferrers",
+                		tr("File: {0}", tr("Download parent ways/relations...")), KeyEvent.VK_D, Shortcut.ALT_CTRL),
+                true, "downloadreferrers", true);
         putValue("help", ht("/Action/DownloadParentWaysAndRelation"));
     }
@@ -41,5 +46,5 @@
      * @exception IllegalArgumentException thrown if targetLayer is null
      */
-    static public void downloadReferrers(OsmDataLayer targetLayer, Collection<OsmPrimitive> children) throws IllegalArgumentException {
+    public static void downloadReferrers(OsmDataLayer targetLayer, Collection<OsmPrimitive> children) throws IllegalArgumentException {
         if (children == null || children.isEmpty()) return;
         Main.worker.submit(new DownloadReferrersTask(targetLayer, children));
@@ -55,5 +60,5 @@
      * @exception IllegalArgumentException thrown if targetLayer is null
      */
-    static public void downloadReferrers(OsmDataLayer targetLayer, Map<Long, OsmPrimitiveType> children) throws IllegalArgumentException {
+    public static void downloadReferrers(OsmDataLayer targetLayer, Map<Long, OsmPrimitiveType> children) throws IllegalArgumentException {
         if (children == null || children.isEmpty()) return;
         Main.worker.submit(new DownloadReferrersTask(targetLayer, children));
@@ -64,5 +69,4 @@
      * <code>type</code>.
      *
-     *
      * @param targetLayer  the target layer. Must not be null.
      * @param id the primitive id. id > 0 required.
@@ -72,5 +76,5 @@
      * @exception IllegalArgumentException thrown if type == null
      */
-    static public void downloadReferrers(OsmDataLayer targetLayer, long id, OsmPrimitiveType type) throws IllegalArgumentException {
+    public static void downloadReferrers(OsmDataLayer targetLayer, long id, OsmPrimitiveType type) throws IllegalArgumentException {
         if (id <= 0)
             throw new IllegalArgumentException(MessageFormat.format("Id > 0 required, got {0}", id));
Index: trunk/src/org/openstreetmap/josm/actions/JoinNodeWayAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/JoinNodeWayAction.java	(revision 6813)
+++ trunk/src/org/openstreetmap/josm/actions/JoinNodeWayAction.java	(revision 6814)
@@ -27,4 +27,8 @@
 
 public class JoinNodeWayAction extends JosmAction {
+
+    /**
+     * Constructs a new {@code JoinNodeWayAction}.
+     */
     public JoinNodeWayAction() {
         super(tr("Join Node to Way"), "joinnodeway", tr("Include a node into the nearest way segments"),
@@ -53,5 +57,5 @@
             HashMap<Way, List<Integer>> insertPoints = new HashMap<Way, List<Integer>>();
             for (WaySegment ws : wss) {
-                // Maybe cleaner to pass a "isSelected" predicate to getNearestWaySegements, but this is atm. less invasive.
+                // Maybe cleaner to pass a "isSelected" predicate to getNearestWaySegments, but this is less invasive.
                 if(restrictToSelectedWays && !ws.way.isSelected()) {
                     continue;
Index: trunk/src/org/openstreetmap/josm/actions/JosmAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/JosmAction.java	(revision 6813)
+++ trunk/src/org/openstreetmap/josm/actions/JosmAction.java	(revision 6814)
@@ -44,4 +44,8 @@
     private SelectionChangeAdapter selectionChangeAdapter;
 
+    /**
+     * Returns the shortcut for this action.
+     * @return the shortcut for this action, or "No shortcut" if none is defined
+     */
     public Shortcut getShortcut() {
         if (sc == null) {
@@ -110,16 +114,55 @@
     }
 
+    /**
+     * Constructs a new {@code JosmAction}.
+     *
+     * Use this super constructor to setup your action.
+     *
+     * @param name the action's text as displayed on the menu (if it is added to a menu)
+     * @param iconName the filename of the icon to use
+     * @param tooltip  a longer description of the action that will be displayed in the tooltip. Please note
+     *           that html is not supported for menu actions on some platforms.
+     * @param shortcut a ready-created shortcut object or null if you don't want a shortcut. But you always
+     *            do want a shortcut, remember you can always register it with group=none, so you
+     *            won't be assigned a shortcut unless the user configures one. If you pass null here,
+     *            the user CANNOT configure a shortcut for your action.
+     * @param registerInToolbar register this action for the toolbar preferences?
+     * @param installAdapters false, if you don't want to install layer changed and selection changed adapters
+     */
     public JosmAction(String name, String iconName, String tooltip, Shortcut shortcut, boolean registerInToolbar, boolean installAdapters) {
         this(name, iconName, tooltip, shortcut, registerInToolbar, null, installAdapters);
     }
 
+    /**
+     * Constructs a new {@code JosmAction}.
+     *
+     * Use this super constructor to setup your action.
+     *
+     * @param name the action's text as displayed on the menu (if it is added to a menu)
+     * @param iconName the filename of the icon to use
+     * @param tooltip  a longer description of the action that will be displayed in the tooltip. Please note
+     *           that html is not supported for menu actions on some platforms.
+     * @param shortcut a ready-created shortcut object or null if you don't want a shortcut. But you always
+     *            do want a shortcut, remember you can always register it with group=none, so you
+     *            won't be assigned a shortcut unless the user configures one. If you pass null here,
+     *            the user CANNOT configure a shortcut for your action.
+     * @param registerInToolbar register this action for the toolbar preferences?
+     */
     public JosmAction(String name, String iconName, String tooltip, Shortcut shortcut, boolean registerInToolbar) {
         this(name, iconName, tooltip, shortcut, registerInToolbar, null, true);
     }
 
+    /**
+     * Constructs a new {@code JosmAction}.
+     */
     public JosmAction() {
         this(true);
     }
 
+    /**
+     * Constructs a new {@code JosmAction}.
+     *
+     * @param installAdapters false, if you don't want to install layer changed and selection changed adapters
+     */
     public JosmAction(boolean installAdapters) {
         setHelpId();
@@ -146,4 +189,8 @@
     }
 
+    /**
+     * Sets the tooltip text of this action.
+     * @param tooltip The text to display in tooltip. Can be {@code null}
+     */
     public void setTooltip(String tooltip) {
         if (tooltip != null) {
Index: trunk/src/org/openstreetmap/josm/actions/UpdateModifiedAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/UpdateModifiedAction.java	(revision 6813)
+++ trunk/src/org/openstreetmap/josm/actions/UpdateModifiedAction.java	(revision 6814)
@@ -14,19 +14,18 @@
 /**
  * This action synchronizes a set of primitives with their state on the server.
- *
+ * @since 2682
  */
 public class UpdateModifiedAction extends UpdateSelectionAction {
 
     /**
-     * constructor
+     * Constructs a new {@code UpdateModifiedAction}.
      */
     public UpdateModifiedAction() {
-        super(tr("Update modified"),
-                "updatemodified",
+        super(tr("Update modified"), "updatedata",
                 tr("Updates the currently modified objects from the server (re-downloads data)"),
                 Shortcut.registerShortcut("file:updatemodified",
                         tr("File: {0}", tr("Update modified")), KeyEvent.VK_M,
                         Shortcut.ALT_CTRL),
-                        true);
+                        true, "updatemodified");
         putValue("help", ht("/Action/UpdateModified"));
     }
Index: trunk/src/org/openstreetmap/josm/actions/UpdateSelectionAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/UpdateSelectionAction.java	(revision 6813)
+++ trunk/src/org/openstreetmap/josm/actions/UpdateSelectionAction.java	(revision 6814)
@@ -26,5 +26,5 @@
 /**
  * This action synchronizes a set of primitives with their state on the server.
- *
+ * @since 1670
  */
 public class UpdateSelectionAction extends JosmAction {
@@ -34,8 +34,9 @@
      *
      * @param id the primitive id
+     * @param type The primitive type. Must be one of {@link OsmPrimitiveType#NODE NODE}, {@link OsmPrimitiveType#WAY WAY}, {@link OsmPrimitiveType#RELATION RELATION}
      */
     public static void handlePrimitiveGoneException(long id, OsmPrimitiveType type) {
         MultiFetchServerObjectReader reader = new MultiFetchServerObjectReader();
-        reader.append(getCurrentDataSet(),id, type);
+        reader.append(getCurrentDataSet(), id, type);
         try {
             DataSet ds = reader.parseOsm(NullProgressMonitor.INSTANCE);
@@ -80,19 +81,32 @@
 
     /**
-     * constructor
+     * Constructs a new {@code UpdateSelectionAction}.
      */
     public UpdateSelectionAction() {
-        super(tr("Update selection"),
-                "updateselection",
+        super(tr("Update selection"), "updatedata",
                 tr("Updates the currently selected objects from the server (re-downloads data)"),
                 Shortcut.registerShortcut("file:updateselection",
                         tr("File: {0}", tr("Update selection")), KeyEvent.VK_U,
                         Shortcut.ALT_CTRL),
-                true);
+                true, "updateselection", true);
         putValue("help", ht("/Action/UpdateSelection"));
     }
-    public UpdateSelectionAction(String name, String iconName, String tooltip,
-            Shortcut shortcut, boolean register) {
-        super(name, iconName, tooltip, shortcut, register);
+
+    /**
+     * Constructs a new {@code UpdateSelectionAction}.
+     *
+     * @param name the action's text as displayed on the menu (if it is added to a menu)
+     * @param iconName the filename of the icon to use
+     * @param tooltip  a longer description of the action that will be displayed in the tooltip. Please note
+     *           that html is not supported for menu actions on some platforms.
+     * @param shortcut a ready-created shortcut object or null if you don't want a shortcut. But you always
+     *            do want a shortcut, remember you can always register it with group=none, so you
+     *            won't be assigned a shortcut unless the user configures one. If you pass null here,
+     *            the user CANNOT configure a shortcut for your action.
+     * @param register register this action for the toolbar preferences?
+     * @param toolbarId identifier for the toolbar preferences. The iconName is used, if this parameter is null
+     */
+    public UpdateSelectionAction(String name, String iconName, String tooltip, Shortcut shortcut, boolean register, String toolbarId) {
+        super(name, iconName, tooltip, shortcut, register, toolbarId, true);
     }
 
@@ -111,12 +125,9 @@
     }
 
-    /**
-     * action handler
-     */
     @Override
     public void actionPerformed(ActionEvent e) {
         if (! isEnabled())
             return;
-        Collection<OsmPrimitive> toUpdate =getData();
+        Collection<OsmPrimitive> toUpdate = getData();
         if (toUpdate.isEmpty()) {
             JOptionPane.showMessageDialog(
@@ -131,4 +142,8 @@
     }
 
+    /**
+     * Returns the data on which this action operates. Override if needed.
+     * @return the data on which this action operates
+     */
     public Collection<OsmPrimitive> getData() {
         return getCurrentDataSet().getAllSelected();
Index: trunk/src/org/openstreetmap/josm/gui/conflict/pair/ConflictResolver.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/pair/ConflictResolver.java	(revision 6813)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/pair/ConflictResolver.java	(revision 6814)
@@ -87,6 +87,6 @@
      */
     protected void loadIcons() {
-        mergeComplete = ImageProvider.get("dialogs/conflict","mergecomplete.png" );
-        mergeIncomplete = ImageProvider.get("dialogs/conflict","mergeincomplete.png" );
+        mergeComplete = ImageProvider.get("dialogs", "valid.png" );
+        mergeIncomplete = ImageProvider.get("dialogs/conflict", "mergeincomplete.png" );
     }
 
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/query/UrlBasedQueryPanel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/query/UrlBasedQueryPanel.java	(revision 6813)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/query/UrlBasedQueryPanel.java	(revision 6814)
@@ -23,9 +23,9 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.gui.widgets.HtmlPanel;
+import org.openstreetmap.josm.gui.widgets.JosmTextField;
 import org.openstreetmap.josm.io.ChangesetQuery;
+import org.openstreetmap.josm.io.ChangesetQuery.ChangesetQueryUrlException;
 import org.openstreetmap.josm.io.OsmApi;
-import org.openstreetmap.josm.io.ChangesetQuery.ChangesetQueryUrlException;
 import org.openstreetmap.josm.tools.ImageProvider;
-import org.openstreetmap.josm.gui.widgets.JosmTextField;
 
 
@@ -166,5 +166,5 @@
         protected void feedbackValid() {
             if (getCurrentFeedback().equals("valid")) return;
-            lblValid.setIcon(ImageProvider.get("dialogs/changeset", "valid"));
+            lblValid.setIcon(ImageProvider.get("dialogs", "valid"));
             lblValid.setToolTipText("");
             lblValid.putClientProperty("valid", "valid");
Index: trunk/src/org/openstreetmap/josm/gui/preferences/server/OsmApiUrlInputPanel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/server/OsmApiUrlInputPanel.java	(revision 6813)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/server/OsmApiUrlInputPanel.java	(revision 6814)
@@ -41,5 +41,5 @@
  */
 public class OsmApiUrlInputPanel extends JPanel {
-    
+
     /**
      * OSM API URL property key.
@@ -54,5 +54,5 @@
     /** indicates whether to use the default OSM URL or not */
     private JCheckBox cbUseDefaultServerUrl;
-    
+
     private ApiUrlPropagator propagator;
 
@@ -154,8 +154,8 @@
         }
     }
-    
+
     /**
      * Returns the entered API URL, stripped of leading and trailing white characters.
-     * @return the entered API URL, stripped of leading and trailing white characters. 
+     * @return the entered API URL, stripped of leading and trailing white characters.
      *         May be an empty string if nothing has been entered. In this case, it means the user wants to use {@link OsmApi#DEFAULT_API_URL}.
      * @see Utils#strip(String)
@@ -189,5 +189,5 @@
                         public void run() {
                             if (task.isSuccess()) {
-                                lblValid.setIcon(ImageProvider.get("dialogs/changeset", "valid"));
+                                lblValid.setIcon(ImageProvider.get("dialogs", "valid"));
                                 lblValid.setToolTipText(tr("The API URL is valid."));
                                 lastTestedUrl = url;
Index: trunk/src/org/openstreetmap/josm/tools/ImageProvider.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/ImageProvider.java	(revision 6813)
+++ trunk/src/org/openstreetmap/josm/tools/ImageProvider.java	(revision 6814)
@@ -22,5 +22,4 @@
 import java.io.StringReader;
 import java.io.UnsupportedEncodingException;
-import java.net.MalformedURLException;
 import java.net.URI;
 import java.net.URL;
@@ -360,5 +359,7 @@
 
     /**
-     * @see #get(java.lang.String, java.lang.String)
+     * @param name The icon name (base name with or without '.png' or '.svg' extension)
+     * @return the requested image or null if the request failed
+     * @see #get(String, String)
      */
     public static ImageIcon get(String name) {
@@ -369,5 +370,9 @@
      * Load an image with a given file name, but do not throw an exception
      * when the image cannot be found.
-     * @see #get(java.lang.String, java.lang.String)
+     *
+     * @param subdir subdirectory the image lies in
+     * @param name The icon name (base name with or without '.png' or '.svg' extension)
+     * @return the requested image or null if the request failed
+     * @see #get(String, String)
      */
     public static ImageIcon getIfAvailable(String subdir, String name) {
@@ -376,5 +381,7 @@
 
     /**
-     * @see #getIfAvailable(java.lang.String, java.lang.String)
+     * @param name The icon name (base name with or without '.png' or '.svg' extension)
+     * @return the requested image or null if the request failed
+     * @see #getIfAvailable(String, String)
      */
     public static ImageIcon getIfAvailable(String name) {
@@ -854,5 +861,5 @@
      * @param img the image to be rotated.
      * @param rotatedAngle the rotated angle, in degree, clockwise. It could be any double but we
-     * will mod it with 360 before using it. More over for caching performance, it will be rounded to 
+     * will mod it with 360 before using it. More over for caching performance, it will be rounded to
      * an entire value between 0 and 360.
      *
@@ -863,5 +870,5 @@
         return createRotatedImage(img, rotatedAngle, ImageResource.DEFAULT_DIMENSION);
     }
-    
+
     /**
      * Creates a rotated version of the input image, scaled to the given dimension.
@@ -869,5 +876,5 @@
      * @param img the image to be rotated.
      * @param rotatedAngle the rotated angle, in degree, clockwise. It could be any double but we
-     * will mod it with 360 before using it. More over for caching performance, it will be rounded to 
+     * will mod it with 360 before using it. More over for caching performance, it will be rounded to
      * an entire value between 0 and 360.
      * @param dimension The requested dimensions. Use (-1,-1) for the original size
@@ -878,5 +885,5 @@
     public static Image createRotatedImage(Image img, double rotatedAngle, Dimension dimension) {
         CheckParameterUtil.ensureParameterNotNull(img, "img");
-        
+
         // convert rotatedAngle to an integer value from 0 to 360
         Long originalAngle = Math.round(rotatedAngle % 360);
@@ -884,5 +891,5 @@
             originalAngle = 360L;
         }
-        
+
         ImageResource imageResource = null;
 
@@ -892,7 +899,7 @@
                 ROTATE_CACHE.put(img, cacheByAngle = new HashMap<Long, ImageResource>());
             }
-            
+
             imageResource = cacheByAngle.get(originalAngle);
-            
+
             if (imageResource == null) {
                 // convert originalAngle to a value from 0 to 90
@@ -901,7 +908,7 @@
                     angle = 90.0;
                 }
-        
+
                 double radian = Math.toRadians(angle);
-        
+
                 new ImageIcon(img); // load completely
                 int iw = img.getWidth(null);
@@ -909,5 +916,5 @@
                 int w;
                 int h;
-        
+
                 if ((originalAngle >= 0 && originalAngle <= 90) || (originalAngle > 180 && originalAngle <= 270)) {
                     w = (int) (iw * Math.sin(DEGREE_90 - radian) + ih * Math.sin(radian));
@@ -921,18 +928,18 @@
                 Graphics g = image.getGraphics();
                 Graphics2D g2d = (Graphics2D) g.create();
-        
+
                 // calculate the center of the icon.
                 int cx = iw / 2;
                 int cy = ih / 2;
-        
+
                 // move the graphics center point to the center of the icon.
                 g2d.translate(w / 2, h / 2);
-        
+
                 // rotate the graphics about the center point of the icon
                 g2d.rotate(Math.toRadians(originalAngle));
-        
+
                 g2d.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC);
                 g2d.drawImage(img, -cx, -cy, null);
-        
+
                 g2d.dispose();
                 new ImageIcon(image); // load completely
@@ -941,10 +948,10 @@
         }
     }
-    
+
     /**
      * Creates a scaled down version of the input image to fit maximum dimensions. (Keeps aspect ratio)
      *
      * @param img the image to be scaled down.
-     * @param maxSize the maximum size in pixels (both for width and height) 
+     * @param maxSize the maximum size in pixels (both for width and height)
      *
      * @return the image after scaling.
