Index: trunk/src/org/openstreetmap/josm/gui/JosmUserIdentityManager.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/JosmUserIdentityManager.java	(revision 10216)
+++ trunk/src/org/openstreetmap/josm/gui/JosmUserIdentityManager.java	(revision 10217)
@@ -278,5 +278,4 @@
             }
             return;
-
         case "osm-server.url":
             String newUrl = null;
@@ -290,12 +289,11 @@
             }
             break;
-
         case "oauth.access-token.key":
             accessTokenKeyChanged = true;
             break;
-
         case "oauth.access-token.secret":
             accessTokenSecretChanged = true;
             break;
+        default: // Do nothing
         }
 
Index: trunk/src/org/openstreetmap/josm/gui/MainApplication.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/MainApplication.java	(revision 10216)
+++ trunk/src/org/openstreetmap/josm/gui/MainApplication.java	(revision 10217)
@@ -255,5 +255,5 @@
         int c;
         while ((c = g.getopt()) != -1) {
-            Option opt = null;
+            Option opt;
             switch (c) {
                 case 'h':
@@ -266,4 +266,6 @@
                     opt = Option.values()[g.getLongind()];
                     break;
+                default:
+                    opt = null;
             }
             if (opt != null) {
Index: trunk/src/org/openstreetmap/josm/gui/MapMover.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/MapMover.java	(revision 10216)
+++ trunk/src/org/openstreetmap/josm/gui/MapMover.java	(revision 10217)
@@ -92,4 +92,5 @@
                     nc.zoomTo(new EastNorth(center.east(), newcenter.north()));
                     break;
+                default: // Do nothing
                 }
             }
Index: trunk/src/org/openstreetmap/josm/gui/ScrollViewport.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/ScrollViewport.java	(revision 10216)
+++ trunk/src/org/openstreetmap/josm/gui/ScrollViewport.java	(revision 10217)
@@ -167,4 +167,5 @@
             deltaX *= -1;
             break;
+        default: // Do nothing
         }
 
Index: trunk/src/org/openstreetmap/josm/gui/bbox/SlippyMapControler.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/bbox/SlippyMapControler.java	(revision 10216)
+++ trunk/src/org/openstreetmap/josm/gui/bbox/SlippyMapControler.java	(revision 10217)
@@ -265,4 +265,6 @@
                 }
                 break;
+            default:
+                throw new IllegalStateException(Integer.toString(directionX));
             }
 
@@ -288,4 +290,6 @@
                 }
                 break;
+            default:
+                throw new IllegalStateException(Integer.toString(directionY));
             }
 
Index: trunk/src/org/openstreetmap/josm/gui/conflict/tags/PasteTagsConflictResolverDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/tags/PasteTagsConflictResolverDialog.java	(revision 10216)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/tags/PasteTagsConflictResolverDialog.java	(revision 10217)
@@ -325,4 +325,8 @@
     }
 
