Index: /trunk/src/org/openstreetmap/josm/actions/AbstractInfoAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/AbstractInfoAction.java	(revision 9135)
+++ /trunk/src/org/openstreetmap/josm/actions/AbstractInfoAction.java	(revision 9136)
@@ -23,10 +23,32 @@
 import org.openstreetmap.josm.tools.Shortcut;
 
+/**
+ * Abstract base class for info actions, opening an URL describing a particular object.
+ * @since 1697
+ */
 public abstract class AbstractInfoAction extends JosmAction {
 
+    /**
+     * Constructs a new {@code AbstractInfoAction}.
+     * @param installAdapters false, if you don't want to install layer changed and selection changed adapters
+     */
     public AbstractInfoAction(boolean installAdapters) {
         super(installAdapters);
     }
 
+    /**
+     * Constructs a new {@code AbstractInfoAction}.
+     * @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
+     * @param installAdapters false, if you don't want to install layer changed and selection changed adapters
+     */
     public AbstractInfoAction(String name, String iconName, String tooltip, Shortcut shortcut, boolean register,
             String toolbarId, boolean installAdapters) {
@@ -34,4 +56,9 @@
     }
 
+    /**
+     * Asks user confirmation before launching a large number of browser windows.
+     * @param numBrowsers the number of browser windows to open
+     * @return {@code true} if the user confirms, {@code false} otherwise
+     */
     public static boolean confirmLaunchMultiple(int numBrowsers) {
         String msg  = /* for correct i18n of plural forms - see #9110 */ trn(
Index: /trunk/src/org/openstreetmap/josm/actions/HistoryInfoWebAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/HistoryInfoWebAction.java	(revision 9135)
+++ /trunk/src/org/openstreetmap/josm/actions/HistoryInfoWebAction.java	(revision 9136)
@@ -12,4 +12,8 @@
 import org.openstreetmap.josm.tools.Shortcut;
 
+/**
+ * Display history information about OSM ways, nodes, or relations in web browser.
+ * @since 4408
+ */
 public class HistoryInfoWebAction extends AbstractInfoAction {
 
Index: /trunk/src/org/openstreetmap/josm/actions/InfoWebAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/InfoWebAction.java	(revision 9135)
+++ /trunk/src/org/openstreetmap/josm/actions/InfoWebAction.java	(revision 9136)
@@ -59,8 +59,6 @@
     private void updateEnabledStateWithNotes() {
         // Allows enabling if a note is selected, even if no OSM object is selected
-        if (!isEnabled() && Main.isDisplayingMapView()) {
-            if (Main.map.noteDialog.getSelectedNote() != null) {
-                setEnabled(true);
-            }
+        if (!isEnabled() && Main.isDisplayingMapView() && Main.map.noteDialog.getSelectedNote() != null) {
+            setEnabled(true);
         }
     }
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/UserListDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/UserListDialog.java	(revision 9135)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/UserListDialog.java	(revision 9136)
@@ -131,4 +131,8 @@
     }
 
+    /**
+     * Refreshes user list from given collection of OSM primitives.
+     * @param fromPrimitives OSM primitives to fetch users from
+     */
     public void refresh(Collection<? extends OsmPrimitive> fromPrimitives) {
         model.populate(fromPrimitives);
@@ -152,5 +156,4 @@
             refresh(((OsmDataLayer) layer).data.getAllSelected());
         }
-
     }
 
@@ -169,5 +172,6 @@
         public void select() {
             int[] indexes = userTable.getSelectedRows();
-            if (indexes == null || indexes.length == 0) return;
+            if (indexes == null || indexes.length == 0)
+                return;
             model.selectPrimitivesOwnedBy(userTable.getSelectedRows());
         }
@@ -188,6 +192,6 @@
     }
 
-    /*
-     * Action for launching the info page of a user
+    /**
+     * Action for launching the info page of a user.
      */
     class ShowUserInfoAction extends AbstractInfoAction implements ListSelectionListener {
@@ -204,7 +208,9 @@
         public void actionPerformed(ActionEvent e) {
             int[] rows = userTable.getSelectedRows();
-            if (rows == null || rows.length == 0) return;
+            if (rows == null || rows.length == 0)
+                return;
             List<User> users = model.getSelectedUsers(rows);
-            if (users.isEmpty()) return;
+            if (users.isEmpty())
+                return;
             if (users.size() > 10) {
                 Main.warn(tr("Only launching info browsers for the first {0} of {1} selected users", 10, users.size()));
@@ -257,7 +263,7 @@
      */
     private static class UserInfo implements Comparable<UserInfo> {
-        public User user;
-        public int count;
-        public double percent;
+        public final User user;
+        public final int count;
+        public final double percent;
 
         UserInfo(User user, int count, double percent) {
@@ -269,8 +275,12 @@
         @Override
         public int compareTo(UserInfo o) {
-            if (count < o.count) return 1;
-            if (count > o.count) return -1;
-            if (user == null || user.getName() == null) return 1;
-            if (o.user == null || o.user.getName() == null) return -1;
+            if (count < o.count)
+                return 1;
+            if (count > o.count)
+                return -1;
+            if (user == null || user.getName() == null)
+                return 1;
+            if (o.user == null || o.user.getName() == null)
+                return -1;
             return user.getName().compareTo(o.user.getName());
         }
@@ -297,5 +307,6 @@
         protected Map<User, Integer> computeStatistics(Collection<? extends OsmPrimitive> primitives) {
             Map<User, Integer> ret = new HashMap<>();
-            if (primitives == null || primitives.isEmpty()) return ret;
+            if (primitives == null || primitives.isEmpty())
+                return ret;
             for (OsmPrimitive primitive: primitives) {
                 if (ret.containsKey(primitive.getUser())) {
@@ -327,5 +338,6 @@
         @Override
         public int getRowCount() {
-            if (data == null) return 0;
+            if (data == null)
+                return 0;
             return data.size();
         }
@@ -338,6 +350,6 @@
             case 1: /* count */ return info.count;
             case 2: /* percent */ return NumberFormat.getPercentInstance().format(info.percent);
-            }
-            return null;
+            default: return null;
+            }
         }
 
@@ -364,5 +376,6 @@
         public List<User> getSelectedUsers(int[] rows) {
             List<User> ret = new LinkedList<>();
-            if (rows == null || rows.length == 0) return ret;
+            if (rows == null || rows.length == 0)
+                return ret;
             for (int row: rows) {
                 if (data.get(row).user == null) {
Index: /trunk/src/org/openstreetmap/josm/gui/history/VersionTable.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/history/VersionTable.java	(revision 9135)
+++ /trunk/src/org/openstreetmap/josm/gui/history/VersionTable.java	(revision 9136)
@@ -47,4 +47,15 @@
     private VersionTablePopupMenu popupMenu;
     private final transient HistoryBrowserModel model;
+
+    /**
+     * Constructs a new {@code VersionTable}.
+     * @param model model used by the history browser
+     */
+    public VersionTable(HistoryBrowserModel model) {
+        super(model.getVersionTableModel(), new VersionTableColumnModel());
+        model.addObserver(this);
+        build();
+        this.model = model;
+    }
 
     protected void build() {
@@ -93,15 +104,4 @@
     }
 
-    /**
-     * Constructs a new {@code VersionTable}.
-     * @param model model used by the history browser
-     */
-    public VersionTable(HistoryBrowserModel model) {
-        super(model.getVersionTableModel(), new VersionTableColumnModel());
-        model.addObserver(this);
-        build();
-        this.model = model;
-    }
-
     // some kind of hack to prevent the table from scrolling to the
     // right when clicking on the cells
@@ -140,8 +140,8 @@
         @Override
         protected int checkTableSelection(JTable table, Point p) {
-            HistoryBrowserModel.VersionTableModel model = getVersionTableModel();
+            HistoryBrowserModel.VersionTableModel tableModel = getVersionTableModel();
             int row = rowAtPoint(p);
-            if (row > -1 && !model.isLatest(row)) {
-                popupMenu.prepare(model.getPrimitive(row));
+            if (row > -1 && !tableModel.isLatest(row)) {
+                popupMenu.prepare(tableModel.getPrimitive(row));
             }
             return row;
@@ -252,4 +252,7 @@
     }
 
+    /**
+     * Renderer for history radio buttons in columns A and B.
+     */
     public static class RadioButtonRenderer extends JRadioButton implements TableCellRenderer {
 
@@ -263,4 +266,7 @@
     }
 
+    /**
+     * Editor for history radio buttons in columns A and B.
+     */
     public static class RadioButtonEditor extends DefaultCellEditor implements ItemListener {
 
@@ -278,5 +284,6 @@
         @Override
         public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
-            if (value == null) return null;
+            if (value == null)
+                return null;
             boolean val = (Boolean) value;
             btn.setSelected(val);
@@ -297,4 +304,7 @@
     }
 
+    /**
+     * Renderer for history version labels, allowing to define horizontal alignment.
+     */
     public static class AlignedRenderer extends JLabel implements TableCellRenderer {
 
