Index: /trunk/src/org/openstreetmap/josm/actions/AlignInCircleAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/AlignInCircleAction.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/actions/AlignInCircleAction.java	(revision 10308)
@@ -247,5 +247,5 @@
         int nodeCount = nodes.size();
         // Search first fixed node
-        int startPosition = 0;
+        int startPosition;
         for (startPosition = 0; startPosition < nodeCount; startPosition++) {
             if (fixNodes.contains(nodes.get(startPosition % nodeCount)))
Index: /trunk/src/org/openstreetmap/josm/actions/AlignInLineAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/AlignInLineAction.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/actions/AlignInLineAction.java	(revision 10308)
@@ -173,5 +173,5 @@
 
         try {
-            Command cmd = null;
+            Command cmd;
             // Decide what to align based on selection:
 
@@ -182,5 +182,5 @@
                 // Only 1 node selected -> align this node relative to referers way
                 Node selectedNode = selectedNodes.get(0);
-                List<Way> involvedWays = null;
+                List<Way> involvedWays;
                 if (selectedWays.isEmpty())
                     // No selected way, all way containing this node are used
Index: /trunk/src/org/openstreetmap/josm/actions/JoinAreasAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/JoinAreasAction.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/actions/JoinAreasAction.java	(revision 10308)
@@ -775,5 +775,5 @@
      * @param isInner - if true, reverts the direction (for multipolygon islands)
      * @return list of parts, marked with the inside orientation.
-     * @throws IllegalArgumentException if parts is empty
+     * @throws IllegalArgumentException if parts is empty or not circular
      */
     private static List<WayInPolygon> markWayInsideSide(List<Way> parts, boolean isInner) {
@@ -785,5 +785,5 @@
 
             if (!parts.get(pos).lastNode().equals(parts.get((pos + 1) % parts.size()).firstNode()))
-                throw new RuntimeException("Way not circular");
+                throw new IllegalArgumentException("Way not circular");
 
             nextWayMap.put(parts.get(pos), parts.get((pos + 1) % parts.size()));
@@ -818,7 +818,6 @@
 
         if (topNode.equals(topWay.firstNode()) || topNode.equals(topWay.lastNode())) {
-            Node headNode = null; // the node at junction
-            Node prevNode = null; // last node from previous path
-            wayClockwise = false;
+            Node headNode; // the node at junction
+            Node prevNode; // last node from previous path
 
             //node is in split point - find the outermost way from this point
Index: /trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmChangeTask.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmChangeTask.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmChangeTask.java	(revision 10308)
@@ -149,5 +149,5 @@
                     HistoryOsmPrimitive hp = history.getByDate(date);
                     if (hp != null) {
-                        PrimitiveData data = null;
+                        PrimitiveData data;
 
                         switch (p.getType()) {
Index: /trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java	(revision 10308)
@@ -398,7 +398,5 @@
 
         boolean newNode = false;
-        Node n = null;
-
-        n = Main.map.mapView.getNearestNode(mousePos, OsmPrimitive.isSelectablePredicate);
+        Node n = Main.map.mapView.getNearestNode(mousePos, OsmPrimitive.isSelectablePredicate);
         if (ctrl) {
             Iterator<Way> it = getCurrentDataSet().getSelectedWays().iterator();
Index: /trunk/src/org/openstreetmap/josm/actions/mapmode/ExtrudeAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/mapmode/ExtrudeAction.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/actions/mapmode/ExtrudeAction.java	(revision 10308)
@@ -684,5 +684,4 @@
             wnew.addNode(insertionPoint, n2New);
             wayWasModified = true;
-            insertionPoint++;
             cmds.add(new AddCommand(n2New));
             changedNodes.add(n2New);
Index: /trunk/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java	(revision 10308)
@@ -1196,7 +1196,6 @@
                 Pair<Node, Node> vnp = null, wnp = new Pair<>(null, null);
 
-                Way w = null;
                 for (WaySegment ws : mv.getNearestWaySegments(p, mv.isSelectablePredicate)) {
-                    w = ws.way;
+                    Way w = ws.way;
 
                     wnp.a = w.getNode(ws.lowerIndex);
Index: /trunk/src/org/openstreetmap/josm/actions/search/SearchCompiler.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/search/SearchCompiler.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/actions/search/SearchCompiler.java	(revision 10308)
@@ -680,5 +680,5 @@
                 }
             } else {
-                String mv = null;
+                String mv;
 
                 if ("timestamp".equals(key) && osm instanceof OsmPrimitive) {
Index: /trunk/src/org/openstreetmap/josm/command/ChangePropertyCommand.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/command/ChangePropertyCommand.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/command/ChangePropertyCommand.java	(revision 10308)
@@ -154,5 +154,5 @@
         if (objects.size() == 1 && tags.size() == 1) {
             OsmPrimitive primitive = objects.get(0);
-            String msg = "";
+            String msg;
             Map.Entry<String, String> entry = tags.entrySet().iterator().next();
             if (entry.getValue() == null) {
Index: /trunk/src/org/openstreetmap/josm/corrector/TagCorrector.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/corrector/TagCorrector.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/corrector/TagCorrector.java	(revision 10308)
@@ -146,5 +146,5 @@
 
                     // create the clone
-                    OsmPrimitive clone = null;
+                    OsmPrimitive clone;
                     if (primitive instanceof Way) {
                         clone = new Way((Way) primitive);
Index: /trunk/src/org/openstreetmap/josm/data/cache/JCSCachedTileLoaderJob.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/cache/JCSCachedTileLoaderJob.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/data/cache/JCSCachedTileLoaderJob.java	(revision 10308)
@@ -256,5 +256,5 @@
 
     private void finishLoading(LoadResult result) {
-        Set<ICachedLoaderListener> listeners = null;
+        Set<ICachedLoaderListener> listeners;
         synchronized (inProgress) {
             listeners = inProgress.remove(getUrlNoException().toString());
Index: /trunk/src/org/openstreetmap/josm/data/osm/DataSetMerger.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/osm/DataSetMerger.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/data/osm/DataSetMerger.java	(revision 10308)
@@ -111,5 +111,5 @@
         // the target dataset. Create a clone and add it to the target dataset.
         //
-        OsmPrimitive target = null;
+        OsmPrimitive target;
         switch(source.getType()) {
         case NODE: target = source.isNew() ? new Node() : new Node(source.getId()); break;
Index: /trunk/src/org/openstreetmap/josm/data/osm/FilterWorker.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/osm/FilterWorker.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/data/osm/FilterWorker.java	(revision 10308)
@@ -24,6 +24,5 @@
      * Apply the filters to the primitives of the data set.
      *
-     * @param all the collection of primitives for that the filter state should
-     * be updated
+     * @param all the collection of primitives for that the filter state should be updated
      * @param filterMatcher the FilterMatcher
      * @return true, if the filter state (normal / disabled / hidden)
@@ -31,5 +30,5 @@
      */
     public static boolean executeFilters(Collection<OsmPrimitive> all, FilterMatcher filterMatcher) {
-        boolean changed = false;
+        boolean changed;
         // first relations, then ways and nodes last; this is required to resolve dependencies
         changed = doExecuteFilters(Utils.filter(all, OsmPrimitive.relationPredicate), filterMatcher);
Index: /trunk/src/org/openstreetmap/josm/data/osm/event/DatasetEventManager.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/osm/event/DatasetEventManager.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/data/osm/event/DatasetEventManager.java	(revision 10308)
@@ -36,5 +36,5 @@
                 DataSet dataSet = null;
                 AbstractDatasetChangedEvent consolidatedEvent = null;
-                AbstractDatasetChangedEvent event = null;
+                AbstractDatasetChangedEvent event;
 
                 while ((event = eventsInEDT.poll()) != null) {
Index: /trunk/src/org/openstreetmap/josm/data/projection/datum/NTV2Util.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/projection/datum/NTV2Util.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/data/projection/datum/NTV2Util.java	(revision 10308)
@@ -72,5 +72,5 @@
      */
     public static float getFloat(byte[] b, boolean bigEndian) {
-        int i = 0;
+        int i;
         if (bigEndian) {
             i = getIntBE(b, 0);
@@ -89,6 +89,6 @@
      */
     public static double getDouble(byte[] b, boolean bigEndian) {
-        int i = 0;
-        int j = 0;
+        int i;
+        int j;
         if (bigEndian) {
             i = getIntBE(b, 0);
@@ -98,6 +98,5 @@
             j = getIntLE(b, 0);
         }
-        long l = ((long) i << 32) |
-        (j & 0x00000000FFFFFFFFL);
+        long l = ((long) i << 32) | (j & 0x00000000FFFFFFFFL);
         return Double.longBitsToDouble(l);
     }
Index: /trunk/src/org/openstreetmap/josm/data/projection/proj/SwissObliqueMercator.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/projection/proj/SwissObliqueMercator.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/data/projection/proj/SwissObliqueMercator.java	(revision 10308)
@@ -102,5 +102,4 @@
         double lambda = l / alpha;
         double phi = b;
-        double s = 0;
 
         double prevPhi = -1000;
@@ -111,5 +110,5 @@
                 throw new RuntimeException("Two many iterations");
             prevPhi = phi;
-            s = 1 / alpha * (log(tan(PI / 4 + b / 2)) - k) + ellps.e
+            double s = 1 / alpha * (log(tan(PI / 4 + b / 2)) - k) + ellps.e
             * log(tan(PI / 4 + asin(ellps.e * sin(phi)) / 2));
             phi = 2 * atan(exp(s)) - PI / 2;
Index: /trunk/src/org/openstreetmap/josm/data/validation/tests/RelationChecker.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/validation/tests/RelationChecker.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/data/validation/tests/RelationChecker.java	(revision 10308)
@@ -150,5 +150,5 @@
                 for (Role role: r.roles) {
                     String key = role.key;
-                    List<Role> roleGroup = null;
+                    List<Role> roleGroup;
                     if (allroles.containsKey(key)) {
                         roleGroup = allroles.get(key).roles;
Index: /trunk/src/org/openstreetmap/josm/gui/DefaultNameFormatter.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/DefaultNameFormatter.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/gui/DefaultNameFormatter.java	(revision 10308)
@@ -210,5 +210,5 @@
         StringBuilder name = new StringBuilder();
 
-        char mark = 0;
+        char mark;
         // If current language is left-to-right (almost all languages)
         if (ComponentOrientation.getOrientation(Locale.getDefault()).isLeftToRight()) {
Index: /trunk/src/org/openstreetmap/josm/gui/ExtendedDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/ExtendedDialog.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/gui/ExtendedDialog.java	(revision 10308)
@@ -386,5 +386,5 @@
         }
 
-        gc.gridy = y++;
+        gc.gridy = y;
         gc.anchor = GridBagConstraints.CENTER;
             gc.insets = new Insets(5, 5, 5, 5);
Index: /trunk/src/org/openstreetmap/josm/gui/conflict/pair/PairTable.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/conflict/pair/PairTable.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/gui/conflict/pair/PairTable.java	(revision 10308)
@@ -16,4 +16,12 @@
     private final transient ListMergeModel<? extends PrimitiveId> model;
 
+    /**
+     * Constructs a new {@code PairTable}.
+     * @param name table name
+     * @param model merge model
+     * @param dm table model
+     * @param cm column model
+     * @param sm selection model
+     */
     public PairTable(String name, ListMergeModel<? extends PrimitiveId> model,
             OsmPrimitivesTableModel dm, TableColumnModel cm, ListSelectionModel sm) {
Index: /trunk/src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListColumnModel.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListColumnModel.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListColumnModel.java	(revision 10308)
@@ -8,12 +8,22 @@
 import javax.swing.table.TableColumn;
 
+/**
+ * Column model used in {@link NodeListTable}.
+ * @since 1622
+ */
 public class NodeListColumnModel extends DefaultTableColumnModel {
+
+    /**
+     * Constructs a new {@code NodeListColumnModel}.
+     * @param renderer table cell renderer
+     */
+    public NodeListColumnModel(TableCellRenderer renderer) {
+        createColumns(renderer);
+    }
 
     protected final void createColumns(TableCellRenderer renderer) {
 
-        TableColumn col = null;
-
         // column 0 - Row num
-        col = new TableColumn(0);
+        TableColumn col = new TableColumn(0);
         col.setHeaderValue("");
         col.setResizable(true);
@@ -30,7 +40,3 @@
         addColumn(col);
     }
-
-    public NodeListColumnModel(TableCellRenderer renderer) {
-        createColumns(renderer);
-    }
 }
Index: /trunk/src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListTable.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListTable.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListTable.java	(revision 10308)
@@ -12,4 +12,11 @@
 public class NodeListTable extends PairTable {
 
+    /**
+     * Constructs a new {@code NodeListTable}.
+     * @param name table name
+     * @param model node merge model
+     * @param dm table model
+     * @param sm selection model
+     */
     public NodeListTable(String name, ListMergeModel<Node> model, OsmPrimitivesTableModel dm, ListSelectionModel sm) {
         super(name, model, dm, new NodeListColumnModel(new NodeListTableCellRenderer()), sm);
Index: /trunk/src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListTableCellRenderer.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListTableCellRenderer.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListTableCellRenderer.java	(revision 10308)
@@ -20,7 +20,7 @@
 /**
  * This is the {@link TableCellRenderer} used in the node tables of {@link NodeListMerger}.
- *
+ * @since 1622
  */
-public  class NodeListTableCellRenderer extends JLabel implements TableCellRenderer {
+public class NodeListTableCellRenderer extends JLabel implements TableCellRenderer {
 
     private final ImageIcon icon;
@@ -118,5 +118,5 @@
             default:
                 // should not happen
-                throw new RuntimeException(MessageFormat.format("Unexpected column index. Got {0}.", column));
+                throw new IllegalArgumentException(MessageFormat.format("Unexpected column index. Got {0}.", column));
             }
         }
Index: /trunk/src/org/openstreetmap/josm/gui/conflict/pair/relation/RelationMemberListColumnModel.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/conflict/pair/relation/RelationMemberListColumnModel.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/gui/conflict/pair/relation/RelationMemberListColumnModel.java	(revision 10308)
@@ -7,12 +7,22 @@
 import javax.swing.table.TableColumn;
 
+/**
+ * Column model used in {@link RelationMemberTable}.
+ * @since 1622
+ */
 public class RelationMemberListColumnModel extends DefaultTableColumnModel {
 
+    /**
+     * Constructs a new {@code RelationMemberListColumnModel}.
+     */
+    public RelationMemberListColumnModel() {
+        createColumns();
+    }
+
     protected final void createColumns() {
-        TableColumn col = null;
         RelationMemberTableCellRenderer renderer = new RelationMemberTableCellRenderer();
 
         // column 0 - Row num
-        col = new TableColumn(0);
+        TableColumn col = new TableColumn(0);
         col.setHeaderValue("");
         col.setResizable(true);
@@ -38,7 +48,3 @@
         addColumn(col);
     }
-
-    public RelationMemberListColumnModel() {
-        createColumns();
-    }
 }
Index: /trunk/src/org/openstreetmap/josm/gui/conflict/pair/relation/RelationMemberTable.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/conflict/pair/relation/RelationMemberTable.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/gui/conflict/pair/relation/RelationMemberTable.java	(revision 10308)
@@ -12,4 +12,11 @@
 public class RelationMemberTable extends PairTable {
 
+    /**
+     * Constructs a new {@code RelationMemberTable}.
+     * @param name table name
+     * @param model relation member merge model
+     * @param dm table model
+     * @param sm selection model
+     */
     public RelationMemberTable(String name, ListMergeModel<RelationMember> model, OsmPrimitivesTableModel dm, ListSelectionModel sm) {
         super(name, model, dm, new RelationMemberListColumnModel(), sm);
Index: /trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/TagMerger.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/TagMerger.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/TagMerger.java	(revision 10308)
@@ -360,5 +360,5 @@
             if (e.getClickCount() != 2)
                 return;
-            JTable table = null;
+            JTable table;
             MergeDecisionType mergeDecision;
 
Index: /trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictResolverColumnModel.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictResolverColumnModel.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictResolverColumnModel.java	(revision 10308)
@@ -66,8 +66,6 @@
         RelationMemberConflictDecisionEditor decisionEditor = new RelationMemberConflictDecisionEditor();
 
-        TableColumn col = null;
-
         // column 0 - Relation
-        col = new TableColumn(0);
+        TableColumn col = new TableColumn(0);
         col.setHeaderValue("Relation");
         col.setResizable(true);
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/DeleteFromRelationConfirmationDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/DeleteFromRelationConfirmationDialog.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/DeleteFromRelationConfirmationDialog.java	(revision 10308)
@@ -275,8 +275,7 @@
 
         protected final void createColumns() {
-            TableColumn col = null;
 
             // column 0 - To Delete
-            col = new TableColumn(0);
+            TableColumn col = new TableColumn(0);
             col.setHeaderValue(tr("To delete"));
             col.setResizable(true);
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetContentTableColumnModel.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetContentTableColumnModel.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetContentTableColumnModel.java	(revision 10308)
@@ -11,13 +11,19 @@
 /**
  * The column model for the changeset content
- *
+ * @since 2689
  */
 public class ChangesetContentTableColumnModel extends DefaultTableColumnModel {
 
+    /**
+     * Constructs a new {@code ChangesetContentTableColumnModel}.
+     */
+    public ChangesetContentTableColumnModel() {
+        createColumns();
+    }
+
     protected void createColumns() {
-        TableColumn col = null;
         ChangesetContentTableCellRenderer renderer = new ChangesetContentTableCellRenderer();
         // column 0 - type
-        col = new TableColumn(0);
+        TableColumn col = new TableColumn(0);
         col.setHeaderValue("");
         col.setResizable(true);
@@ -45,10 +51,3 @@
         addColumn(col);
     }
-
-    /**
-     * Constructs a new {@code ChangesetContentTableColumnModel}.
-     */
-    public ChangesetContentTableColumnModel() {
-        createColumns();
-    }
 }
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetDiscussionTableColumnModel.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetDiscussionTableColumnModel.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetDiscussionTableColumnModel.java	(revision 10308)
@@ -13,9 +13,15 @@
 public class ChangesetDiscussionTableColumnModel extends DefaultTableColumnModel {
 
+    /**
+     * Constructs a new {@code ChangesetContentTableColumnModel}.
+     */
+    public ChangesetDiscussionTableColumnModel() {
+        createColumns();
+    }
+
     protected void createColumns() {
-        TableColumn col = null;
         ChangesetDiscussionTableCellRenderer renderer = new ChangesetDiscussionTableCellRenderer();
         // column 0 - Date
-        col = new TableColumn(0, 150);
+        TableColumn col = new TableColumn(0, 150);
         col.setHeaderValue(tr("Date"));
         col.setResizable(true);
@@ -39,10 +45,3 @@
         addColumn(col);
     }
-
-    /**
-     * Constructs a new {@code ChangesetContentTableColumnModel}.
-     */
-    public ChangesetDiscussionTableColumnModel() {
-        createColumns();
-    }
 }
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableLinkedCellRenderer.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableLinkedCellRenderer.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableLinkedCellRenderer.java	(revision 10308)
@@ -60,6 +60,6 @@
         int w = 2;
         int p = 2 + w + 1;
-        int y1 = 0;
-        int y2 = 0;
+        int y1;
+        int y2;
 
         if (value.linkPrev) {
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/sort/WayConnectionTypeCalculator.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/sort/WayConnectionTypeCalculator.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/sort/WayConnectionTypeCalculator.java	(revision 10308)
@@ -145,5 +145,5 @@
             RelationMember m, int i, final WayConnectionType wct) {
         Direction dirFW = determineDirection(lastForwardWay, con.get(lastForwardWay).direction, i);
-        Direction dirBW = NONE;
+        Direction dirBW;
         if (onewayBeginning) {
             if (lastBackwardWay < 0) {
Index: /trunk/src/org/openstreetmap/josm/gui/history/HistoryBrowserModel.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/history/HistoryBrowserModel.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/gui/history/HistoryBrowserModel.java	(revision 10308)
@@ -763,11 +763,11 @@
         l.data.addDataSetListener(this);
         OsmPrimitive primitive = history != null ? l.data.getPrimitiveById(history.getId(), history.getType()) : null;
-        HistoryOsmPrimitive latest;
+        HistoryOsmPrimitive newLatest;
         if (canShowAsLatest(primitive)) {
-            latest = new HistoryPrimitiveBuilder().build(primitive);
+            newLatest = new HistoryPrimitiveBuilder().build(primitive);
         } else {
-            latest = null;
-        }
-        setLatest(latest);
+            newLatest = null;
+        }
+        setLatest(newLatest);
         fireModelChange();
     }
Index: /trunk/src/org/openstreetmap/josm/gui/history/NodeListTableCellRenderer.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/history/NodeListTableCellRenderer.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/gui/history/NodeListTableCellRenderer.java	(revision 10308)
@@ -33,10 +33,9 @@
     protected void renderNode(TwoColumnDiff.Item item, boolean isSelected) {
         String text = "";
-        Color bgColor = Color.WHITE;
         setIcon(nodeIcon);
         if (item.value != null) {
             text = tr("Node {0}", item.value.toString());
         }
-        bgColor = item.state.getColor();
+        Color bgColor = item.state.getColor();
         if (item.state == DiffItemType.EMPTY) {
             text = "";
Index: /trunk/src/org/openstreetmap/josm/gui/history/NodeListTableColumnModel.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/history/NodeListTableColumnModel.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/gui/history/NodeListTableColumnModel.java	(revision 10308)
@@ -7,24 +7,25 @@
 import javax.swing.table.TableColumn;
 
-
 /**
  * The {@link javax.swing.table.TableColumnModel} for the table with the list of nodes.
- *
- *
+ * @since 1709
  */
 public class NodeListTableColumnModel extends DefaultTableColumnModel {
+
+    /**
+     * Constructs a new {@code NodeListTableColumnModel}.
+     */
+    public NodeListTableColumnModel() {
+        createColumns();
+    }
+
     protected void createColumns() {
-        TableColumn col = null;
         NodeListTableCellRenderer renderer = new NodeListTableCellRenderer();
 
         // column 0 - Version
-        col = new TableColumn(0);
+        TableColumn col = new TableColumn(0);
         col.setHeaderValue(tr("Nodes"));
         col.setCellRenderer(renderer);
         addColumn(col);
     }
-
-    public NodeListTableColumnModel() {
-        createColumns();
-    }
 }
Index: /trunk/src/org/openstreetmap/josm/gui/history/RelationMemberTableColumnModel.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/history/RelationMemberTableColumnModel.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/gui/history/RelationMemberTableColumnModel.java	(revision 10308)
@@ -9,13 +9,20 @@
 /**
  * The {@link javax.swing.table.TableColumnModel} for the table with the list of relation members.
- *
+ * @since 1709
  */
 public class RelationMemberTableColumnModel extends DefaultTableColumnModel {
+
+    /**
+     * Constructs a new {@code RelationMemberTableColumnModel}.
+     */
+    public RelationMemberTableColumnModel() {
+        createColumns();
+    }
+
     protected void createColumns() {
-        TableColumn col = null;
         RelationMemberListTableCellRenderer renderer = new RelationMemberListTableCellRenderer();
 
         // column 0 - Version
-        col = new TableColumn(0);
+        TableColumn col = new TableColumn(0);
         col.setHeaderValue(tr("Role"));
         col.setCellRenderer(renderer);
@@ -28,7 +35,3 @@
         addColumn(col);
     }
-
-    public RelationMemberTableColumnModel() {
-        createColumns();
-    }
 }
Index: /trunk/src/org/openstreetmap/josm/gui/history/TagTableColumnModel.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/history/TagTableColumnModel.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/gui/history/TagTableColumnModel.java	(revision 10308)
@@ -12,11 +12,17 @@
  */
 public class TagTableColumnModel extends DefaultTableColumnModel {
+
+    /**
+     * Constructs a new {@code TagTableColumnModel}.
+     */
+    public TagTableColumnModel() {
+        createColumns();
+    }
+
     protected void createColumns() {
-        TableColumn col = null;
-
         TagTableCellRenderer renderer = new TagTableCellRenderer();
 
         // column 0 - Key
-        col = new TableColumn(0);
+        TableColumn col = new TableColumn(0);
         col.setHeaderValue(tr("Key"));
         col.setCellRenderer(renderer);
@@ -28,12 +34,4 @@
         col.setCellRenderer(renderer);
         addColumn(col);
-
-    }
-
-    /**
-     * Constructs a new {@code TagTableColumnModel}.
-     */
-    public TagTableColumnModel() {
-        createColumns();
     }
 }
Index: /trunk/src/org/openstreetmap/josm/gui/history/VersionTableColumnModel.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/history/VersionTableColumnModel.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/gui/history/VersionTableColumnModel.java	(revision 10308)
@@ -11,5 +11,5 @@
 /**
  * The {@link TableColumnModel} for the table with the list of versions
- *
+ * @since 1709
  */
 public class VersionTableColumnModel extends DefaultTableColumnModel {
@@ -26,10 +26,16 @@
     public static final int COL_USER = 4;
 
+    /**
+     * Creates a new {@code VersionTableColumnModel}.
+     */
+    public VersionTableColumnModel() {
+        createColumns();
+    }
+
     protected void createColumns() {
-        TableColumn col = null;
         VersionTable.RadioButtonRenderer bRenderer = new VersionTable.RadioButtonRenderer();
 
         // column 0 - Version
-        col = new TableColumn(COL_VERSION);
+        TableColumn col = new TableColumn(COL_VERSION);
         /* translation note: 3 letter abbr. for "Version" */
         col.setHeaderValue(tr("Ver"));
@@ -62,10 +68,3 @@
         addColumn(col);
     }
-
-    /**
-     * Creates a new {@code VersionTableColumnModel}.
-     */
-    public VersionTableColumnModel() {
-        createColumns();
-    }
 }
Index: /trunk/src/org/openstreetmap/josm/gui/io/LayerNameAndFilePathTableCell.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/io/LayerNameAndFilePathTableCell.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/gui/io/LayerNameAndFilePathTableCell.java	(revision 10308)
@@ -32,5 +32,5 @@
 /**
  * Display and edit layer name and file path in a <code>JTable</code>.
- * 
+ *
  * Note: Do not use the same object both as <code>TableCellRenderer</code> and
  * <code>TableCellEditor</code> - this can mess up the current editor component
@@ -39,6 +39,5 @@
 class LayerNameAndFilePathTableCell extends JPanel implements TableCellRenderer, TableCellEditor {
     private static final Color colorError = new Color(255, 197, 197);
-    private static final String separator = System.getProperty("file.separator");
-    private static final String ellipsis = '…' + separator;
+    private static final String ELLIPSIS = '…' + File.separator;
 
     private final JLabel lblLayerName = new JLabel();
@@ -151,5 +150,5 @@
      */
     private String addLblFilename(SaveLayerInfo info) {
-        String tooltip = "";
+        String tooltip;
         boolean error = false;
         if (info.getFile() == null) {
@@ -185,11 +184,11 @@
         while (t != null && !t.isEmpty()) {
             int txtwidth = lblFilename.getFontMetrics(lblFilename.getFont()).stringWidth(t);
-            if (txtwidth < lblFilename.getWidth() || t.lastIndexOf(separator) < ellipsis.length()) {
+            if (txtwidth < lblFilename.getWidth() || t.lastIndexOf(File.separator) < ELLIPSIS.length()) {
                 break;
             }
             // remove ellipsis, if present
-            t = hasEllipsis ? t.substring(ellipsis.length()) : t;
+            t = hasEllipsis ? t.substring(ELLIPSIS.length()) : t;
             // cut next block, and re-add ellipsis
-            t = ellipsis + t.substring(t.indexOf(separator) + 1);
+            t = ELLIPSIS + t.substring(t.indexOf(File.separator) + 1);
             hasEllipsis = true;
         }
Index: /trunk/src/org/openstreetmap/josm/gui/io/SaveLayersTableColumnModel.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/io/SaveLayersTableColumnModel.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/gui/io/SaveLayersTableColumnModel.java	(revision 10308)
@@ -83,10 +83,8 @@
 
     protected void build() {
-        TableColumn col = null;
-
         // column 0 - layer name, save path editor
         LayerNameAndFilePathTableCell lnfpRenderer = new LayerNameAndFilePathTableCell();
         LayerNameAndFilePathTableCell lnfpEditor = new LayerNameAndFilePathTableCell();
-        col = new TableColumn(0); // keep in sync with SaveLayersModel#columnFilename
+        TableColumn col = new TableColumn(0); // keep in sync with SaveLayersModel#columnFilename
         col.setHeaderValue(tr("Layer Name and File Path"));
         col.setResizable(true);
Index: /trunk/src/org/openstreetmap/josm/gui/layer/NoteLayer.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/layer/NoteLayer.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/gui/layer/NoteLayer.java	(revision 10308)
@@ -110,5 +110,5 @@
             Point p = mv.getPoint(note.getLatLon());
 
-            ImageIcon icon = null;
+            ImageIcon icon;
             if (note.getId() < 0) {
                 icon = NotesDialog.ICON_NEW_SMALL;
Index: /trunk/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java	(revision 10308)
@@ -721,5 +721,5 @@
         gbc = GBC.eol();
         gbc.gridx = 0;
-        gbc.gridy = y++;
+        gbc.gridy = y;
         panelTf.add(cbShowThumbs, gbc);
 
@@ -1249,5 +1249,5 @@
 
         // The searched index is somewhere in the middle, do a binary search from the beginning
-        int curIndex = 0;
+        int curIndex;
         int startIndex = 0;
         int endIndex = lstSize-1;
Index: /trunk/src/org/openstreetmap/josm/gui/mappaint/ElemStyles.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/mappaint/ElemStyles.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/gui/mappaint/ElemStyles.java	(revision 10308)
@@ -281,5 +281,5 @@
                     if (!hasIndependentElemStyle && !multipolygon.getOuterWays().isEmpty()) {
                         Color mpColor = null;
-                        StyleElementList mpElemStyles = null;
+                        StyleElementList mpElemStyles;
                         synchronized (ref) {
                             mpElemStyles = get(ref, scale, nc);
Index: /trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Instruction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Instruction.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Instruction.java	(revision 10308)
@@ -71,5 +71,5 @@
         @Override
         public void execute(Environment env) {
-            Object value = null;
+            Object value;
             if (val instanceof Expression) {
                 value = ((Expression) val).evaluate(env);
@@ -88,5 +88,5 @@
         public String toString() {
             return key + ": " + (val instanceof float[] ? Arrays.toString((float[]) val) :
-                val instanceof String ? "String<"+val+'>' : val) + ';';
+                (val instanceof String ? ("String<"+val+'>') : val)) + ';';
         }
     }
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/ac/AutoCompletingComboBox.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/ac/AutoCompletingComboBox.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/ac/AutoCompletingComboBox.java	(revision 10308)
@@ -101,5 +101,5 @@
 
             // item for lookup and selection
-            Object item = null;
+            Object item;
             // if the text is a number we don't autocomplete
             if (Main.pref.getBoolean("autocomplete.dont_complete_numbers", true)) {
Index: /trunk/src/org/openstreetmap/josm/gui/widgets/MultiSplitLayout.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/widgets/MultiSplitLayout.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/gui/widgets/MultiSplitLayout.java	(revision 10308)
@@ -607,5 +607,5 @@
             Split split = (Split) root;
             Iterator<Node> splitChildren = split.getChildren().iterator();
-            Rectangle childBounds = null;
+            Rectangle childBounds;
             int dividerSize = getDividerSize();
 
@@ -624,5 +624,5 @@
                         splitChildren.hasNext() ? (Divider) (splitChildren.next()) : null;
 
-                    double childWidth = 0.0;
+                    double childWidth;
                     if (getFloatingDividers()) {
                         childWidth = preferredNodeSize(splitChild).getWidth();
Index: /trunk/src/org/openstreetmap/josm/io/AbstractReader.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/AbstractReader.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/io/AbstractReader.java	(revision 10308)
@@ -140,8 +140,6 @@
             List<RelationMember> relationMembers = new ArrayList<>();
             for (RelationMemberData rm : entry.getValue()) {
-                OsmPrimitive primitive = null;
-
                 // lookup the member from the map of already created primitives
-                primitive = externalIdMap.get(new SimplePrimitiveId(rm.getMemberId(), rm.getMemberType()));
+                OsmPrimitive primitive = externalIdMap.get(new SimplePrimitiveId(rm.getMemberId(), rm.getMemberType()));
 
                 if (primitive == null) {
Index: /trunk/src/org/openstreetmap/josm/io/OsmConnection.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/OsmConnection.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/io/OsmConnection.java	(revision 10308)
@@ -11,5 +11,4 @@
 import java.nio.CharBuffer;
 import java.nio.charset.CharacterCodingException;
-import java.nio.charset.CharsetEncoder;
 import java.nio.charset.StandardCharsets;
 import java.util.Objects;
@@ -63,7 +62,5 @@
      */
     protected void addBasicAuthorizationHeader(HttpClient con) throws OsmTransferException {
-        CharsetEncoder encoder = StandardCharsets.UTF_8.newEncoder();
         CredentialsAgentResponse response;
-        String token;
         try {
             synchronized (CredentialsManager.getInstance()) {
@@ -74,4 +71,5 @@
             throw new OsmTransferException(e);
         }
+        String token;
         if (response == null) {
             token = ":";
@@ -84,5 +82,5 @@
             token = username + ':' + password;
             try {
-                ByteBuffer bytes = encoder.encode(CharBuffer.wrap(token));
+                ByteBuffer bytes = StandardCharsets.UTF_8.newEncoder().encode(CharBuffer.wrap(token));
                 con.setHeader("Authorization", "Basic "+Base64.encode(bytes));
             } catch (CharacterCodingException e) {
Index: /trunk/src/org/openstreetmap/josm/io/OsmReader.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/OsmReader.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/io/OsmReader.java	(revision 10308)
@@ -316,5 +316,4 @@
 
     private RelationMemberData parseRelationMember(Relation r) throws XMLStreamException {
-        String role = null;
         OsmPrimitiveType type = null;
         long id = 0;
@@ -339,6 +338,5 @@
                     Long.toString(id), Long.toString(r.getUniqueId()), value), e);
         }
-        value = parser.getAttributeValue(null, "role");
-        role = value;
+        String role = parser.getAttributeValue(null, "role");
 
         if (id == 0) {
Index: /trunk/src/org/openstreetmap/josm/io/auth/AbstractCredentialsAgent.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/auth/AbstractCredentialsAgent.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/io/auth/AbstractCredentialsAgent.java	(revision 10308)
@@ -49,5 +49,5 @@
                     @Override
                     public void run() {
-                        CredentialDialog dialog = null;
+                        CredentialDialog dialog;
                         if (requestorType.equals(RequestorType.PROXY))
                             dialog = CredentialDialog.getHttpProxyCredentialDialog(
Index: /trunk/src/org/openstreetmap/josm/io/remotecontrol/AddTagsDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/remotecontrol/AddTagsDialog.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/io/remotecontrol/AddTagsDialog.java	(revision 10308)
@@ -272,8 +272,6 @@
                 @Override
                 public void run() {
-                    String[] tags = null;
-                    tags = Utils.decodeUrl(args.get("addtags")).split("\\|");
                     Set<String> tagSet = new HashSet<>();
-                    for (String tag : tags) {
+                    for (String tag : Utils.decodeUrl(args.get("addtags")).split("\\|")) {
                         if (!tag.trim().isEmpty() && tag.contains("=")) {
                             tagSet.add(tag.trim());
Index: /trunk/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpsServer.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpsServer.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpsServer.java	(revision 10308)
@@ -216,7 +216,4 @@
     public static Path setupJosmKeystore() throws IOException, GeneralSecurityException {
 
-        char[] storePassword = KEYSTORE_PASSWORD.get().toCharArray();
-        char[] entryPassword = KEYENTRY_PASSWORD.get().toCharArray();
-
         Path dir = Paths.get(RemoteControl.getRemoteControlDir());
         Path path = dir.resolve(KEYSTORE_FILENAME);
@@ -249,6 +246,6 @@
             KEYENTRY_PASSWORD.put(new BigInteger(130, random).toString(32));
 
-            storePassword = KEYSTORE_PASSWORD.get().toCharArray();
-            entryPassword = KEYENTRY_PASSWORD.get().toCharArray();
+            char[] storePassword = KEYSTORE_PASSWORD.get().toCharArray();
+            char[] entryPassword = KEYENTRY_PASSWORD.get().toCharArray();
 
             ks.setKeyEntry(ENTRY_ALIAS, pair.getPrivate(), entryPassword, new Certificate[]{cert});
Index: /trunk/src/org/openstreetmap/josm/tools/AudioPlayer.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/AudioPlayer.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/tools/AudioPlayer.java	(revision 10308)
@@ -302,10 +302,9 @@
                                 if (audioInputStream != null) {
                                     Utils.close(audioInputStream);
-                                    audioInputStream = null;
                                 }
                                 playingUrl = command.url();
                                 audioInputStream = AudioSystem.getAudioInputStream(playingUrl);
                                 audioFormat = audioInputStream.getFormat();
-                                long nBytesRead = 0;
+                                long nBytesRead;
                                 position = 0.0;
                                 offset -= leadIn;
Index: /trunk/src/org/openstreetmap/josm/tools/Diff.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/Diff.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/tools/Diff.java	(revision 10308)
@@ -116,6 +116,4 @@
     private final FileData[] filevec;
     private int cost;
-    /** Snakes bigger than this are considered "big". */
-    private static final int SNAKE_LIMIT = 20;
 
     /**
@@ -168,5 +166,4 @@
         for (int c = 1;; ++c) {
             int d;          /* Active diagonal. */
-            boolean bigSnake = false;
 
             /* Extend the top-down search by an edit step in each diagonal. */
@@ -182,5 +179,5 @@
             }
             for (d = fmax; d >= fmin; d -= 2) {
-                int x, y, oldx, tlo = fd[fdiagoff + d - 1], thi = fd[fdiagoff + d + 1];
+                int x, y, tlo = fd[fdiagoff + d - 1], thi = fd[fdiagoff + d + 1];
 
                 if (tlo >= thi) {
@@ -189,11 +186,7 @@
                     x = thi;
                 }
-                oldx = x;
                 y = x - d;
                 while (x < xlim && y < ylim && xv[x] == yv[y]) {
                     ++x; ++y;
-                }
-                if (x - oldx > SNAKE_LIMIT) {
-                    bigSnake = true;
                 }
                 fd[fdiagoff + d] = x;
@@ -216,5 +209,5 @@
             }
             for (d = bmax; d >= bmin; d -= 2) {
-                int x, y, oldx, tlo = bd[bdiagoff + d - 1], thi = bd[bdiagoff + d + 1];
+                int x, y, tlo = bd[bdiagoff + d - 1], thi = bd[bdiagoff + d + 1];
 
                 if (tlo < thi) {
@@ -223,11 +216,7 @@
                     x = thi - 1;
                 }
-                oldx = x;
                 y = x - d;
                 while (x > xoff && y > yoff && xv[x - 1] == yv[y - 1]) {
                     --x; --y;
-                }
-                if (oldx - x > SNAKE_LIMIT) {
-                    bigSnake = true;
                 }
                 bd[bdiagoff + d] = x;
Index: /trunk/src/org/openstreetmap/josm/tools/ImageProvider.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/ImageProvider.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/tools/ImageProvider.java	(revision 10308)
@@ -874,5 +874,5 @@
             if ("image/svg+xml".equals(mediatype)) {
                 String s = new String(bytes, StandardCharsets.UTF_8);
-                SVGDiagram svg = null;
+                SVGDiagram svg;
                 synchronized (getSvgUniverse()) {
                     URI uri = getSvgUniverse().loadSVG(new StringReader(s), Utils.encodeUrl(s));
@@ -1003,5 +1003,5 @@
         switch (type) {
         case SVG:
-            SVGDiagram svg = null;
+            SVGDiagram svg;
             synchronized (getSvgUniverse()) {
                 URI uri = getSvgUniverse().loadSVG(path);
@@ -1049,5 +1049,5 @@
 
     private static URL getImageUrl(String imageName, Collection<String> dirs, Collection<ClassLoader> additionalClassLoaders) {
-        URL u = null;
+        URL u;
 
         // Try passed directories first
@@ -1225,5 +1225,5 @@
         }
 
-        ImageResource imageResource = null;
+        ImageResource imageResource;
 
         synchronized (ROTATE_CACHE) {
Index: /trunk/src/org/openstreetmap/josm/tools/PlatformHookUnixoid.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/PlatformHookUnixoid.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/tools/PlatformHookUnixoid.java	(revision 10308)
@@ -237,5 +237,5 @@
             if (dpkg || rpm || eque) {
                 for (String packageName : packageNames) {
-                    String[] args = null;
+                    String[] args;
                     if (dpkg) {
                         args = new String[] {"dpkg-query", "--show", "--showformat", "${Architecture}-${Version}", packageName};
Index: /trunk/src/org/openstreetmap/josm/tools/TextTagParser.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/TextTagParser.java	(revision 10307)
+++ /trunk/src/org/openstreetmap/josm/tools/TextTagParser.java	(revision 10308)
@@ -175,5 +175,6 @@
          Pattern p = Pattern.compile(tagRegex);
          Map<String, String> tags = new HashMap<>();
-         String k = null, v = null;
+         String k;
+         String v;
          for (String  line: lines) {
             if (line.trim().isEmpty()) continue; // skip empty lines