+    /**
+     * Returns conflict resolution.
+     * @return conflict resolution
+     */
     public TagCollection getResolution() {
         return allPrimitivesResolver.getModel().getResolution();
@@ -351,7 +355,7 @@
 
     static final class StatisticsInfo {
-        public int numTags;
-        public final Map<OsmPrimitiveType, Integer> sourceInfo;
-        public final Map<OsmPrimitiveType, Integer> targetInfo;
+        int numTags;
+        final Map<OsmPrimitiveType, Integer> sourceInfo;
+        final Map<OsmPrimitiveType, Integer> targetInfo;
 
         StatisticsInfo() {
@@ -385,9 +389,9 @@
         }
 
-        public void reset() {
+        void reset() {
             data.clear();
         }
 
-        public void append(StatisticsInfo info) {
+        void append(StatisticsInfo info) {
             data.add(info);
             fireTableDataChanged();
@@ -396,5 +400,5 @@
 
     static final class StatisticsInfoRenderer extends JLabel implements TableCellRenderer {
-        protected void reset() {
+        private void reset() {
             setIcon(null);
             setText("");
@@ -402,10 +406,10 @@
         }
 
-        protected void renderNumTags(StatisticsInfo info) {
+        private void renderNumTags(StatisticsInfo info) {
             if (info == null) return;
             setText(trn("{0} tag", "{0} tags", info.numTags, info.numTags));
         }
 
-        protected void renderStatistics(Map<OsmPrimitiveType, Integer> stat) {
+        private void renderStatistics(Map<OsmPrimitiveType, Integer> stat) {
             if (stat == null) return;
             if (stat.isEmpty()) return;
@@ -422,9 +426,10 @@
                     continue;
                 }
-                String msg = "";
+                String msg;
                 switch(type) {
                 case NODE: msg = trn("{0} node", "{0} nodes", numPrimitives, numPrimitives); break;
                 case WAY: msg = trn("{0} way", "{0} ways", numPrimitives, numPrimitives); break;
                 case RELATION: msg = trn("{0} relation", "{0} relations", numPrimitives, numPrimitives); break;
+                default: throw new AssertionError();
                 }
                 if (text.length() > 0) {
@@ -436,9 +441,9 @@
         }
 
-        protected void renderFrom(StatisticsInfo info) {
+        private void renderFrom(StatisticsInfo info) {
             renderStatistics(info.sourceInfo);
         }
 
-        protected void renderTo(StatisticsInfo info) {
+        private void renderTo(StatisticsInfo info) {
             renderStatistics(info.targetInfo);
         }
@@ -461,4 +466,5 @@
                 case 1: renderFrom(info); break;
                 case 2: renderTo(info); break;
+                default: // Do nothing
                 }
             }
Index: trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictResolverModel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictResolverModel.java	(revision 10216)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictResolverModel.java	(revision 10217)
@@ -132,4 +132,5 @@
             refresh();
             break;
+        default: // Do nothing
         }
         fireTableDataChanged();
Index: trunk/src/org/openstreetmap/josm/gui/conflict/tags/TagConflictResolverModel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/tags/TagConflictResolverModel.java	(revision 10216)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/tags/TagConflictResolverModel.java	(revision 10217)
@@ -181,4 +181,5 @@
                 decision.sumAllNumeric();
                 break;
+            default: // Do nothing
             }
         }
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/FilterTableModel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/FilterTableModel.java	(revision 10216)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/FilterTableModel.java	(revision 10217)
@@ -315,4 +315,5 @@
             updateFilters();
             break;
+        default: // Do nothing
         }
         if (column != 0) {
@@ -346,5 +347,9 @@
             case in_selection: /* filter mode: in selection */
                 return trc("filter", "F");
-            }
+            default:
+                Main.warn("Unknown filter mode: " + f.mode);
+            }
+            break;
+        default: // Do nothing
         }
         return null;
@@ -406,4 +411,8 @@
     }
 
+    /**
+     * Returns the list of filters.
+     * @return the list of filters
+     */
     public List<Filter> getFilters() {
         return filters;
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/SelectionListDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/SelectionListDialog.java	(revision 10216)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/SelectionListDialog.java	(revision 10217)
@@ -512,4 +512,5 @@
                 case WAY: numWays++; break;
                 case RELATION: numRelations++; break;
+                default: throw new AssertionError();
                 }
             }
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetCacheTableCellRenderer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetCacheTableCellRenderer.java	(revision 10216)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetCacheTableCellRenderer.java	(revision 10217)
@@ -60,4 +60,5 @@
         case 5: /* closed at */ renderDate(cs.getClosedAt()); break;
         case 6: /* discussions */ renderDiscussions(cs); break;
+        default: // Do nothing
         }
         return this;
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetDiscussionTableCellRenderer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetDiscussionTableCellRenderer.java	(revision 10216)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetDiscussionTableCellRenderer.java	(revision 10217)
@@ -38,4 +38,6 @@
             reset(comp, false);
             renderColors(comp, isSelected);
+            break;
+        default: // Do nothing
         }
         return comp;
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/properties/TagEditHelper.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/properties/TagEditHelper.java	(revision 10216)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/properties/TagEditHelper.java	(revision 10217)
@@ -1090,5 +1090,6 @@
             switch (PROPERTY_REFRESH_RECENT.get()) {
                 case REFRESH: cacheRecentTags(); // break missing intentionally
-                case STATUS: suggestRecentlyAddedTags();
+                case STATUS: suggestRecentlyAddedTags(); break;
+                default: // Do nothing
             }
         }
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java	(revision 10216)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java	(revision 10217)
@@ -820,4 +820,5 @@
                 memberTableModel.removeMembersReferringTo(toCheck);
                 break;
+            default: // Do nothing
             }
         }
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableLinkedCellRenderer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableLinkedCellRenderer.java	(revision 10216)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableLinkedCellRenderer.java	(revision 10217)
@@ -157,5 +157,5 @@
 
         /* special icons */
-        Image arrow = null;
+        Image arrow;
         switch (value.direction) {
         case FORWARD:
@@ -165,4 +165,6 @@
             arrow = arrowUp;
             break;
+        default:
+            arrow = null;
         }
         if (value.direction == Direction.ROUNDABOUT_LEFT) {
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/relation/sort/WayConnectionTypeCalculator.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/relation/sort/WayConnectionTypeCalculator.java	(revision 10216)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/relation/sort/WayConnectionTypeCalculator.java	(revision 10217)
@@ -266,4 +266,5 @@
             refNodes = wayRef.getNodes();
             break;
+        default: // Do nothing
         }
 
Index: trunk/src/org/openstreetmap/josm/gui/download/PlaceSelection.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/download/PlaceSelection.java	(revision 10216)
+++ trunk/src/org/openstreetmap/josm/gui/download/PlaceSelection.java	(revision 10217)
@@ -582,4 +582,5 @@
                 }
                 break;
+            default: // Do nothing
             }
             setToolTipText(lineWrapDescription(sr.description));
Index: trunk/src/org/openstreetmap/josm/gui/history/TagTableCellRenderer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/history/TagTableCellRenderer.java	(revision 10216)
+++ trunk/src/org/openstreetmap/josm/gui/history/TagTableCellRenderer.java	(revision 10217)
@@ -67,4 +67,5 @@
             setBackgroundReadable(key, model, isSelected, true);
             break;
+        default: // Do nothing
         }
 
Index: trunk/src/org/openstreetmap/josm/gui/io/AbstractUploadTask.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/io/AbstractUploadTask.java	(revision 10216)
+++ trunk/src/org/openstreetmap/josm/gui/io/AbstractUploadTask.java	(revision 10217)
@@ -38,12 +38,32 @@
 
 public abstract class AbstractUploadTask extends PleaseWaitRunnable {
+
+    /**
+     * Constructs a new {@code AbstractUploadTask}.
+     * @param title message for the user
+     * @param ignoreException If true, exception will be silently ignored. If false then
+     * exception will be handled by showing a dialog. When this runnable is executed using executor framework
+     * then use false unless you read result of task (because exception will get lost if you don't)
+     */
     public AbstractUploadTask(String title, boolean ignoreException) {
         super(title, ignoreException);
     }
 
+    /**
+     * Constructs a new {@code AbstractUploadTask}.
+     * @param title message for the user
+     * @param progressMonitor progress monitor
+     * @param ignoreException If true, exception will be silently ignored. If false then
+     * exception will be handled by showing a dialog. When this runnable is executed using executor framework
+     * then use false unless you read result of task (because exception will get lost if you don't)
+     */
     public AbstractUploadTask(String title, ProgressMonitor progressMonitor, boolean ignoreException) {
         super(title, progressMonitor, ignoreException);
     }
 
+    /**
+     * Constructs a new {@code AbstractUploadTask}.
+     * @param title message for the user
+     */
     public AbstractUploadTask(String title) {
         super(title);
@@ -93,9 +113,10 @@
     protected void handleUploadConflictForKnownConflict(final OsmPrimitiveType primitiveType, final long id, String serverVersion,
             String myVersion) {
-        String lbl = "";
+        String lbl;
         switch(primitiveType) {
         case NODE: lbl =  tr("Synchronize node {0} only", id); break;
         case WAY: lbl =  tr("Synchronize way {0} only", id); break;
         case RELATION: lbl =  tr("Synchronize relation {0} only", id); break;
+        default: throw new AssertionError();
         }
         ButtonSpec[] spec = new ButtonSpec[] {
Index: trunk/src/org/openstreetmap/josm/gui/io/ChangesetManagementPanel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/io/ChangesetManagementPanel.java	(revision 10216)
+++ trunk/src/org/openstreetmap/josm/gui/io/ChangesetManagementPanel.java	(revision 10217)
@@ -48,6 +48,6 @@
  */
 public class ChangesetManagementPanel extends JPanel implements ListDataListener {
-    public static final String SELECTED_CHANGESET_PROP = ChangesetManagementPanel.class.getName() + ".selectedChangeset";
-    public static final String CLOSE_CHANGESET_AFTER_UPLOAD = ChangesetManagementPanel.class.getName() + ".closeChangesetAfterUpload";
+    static final String SELECTED_CHANGESET_PROP = ChangesetManagementPanel.class.getName() + ".selectedChangeset";
+    static final String CLOSE_CHANGESET_AFTER_UPLOAD = ChangesetManagementPanel.class.getName() + ".closeChangesetAfterUpload";
 
     private JRadioButton rbUseNew;
@@ -56,5 +56,16 @@
     private JCheckBox cbCloseAfterUpload;
     private OpenChangesetComboBoxModel model;
-    private final transient ChangesetCommentModel changesetCommentModel;
+
+    /**
+     * Constructs a new {@code ChangesetManagementPanel}.
+     *
+     * @param changesetCommentModel the changeset comment model. Must not be null.
+     * @throws IllegalArgumentException if {@code changesetCommentModel} is null
+     */
+    public ChangesetManagementPanel(ChangesetCommentModel changesetCommentModel) {
+        CheckParameterUtil.ensureParameterNotNull(changesetCommentModel, "changesetCommentModel");
+        build();
+        refreshGUI();
+    }
 
     /**
@@ -159,23 +170,8 @@
     }
 
-    /**
-     * Creates a new panel
-     *
-     * @param changesetCommentModel the changeset comment model. Must not be null.
-     * @throws IllegalArgumentException if {@code changesetCommentModel} is null
-     */
-    public ChangesetManagementPanel(ChangesetCommentModel changesetCommentModel) {
-        CheckParameterUtil.ensureParameterNotNull(changesetCommentModel, "changesetCommentModel");
-        this.changesetCommentModel = changesetCommentModel;
-        build();
-        refreshGUI();
-    }
-
     protected void refreshGUI() {
         rbExisting.setEnabled(model.getSize() > 0);
-        if (model.getSize() == 0) {
-            if (!rbUseNew.isSelected()) {
-                rbUseNew.setSelected(true);
-            }
+        if (model.getSize() == 0 && !rbUseNew.isSelected()) {
+            rbUseNew.setSelected(true);
         }
         cbOpenChangesets.setEnabled(model.getSize() > 0 && rbExisting.isSelected());
@@ -235,7 +231,5 @@
 
     /**
-     * Listens to changes in the selected changeset and fires property
-     * change events.
-     *
+     * Listens to changes in the selected changeset and fires property change events.
      */
     class ChangesetListItemStateListener implements ItemListener {
@@ -251,7 +245,5 @@
 
     /**
-     * Listens to changes in "close after upload" flag and fires
-     * property change events.
-     *
+     * Listens to changes in "close after upload" flag and fires property change events.
      */
     class CloseAfterUploadItemStateListener implements ItemListener {
@@ -269,4 +261,5 @@
                 Main.pref.put("upload.changeset.close", false);
                 break;
+            default: // Do nothing
             }
         }
@@ -275,5 +268,4 @@
     /**
      * Listens to changes in the two radio buttons rbUseNew and rbUseExisting.
-     *
      */
     class RadioButtonHandler implements ItemListener {
Index: trunk/src/org/openstreetmap/josm/gui/io/SaveLayersModel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/io/SaveLayersModel.java	(revision 10216)
+++ trunk/src/org/openstreetmap/josm/gui/io/SaveLayersModel.java	(revision 10217)
@@ -116,4 +116,5 @@
             info.setDoSaveToFile(values[1]);
             break;
+        default: // Do nothing
         }
         fireTableDataChanged();
Index: trunk/src/org/openstreetmap/josm/gui/io/UploadStrategySelectionPanel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/io/UploadStrategySelectionPanel.java	(revision 10216)
+++ trunk/src/org/openstreetmap/josm/gui/io/UploadStrategySelectionPanel.java	(revision 10217)
@@ -255,14 +255,14 @@
     public UploadStrategySpecification getUploadStrategySpecification() {
         UploadStrategy strategy = getUploadStrategy();
-        int chunkSize = getChunkSize();
         UploadStrategySpecification spec = new UploadStrategySpecification();
         if (strategy != null) {
             switch(strategy) {
+            case CHUNKED_DATASET_STRATEGY:
+                spec.setStrategy(strategy).setChunkSize(getChunkSize());
+                break;
             case INDIVIDUAL_OBJECTS_STRATEGY:
             case SINGLE_REQUEST_STRATEGY:
+            default:
                 spec.setStrategy(strategy);
-                break;
-            case CHUNKED_DATASET_STRATEGY:
-                spec.setStrategy(strategy).setChunkSize(chunkSize);
                 break;
             }
Index: trunk/src/org/openstreetmap/josm/gui/layer/gpx/GpxDrawHelper.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/gpx/GpxDrawHelper.java	(revision 10216)
+++ trunk/src/org/openstreetmap/josm/gui/layer/gpx/GpxDrawHelper.java	(revision 10217)
@@ -358,4 +358,5 @@
                         }
                         break;
+                    default: // Do nothing
                     }
                     if (!noDraw && (maxLineLength == -1 || dist <= maxLineLength)) {
Index: trunk/src/org/openstreetmap/josm/gui/mappaint/styleelement/BoxTextElement.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/mappaint/styleelement/BoxTextElement.java	(revision 10216)
+++ trunk/src/org/openstreetmap/josm/gui/mappaint/styleelement/BoxTextElement.java	(revision 10217)
@@ -120,5 +120,4 @@
     public static BoxTextElement create(Environment env, BoxProvider boxProvider, Rectangle box) {
         initDefaultParameters();
-        Cascade c = env.mc.getCascade(env.layer);
 
         TextLabel text = TextLabel.create(env, DEFAULT_TEXT_COLOR, false);
@@ -129,7 +128,8 @@
         if (text.labelCompositionStrategy.compose(env.osm) == null) return null;
 
-        HorizontalTextAlignment hAlign = HorizontalTextAlignment.RIGHT;
-        Keyword hAlignKW = c.get(TEXT_ANCHOR_HORIZONTAL, Keyword.RIGHT, Keyword.class);
-        switch (hAlignKW.val) {
+        Cascade c = env.mc.getCascade(env.layer);
+
+        HorizontalTextAlignment hAlign;
+        switch (c.get(TEXT_ANCHOR_HORIZONTAL, Keyword.RIGHT, Keyword.class).val) {
             case "left":
                 hAlign = HorizontalTextAlignment.LEFT;
@@ -137,11 +137,11 @@
             case "center":
                 hAlign = HorizontalTextAlignment.CENTER;
-        }
-        VerticalTextAlignment vAlign = VerticalTextAlignment.BOTTOM;
-        Keyword vAlignKW = c.get(TEXT_ANCHOR_VERTICAL, Keyword.BOTTOM, Keyword.class);
-        switch (vAlignKW.val) {
-            case "bottom":
-                vAlign = VerticalTextAlignment.BOTTOM;
-                break;
+                break;
+            case "right":
+            default:
+                hAlign = HorizontalTextAlignment.RIGHT;
+        }
+        VerticalTextAlignment vAlign;
+        switch (c.get(TEXT_ANCHOR_VERTICAL, Keyword.BOTTOM, Keyword.class).val) {
             case "above":
                 vAlign = VerticalTextAlignment.ABOVE;
@@ -155,4 +155,8 @@
             case "below":
                 vAlign = VerticalTextAlignment.BELOW;
+                break;
+            case "bottom":
+            default:
+                vAlign = VerticalTextAlignment.BOTTOM;
         }
 
Index: trunk/src/org/openstreetmap/josm/gui/oauth/AdvancedOAuthPropertiesPanel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/oauth/AdvancedOAuthPropertiesPanel.java	(revision 10216)
+++ trunk/src/org/openstreetmap/josm/gui/oauth/AdvancedOAuthPropertiesPanel.java	(revision 10217)
@@ -55,4 +55,11 @@
     private String apiUrl;
 
+    /**
+     * Constructs a new {@code AdvancedOAuthPropertiesPanel}.
+     */
+    public AdvancedOAuthPropertiesPanel() {
+        build();
+    }
+
     protected final void build() {
         setLayout(new GridBagLayout());
@@ -111,5 +118,4 @@
         SelectAllOnFocusGainedDecorator.decorate(tfAccessTokenURL);
 
-
         // -- authorise URL
         gc.gridy = 5;
@@ -123,5 +129,4 @@
         SelectAllOnFocusGainedDecorator.decorate(tfAuthoriseURL);
 
-
         // -- OSM login URL
         gc.gridy = 6;
@@ -134,5 +139,4 @@
         add(tfOsmLoginURL, gc);
         SelectAllOnFocusGainedDecorator.decorate(tfOsmLoginURL);
-
 
         // -- OSM logout URL
@@ -250,11 +254,4 @@
 
     /**
-     * Constructs a new {@code AdvancedOAuthPropertiesPanel}.
-     */
-    public AdvancedOAuthPropertiesPanel() {
-        build();
-    }
-
-    /**
      * Initializes the panel from the values in the preferences <code>preferences</code>.
      *
@@ -308,4 +305,5 @@
                 setChildComponentsEnabled(true);
                 break;
+            default: // Do nothing
             }
         }
Index: trunk/src/org/openstreetmap/josm/gui/preferences/display/GPXSettingsPanel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/display/GPXSettingsPanel.java	(revision 10216)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/display/GPXSettingsPanel.java	(revision 10217)
@@ -357,5 +357,6 @@
             colorDynamic.setEnabled(false);
         } else {
-            switch(Main.pref.getInteger("draw.rawgps.colors", layerName, 0)) {
+            int colorType = Main.pref.getInteger("draw.rawgps.colors", layerName, 0);
+            switch (colorType) {
             case 0: colorTypeNone.setSelected(true);   break;
             case 1: colorTypeVelocity.setSelected(true);  break;
@@ -363,4 +364,5 @@
             case 3: colorTypeDirection.setSelected(true); break;
             case 4: colorTypeTime.setSelected(true);  break;
+            default: Main.warn("Unknown color type: " + colorType);
             }
             int ccts = Main.pref.getInteger("draw.rawgps.colorTracksTune", layerName, 45);
Index: trunk/src/org/openstreetmap/josm/gui/preferences/server/OsmApiUrlInputPanel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/server/OsmApiUrlInputPanel.java	(revision 10216)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/server/OsmApiUrlInputPanel.java	(revision 10217)
@@ -144,7 +144,5 @@
         String oldUrl = OsmApi.getOsmApi().getServerUrl();
         String hmiUrl = getStrippedApiUrl();
-        if (cbUseDefaultServerUrl.isSelected()) {
-            Main.pref.put("osm-server.url", null);
-        } else if (OsmApi.DEFAULT_API_URL.equals(hmiUrl)) {
+        if (cbUseDefaultServerUrl.isSelected() || OsmApi.DEFAULT_API_URL.equals(hmiUrl)) {
             Main.pref.put("osm-server.url", null);
         } else {
@@ -300,4 +298,5 @@
                 propagator.propagate();
                 break;
+            default: // Do nothing
             }
         }
Index: trunk/src/org/openstreetmap/josm/gui/tagging/TagEditorModel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/tagging/TagEditorModel.java	(revision 10216)
+++ trunk/src/org/openstreetmap/josm/gui/tagging/TagEditorModel.java	(revision 10217)
@@ -80,4 +80,8 @@
     }
 
+    /**
+     * Adds property change listener.
+     * @param listener property change listener to add
+     */
     public void addPropertyChangeListener(PropertyChangeListener listener) {
         propChangeSupport.addPropertyChangeListener(listener);
@@ -102,4 +106,8 @@
     }
 
+    /**
+     * Removes property change listener.
+     * @param listener property change listener to remove
+     */
     public void removePropertyChangeListener(PropertyChangeListener listener) {
         propChangeSupport.removePropertyChangeListener(listener);
@@ -146,9 +154,9 @@
             case 1:
                 String v = (String) value;
-                if (tag.getValueCount() > 1 && !v.isEmpty()) {
-                    updateTagValue(tag, v);
-                } else if (tag.getValueCount() <= 1) {
+                if ((tag.getValueCount() > 1 && !v.isEmpty()) || tag.getValueCount() <= 1) {
                     updateTagValue(tag, v);
                 }
+                break;
+            default: // Do nothing
             }
         }
@@ -653,5 +661,5 @@
         }
 
-        public void apply() {
+        void apply() {
             rowSelectionModel.setValueIsAdjusting(true);
             colSelectionModel.setValueIsAdjusting(true);
Index: trunk/src/org/openstreetmap/josm/gui/tagging/TagTable.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/tagging/TagTable.java	(revision 10216)
+++ trunk/src/org/openstreetmap/josm/gui/tagging/TagTable.java	(revision 10217)
@@ -210,10 +210,11 @@
                 deleteTags();
                 break;
+            default: // Do nothing
             }
 
             if (isEditing()) {
-                CellEditor editor = getCellEditor();
-                if (editor != null) {
-                    editor.cancelCellEditing();
+                CellEditor cEditor = getCellEditor();
+                if (cEditor != null) {
+                    cEditor.cancelCellEditing();
                 }
             }
@@ -260,7 +261,7 @@
         @Override
         public void actionPerformed(ActionEvent e) {
-            CellEditor editor = getCellEditor();
-            if (editor != null) {
-                getCellEditor().stopCellEditing();
+            CellEditor cEditor = getCellEditor();
+            if (cEditor != null) {
+                cEditor.stopCellEditing();
             }
             final int rowIdx = model.getRowCount()-1;
@@ -599,8 +600,6 @@
                     return;
                 else if (c instanceof Window) {
-                    if (c == SwingUtilities.getRoot(TagTable.this)) {
-                        if (!getCellEditor().stopCellEditing()) {
-                            getCellEditor().cancelCellEditing();
-                        }
+                    if (c == SwingUtilities.getRoot(TagTable.this) && !getCellEditor().stopCellEditing()) {
+                        getCellEditor().cancelCellEditing();
                     }
                     break;
Index: trunk/src/org/openstreetmap/josm/gui/util/AdjustmentSynchronizer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/util/AdjustmentSynchronizer.java	(revision 10216)
+++ trunk/src/org/openstreetmap/josm/gui/util/AdjustmentSynchronizer.java	(revision 10217)
@@ -139,4 +139,5 @@
                     }
                     break;
+                default: // Do nothing
                 }
             }
Index: trunk/src/org/openstreetmap/josm/gui/widgets/SearchTextResultListPanel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/widgets/SearchTextResultListPanel.java	(revision 10216)
+++ trunk/src/org/openstreetmap/josm/gui/widgets/SearchTextResultListPanel.java	(revision 10217)
@@ -33,4 +33,7 @@
     protected abstract void filterItems();
 
+    /**
+     * Constructs a new {@code SearchTextResultListPanel}.
+     */
     public SearchTextResultListPanel() {
         super(new BorderLayout());
@@ -75,4 +78,5 @@
                         selectItem(lsResultModel.getSize());
                         break;
+                    default: // Do nothing
                 }
             }
Index: trunk/src/org/openstreetmap/josm/io/MultiFetchServerObjectReader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/MultiFetchServerObjectReader.java	(revision 10216)
+++ trunk/src/org/openstreetmap/josm/io/MultiFetchServerObjectReader.java	(revision 10217)
@@ -311,5 +311,5 @@
      */
     protected void fetchPrimitives(Set<Long> ids, OsmPrimitiveType type, ProgressMonitor progressMonitor) throws OsmTransferException {
-        String msg = "";
+        String msg;
         final String baseUrl = getBaseUrl();
         switch (type) {
@@ -317,4 +317,5 @@
             case WAY:      msg = tr("Fetching a package of ways from ''{0}''",      baseUrl); break;
             case RELATION: msg = tr("Fetching a package of relations from ''{0}''", baseUrl); break;
+            default: throw new AssertionError();
         }
         progressMonitor.setTicksCount(ids.size());
Index: trunk/src/org/openstreetmap/josm/io/OsmServerWriter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/OsmServerWriter.java	(revision 10216)
+++ trunk/src/org/openstreetmap/josm/io/OsmServerWriter.java	(revision 10217)
@@ -39,4 +39,9 @@
 
     private static volatile List<OsmServerWritePostprocessor> postprocessors;
+
+    /**
+     * Registers a post-processor.
+     * @param pp post-processor to register
+     */
     public static void registerPostprocessor(OsmServerWritePostprocessor pp) {
         if (postprocessors == null) {
@@ -46,4 +51,8 @@
     }
 
+    /**
+     * Unregisters a post-processor.
+     * @param pp post-processor to unregister
+     */
     public static void unregisterPostprocessor(OsmServerWritePostprocessor pp) {
         if (postprocessors != null) {
@@ -61,5 +70,5 @@
     private long uploadStartTime;
 
-    public String timeLeft(int progress, int listSize) {
+    protected String timeLeft(int progress, int listSize) {
         long now = System.currentTimeMillis();
         long elapsed = now - uploadStartTime;
@@ -93,12 +102,12 @@
             uploadStartTime = System.currentTimeMillis();
             for (OsmPrimitive osm : primitives) {
-                int progress = progressMonitor.getTicks();
-                String timeLeftStr = timeLeft(progress, primitives.size());
-                String msg = "";
+                String msg;
                 switch(OsmPrimitiveType.from(osm)) {
                 case NODE: msg = marktr("{0}% ({1}/{2}), {3} left. Uploading node ''{4}'' (id: {5})"); break;
                 case WAY: msg = marktr("{0}% ({1}/{2}), {3} left. Uploading way ''{4}'' (id: {5})"); break;
                 case RELATION: msg = marktr("{0}% ({1}/{2}), {3} left. Uploading relation ''{4}'' (id: {5})"); break;
+                default: throw new AssertionError();
                 }
+                int progress = progressMonitor.getTicks();
                 progressMonitor.subTask(
                         tr(msg,
@@ -106,7 +115,6 @@
                                 progress,
                                 primitives.size(),
-                                timeLeftStr,
-                                osm.getName() == null ? osm.getId() : osm.getName(),
-                                        osm.getId()));
+                                timeLeft(progress, primitives.size()),
+                                osm.getName() == null ? osm.getId() : osm.getName(), osm.getId()));
                 makeApiRequest(osm, progressMonitor);
                 processed.add(osm);
@@ -134,6 +142,4 @@
             progressMonitor.beginTask(tr("Starting to upload in one request ..."));
             processed.addAll(api.uploadDiff(primitives, progressMonitor.createSubTaskMonitor(ProgressMonitor.ALL_TICKS, false)));
-        } catch (OsmTransferException e) {
-            throw e;
         } finally {
             progressMonitor.finishTask();
@@ -151,5 +157,5 @@
      */
     protected void uploadChangesInChunks(Collection<? extends OsmPrimitive> primitives, ProgressMonitor progressMonitor, int chunkSize)
-            throws OsmTransferException, IllegalArgumentException {
+            throws OsmTransferException {
         if (chunkSize <= 0)
             throw new IllegalArgumentException(tr("Value >0 expected for parameter ''{0}'', got {1}", "chunkSize", chunkSize));
@@ -176,6 +182,4 @@
                 processed.addAll(api.uploadDiff(chunk, progressMonitor.createSubTaskMonitor(ProgressMonitor.ALL_TICKS, false)));
             }
-        } catch (OsmTransferException e) {
-            throw e;
         } finally {
             progressMonitor.finishTask();
@@ -223,6 +227,4 @@
                 break;
             }
-        } catch (OsmTransferException e) {
-            throw e;
         } finally {
             executePostprocessors(monitor);
@@ -242,4 +244,7 @@
     }
 
+    /**
+     * Cancel operation.
+     */
     public void cancel() {
         this.canceled = true;
Index: trunk/src/org/openstreetmap/josm/io/imagery/ImageryReader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/imagery/ImageryReader.java	(revision 10216)
+++ trunk/src/org/openstreetmap/josm/io/imagery/ImageryReader.java	(revision 10217)
@@ -54,8 +54,25 @@
     }
 
+    /**
+     * Constructs a {@code ImageryReader} from a given filename, URL or internal resource.
+     *
+     * @param source can be:<ul>
+     *  <li>relative or absolute file name</li>
+     *  <li>{@code file:///SOME/FILE} the same as above</li>
+     *  <li>{@code http://...} a URL. It will be cached on disk.</li>
+     *  <li>{@code resource://SOME/FILE} file from the classpath (usually in the current *.jar)</li>
+     *  <li>{@code josmdir://SOME/FILE} file inside josm user data directory (since r7058)</li>
+     *  <li>{@code josmplugindir://SOME/FILE} file inside josm plugin directory (since r7834)</li></ul>
+     */
     public ImageryReader(String source) {
         this.source = source;
     }
 
+    /**
+     * Parses imagery source.
+     * @return list of imagery info
+     * @throws SAXException if any SAX error occurs
+     * @throws IOException if any I/O error occurs
+     */
     public List<ImageryInfo> parse() throws SAXException, IOException {
         Parser parser = new Parser();
@@ -328,4 +345,5 @@
                         }
                         break;
+                    default: // Do nothing
                     }
                 }
@@ -456,11 +474,10 @@
                 projections = null;
                 break;
-            /* nothing to do for these or the unknown type:
             case NO_TILE:
             case NO_TILESUM:
             case METADATA:
             case UNKNOWN:
-                break;
-            */
+            default:
+                // nothing to do for these or the unknown type
             }
         }
