Index: /trunk/src/org/openstreetmap/josm/actions/PurgeAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/PurgeAction.java	(revision 8364)
+++ /trunk/src/org/openstreetmap/josm/actions/PurgeAction.java	(revision 8365)
@@ -245,5 +245,5 @@
                     if (type != 0)
                         return type;
-                    return (Long.valueOf(o1.getUniqueId())).compareTo(o2.getUniqueId());
+                    return Long.compare(o1.getUniqueId(), o2.getUniqueId());
                 }
             });
Index: /trunk/src/org/openstreetmap/josm/data/APIDataSet.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/APIDataSet.java	(revision 8364)
+++ /trunk/src/org/openstreetmap/josm/data/APIDataSet.java	(revision 8365)
@@ -338,5 +338,5 @@
                         @Override
                         public int compare(Relation o1, Relation o2) {
-                            return Integer.valueOf(uploadOrder.indexOf(o1)).compareTo(uploadOrder.indexOf(o2));
+                            return Integer.compare(uploadOrder.indexOf(o1), uploadOrder.indexOf(o2));
                         }
                     }
Index: /trunk/src/org/openstreetmap/josm/data/imagery/ImageryInfo.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/imagery/ImageryInfo.java	(revision 8364)
+++ /trunk/src/org/openstreetmap/josm/data/imagery/ImageryInfo.java	(revision 8365)
@@ -678,8 +678,8 @@
                 this.imageryType = type;
                 if (m.group(2) != null) {
-                    defaultMaxZoom = Integer.valueOf(m.group(2));
+                    defaultMaxZoom = Integer.parseInt(m.group(2));
                 }
                 if (m.group(1) != null) {
-                    defaultMinZoom = Integer.valueOf(m.group(1));
+                    defaultMinZoom = Integer.parseInt(m.group(1));
                 }
                 break;
Index: /trunk/src/org/openstreetmap/josm/data/osm/Changeset.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/osm/Changeset.java	(revision 8364)
+++ /trunk/src/org/openstreetmap/josm/data/osm/Changeset.java	(revision 8365)
@@ -93,5 +93,5 @@
 
     public int compareTo(Changeset other) {
-        return Integer.valueOf(getId()).compareTo(other.getId());
+        return Integer.compare(getId(), other.getId());
     }
 
Index: /trunk/src/org/openstreetmap/josm/data/osm/Node.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/osm/Node.java	(revision 8364)
+++ /trunk/src/org/openstreetmap/josm/data/osm/Node.java	(revision 8365)
@@ -296,5 +296,5 @@
     @Override
     public int compareTo(OsmPrimitive o) {
-        return o instanceof Node ? Long.valueOf(getUniqueId()).compareTo(o.getUniqueId()) : 1;
+        return o instanceof Node ? Long.compare(getUniqueId(), o.getUniqueId()) : 1;
     }
 
Index: /trunk/src/org/openstreetmap/josm/data/osm/NodeData.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/osm/NodeData.java	(revision 8364)
+++ /trunk/src/org/openstreetmap/josm/data/osm/NodeData.java	(revision 8365)
@@ -15,6 +15,15 @@
     private double lon = Double.NaN;
 
-    public NodeData() {}
+    /**
+     * Constructs a new {@code NodeData}.
+     */
+    public NodeData() {
 
+    }
+
+    /**
+     * Constructs a new {@code NodeData}.
+     * @param data node data to copy
+     */
     public NodeData(NodeData data) {
         super(data);
@@ -44,8 +53,6 @@
     @Override
     public EastNorth getEastNorth() {
-        /*
-         * No internal caching of projected coordinates needed. In contrast to getEastNorth()
-         * on Node, this method is rarely used. Caching would be overkill.
-         */
+        // No internal caching of projected coordinates needed. In contrast to getEastNorth()
+        // on Node, this method is rarely used. Caching would be overkill.
         return Projections.project(getCoor());
     }
@@ -53,6 +60,5 @@
     @Override
     public void setEastNorth(EastNorth eastNorth) {
-        LatLon ll = Projections.inverseProject(eastNorth);
-        setCoor(ll);
+        setCoor(Projections.inverseProject(eastNorth));
     }
 
@@ -76,4 +82,3 @@
         visitor.visit(this);
     }
-
 }
Index: /trunk/src/org/openstreetmap/josm/data/osm/NoteData.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/osm/NoteData.java	(revision 8364)
+++ /trunk/src/org/openstreetmap/josm/data/osm/NoteData.java	(revision 8365)
@@ -52,5 +52,5 @@
                 return -1;
             }
-            return Long.valueOf(Math.abs(n1.getId())).compareTo(Long.valueOf(Math.abs(n2.getId())));
+            return Long.compare(Math.abs(n1.getId()), Math.abs(n2.getId()));
         }
     };
Index: /trunk/src/org/openstreetmap/josm/data/osm/Relation.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/osm/Relation.java	(revision 8364)
+++ /trunk/src/org/openstreetmap/josm/data/osm/Relation.java	(revision 8365)
@@ -300,18 +300,21 @@
     @Override
     public int compareTo(OsmPrimitive o) {
-        return o instanceof Relation ? Long.valueOf(getUniqueId()).compareTo(o.getUniqueId()) : -1;
-    }
-
+        return o instanceof Relation ? Long.compare(getUniqueId(), o.getUniqueId()) : -1;
+    }
+
+    /**
+     * Returns the first member.
+     * @return first member, or {@code null}
+     */
     public RelationMember firstMember() {
-        if (isIncomplete()) return null;
-
-        RelationMember[] members = this.members;
-        return (members.length == 0) ? null : members[0];
-    }
+        return (isIncomplete() || members.length == 0) ? null : members[0];
+    }
+
+    /**
+     * Returns the last member.
+     * @return last member, or {@code null}
+     */
     public RelationMember lastMember() {
-        if (isIncomplete()) return null;
-
-        RelationMember[] members = this.members;
-        return (members.length == 0) ? null : members[members.length - 1];
+        return (isIncomplete() || members.length == 0) ? null : members[members.length - 1];
     }
 
Index: /trunk/src/org/openstreetmap/josm/data/osm/Way.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/osm/Way.java	(revision 8364)
+++ /trunk/src/org/openstreetmap/josm/data/osm/Way.java	(revision 8365)
@@ -351,5 +351,5 @@
         if (o instanceof Relation)
             return 1;
-        return o instanceof Way ? Long.valueOf(getUniqueId()).compareTo(o.getUniqueId()) : -1;
+        return o instanceof Way ? Long.compare(getUniqueId(), o.getUniqueId()) : -1;
     }
 
Index: /trunk/src/org/openstreetmap/josm/data/osm/history/HistoryOsmPrimitive.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/osm/history/HistoryOsmPrimitive.java	(revision 8364)
+++ /trunk/src/org/openstreetmap/josm/data/osm/history/HistoryOsmPrimitive.java	(revision 8365)
@@ -156,5 +156,5 @@
         if (this.id != o.id)
             throw new ClassCastException(tr("Cannot compare primitive with ID ''{0}'' to primitive with ID ''{1}''.", o.id, this.id));
-        return Long.valueOf(this.version).compareTo(o.version);
+        return Long.compare(this.version, o.version);
     }
 
Index: /trunk/src/org/openstreetmap/josm/data/validation/tests/DuplicateRelation.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/validation/tests/DuplicateRelation.java	(revision 8364)
+++ /trunk/src/org/openstreetmap/josm/data/validation/tests/DuplicateRelation.java	(revision 8365)
@@ -131,5 +131,5 @@
      * Class to store relation data (keys are usually cleanup and may not be equal to original relation)
      */
-    private class RelationPair {
+    private static class RelationPair {
         /** Member objects of the relation */
         private RelationMembers members;
Index: /trunk/src/org/openstreetmap/josm/data/validation/tests/SimilarNamedWays.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/validation/tests/SimilarNamedWays.java	(revision 8364)
+++ /trunk/src/org/openstreetmap/josm/data/validation/tests/SimilarNamedWays.java	(revision 8365)
@@ -223,5 +223,5 @@
     }
 
-    public class RegExprRule implements NormalizeRule {
+    public static class RegExprRule implements NormalizeRule {
         private final Pattern regExpr;
         private final String replacement;
@@ -243,5 +243,5 @@
     }
 
-    public class SynonymRule implements NormalizeRule {
+    public static class SynonymRule implements NormalizeRule {
 
         private final String[] words;
Index: /trunk/src/org/openstreetmap/josm/gui/MainMenu.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/MainMenu.java	(revision 8364)
+++ /trunk/src/org/openstreetmap/josm/gui/MainMenu.java	(revision 8365)
@@ -950,5 +950,5 @@
      * When user presses Enter key then selected item of "searchResultsMenu" is triggered.
      */
-    private class SearchFieldKeyListener implements KeyListener {
+    private static class SearchFieldKeyListener implements KeyListener {
 
         @Override
@@ -970,8 +970,12 @@
 
         @Override
-        public void keyTyped(KeyEvent e) { }
-
-        @Override
-        public void keyReleased(KeyEvent e) { }
+        public void keyTyped(KeyEvent e) {
+            // Not used
+        }
+
+        @Override
+        public void keyReleased(KeyEvent e) {
+            // Not used
+        }
     }
 
Index: /trunk/src/org/openstreetmap/josm/gui/MapView.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/MapView.java	(revision 8364)
+++ /trunk/src/org/openstreetmap/josm/gui/MapView.java	(revision 8365)
@@ -509,17 +509,16 @@
         }
         // sort according to position in the list of layers, with one exception:
-        // an active data layer always becomes a higher Z-Order than all other
-        // data layers
-        //
+        // an active data layer always becomes a higher Z-Order than all other data layers
         Collections.sort(
                 ret,
                 new Comparator<Layer>() {
-                    @Override public int compare(Layer l1, Layer l2) {
+                    @Override
+                    public int compare(Layer l1, Layer l2) {
                         if (l1 instanceof OsmDataLayer && l2 instanceof OsmDataLayer) {
                             if (l1 == getActiveLayer()) return -1;
                             if (l2 == getActiveLayer()) return 1;
-                            return Integer.valueOf(layers.indexOf(l1)).compareTo(layers.indexOf(l2));
+                            return Integer.compare(layers.indexOf(l1), layers.indexOf(l2));
                         } else
-                            return Integer.valueOf(layers.indexOf(l1)).compareTo(layers.indexOf(l2));
+                            return Integer.compare(layers.indexOf(l1), layers.indexOf(l2));
                     }
                 }
@@ -540,5 +539,6 @@
      * Draw the component.
      */
-    @Override public void paint(Graphics g) {
+    @Override
+    public void paint(Graphics g) {
         if (initialViewport != null) {
             zoomTo(initialViewport);
Index: /trunk/src/org/openstreetmap/josm/gui/actionsupport/DeleteFromRelationConfirmationDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/actionsupport/DeleteFromRelationConfirmationDialog.java	(revision 8364)
+++ /trunk/src/org/openstreetmap/josm/gui/actionsupport/DeleteFromRelationConfirmationDialog.java	(revision 8365)
@@ -213,5 +213,5 @@
                             cmp = o1.getParent().getDisplayName(nf).compareTo(o2.getParent().getDisplayName(nf));
                             if (cmp != 0) return cmp;
-                            return Integer.valueOf(o1.getPosition()).compareTo(o2.getPosition());
+                            return Integer.compare(o1.getPosition(), o2.getPosition());
                         }
                     }
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/NotesDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/NotesDialog.java	(revision 8364)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/NotesDialog.java	(revision 8365)
@@ -222,5 +222,5 @@
     }
 
-    private class NoteRenderer implements ListCellRenderer<Note> {
+    private static class NoteRenderer implements ListCellRenderer<Note> {
 
         private DefaultListCellRenderer defaultListCellRenderer = new DefaultListCellRenderer();
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesCellRenderer.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesCellRenderer.java	(revision 8364)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesCellRenderer.java	(revision 8365)
@@ -40,6 +40,6 @@
         }
     }
-    
-    @Override 
+
+    @Override
     public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
         Component c = super.getTableCellRendererComponent(table, value, isSelected, false, row, column);
@@ -53,30 +53,31 @@
                 Map<?, ?> v = (Map<?, ?>) value;
                 if (v.size() != 1) {    // Multiple values: give user a short summary of the values
-                    Integer blank_count;
-                    Integer other_count;
+                    Integer blankCount;
+                    Integer otherCount;
                     if (v.get("") == null) {
-                        blank_count = 0;
-                        other_count = v.size();
+                        blankCount = 0;
+                        otherCount = v.size();
                     } else {
-                        blank_count = (Integer)v.get("");
-                        other_count = v.size()-1;
+                        blankCount = (Integer)v.get("");
+                        otherCount = v.size()-1;
                     }
-                    str = "<";
-                    if (other_count == 1) {
+                    StringBuilder sb = new StringBuilder("<");
+                    if (otherCount == 1) {
                         for (Map.Entry<?, ?> entry : v.entrySet()) { // Find the non-blank value in the map
                             if ( entry.getKey() != "") {
                                 /* I18n: properties display partial string joined with comma, frst is count, second is value */
-                                str += tr("{0} ''{1}''", entry.getValue().toString(), entry.getKey());
+                                sb.append(tr("{0} ''{1}''", entry.getValue().toString(), entry.getKey()));
                             }
                         }
                     } else {
                         /* I18n: properties display partial string joined with comma */
-                        str += trn("{0} different", "{0} different", other_count, other_count);
+                        sb.append(trn("{0} different", "{0} different", otherCount, otherCount));
                     }
-                    if(blank_count > 0) {
+                    if(blankCount > 0) {
                         /* I18n: properties display partial string joined with comma */
-                        str += trn(", {0} unset", ", {0} unset", blank_count, blank_count);
+                        sb.append(trn(", {0} unset", ", {0} unset", blankCount, blankCount));
                     }
-                    str += ">";
+                    sb.append(">");
+                    str = sb.toString();
                     c.setFont(c.getFont().deriveFont(Font.ITALIC));
 
Index: /trunk/src/org/openstreetmap/josm/gui/mappaint/NodeElemStyle.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/mappaint/NodeElemStyle.java	(revision 8364)
+++ /trunk/src/org/openstreetmap/josm/gui/mappaint/NodeElemStyle.java	(revision 8365)
@@ -4,5 +4,4 @@
 import java.awt.BasicStroke;
 import java.awt.Color;
-import java.awt.Image;
 import java.awt.Rectangle;
 import java.awt.Stroke;
@@ -29,10 +28,4 @@
     public final RotationAngle mapImageAngle;
     public final Symbol symbol;
-
-    private Image enabledNodeIcon;
-    private Image disabledNodeIcon;
-
-    private boolean enabledNodeIconIsTemporary;
-    private boolean disabledNodeIconIsTemporary;
 
     public enum SymbolShape { SQUARE, CIRCLE, TRIANGLE, PENTAGON, HEXAGON, HEPTAGON, OCTAGON, NONAGON, DECAGON }
Index: /trunk/src/org/openstreetmap/josm/gui/preferences/projection/CodeProjectionChoice.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/preferences/projection/CodeProjectionChoice.java	(revision 8364)
+++ /trunk/src/org/openstreetmap/josm/gui/preferences/projection/CodeProjectionChoice.java	(revision 8365)
@@ -81,5 +81,5 @@
                         int num1 = Integer.parseInt(matcher1.group(2));
                         int num2 = Integer.parseInt(matcher2.group(2));
-                        return Integer.valueOf(num1).compareTo(num2);
+                        return Integer.compare(num1, num2);
                     } else
                         return -1;
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPresetItems.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPresetItems.java	(revision 8364)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPresetItems.java	(revision 8365)
@@ -1375,5 +1375,5 @@
             if (rows != null) {
                 double height = renderer.getListCellRendererComponent(list,
-                        new PresetListEntry("x"), 0, false, false).getPreferredSize().getHeight() * Integer.valueOf(rows);
+                        new PresetListEntry("x"), 0, false, false).getPreferredSize().getHeight() * Integer.parseInt(rows);
                 sp.setPreferredSize(new Dimension((int) sp.getPreferredSize().getWidth(), (int) height));
             }
Index: /trunk/src/org/openstreetmap/josm/tools/ImageOverlay.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/ImageOverlay.java	(revision 8364)
+++ /trunk/src/org/openstreetmap/josm/tools/ImageOverlay.java	(revision 8365)
@@ -72,8 +72,8 @@
         int height = -1;
         if (offsetRight > 0 && offsetLeft > 0) {
-            width = new Double(w*(offsetRight-offsetLeft)).intValue();
+            width = (int) (w*(offsetRight-offsetLeft));
         }
         if (offsetTop > 0 && offsetBottom > 0) {
-            width = new Double(h*(offsetBottom-offsetTop)).intValue();
+            width = (int) (h*(offsetBottom-offsetTop));
         }
         ImageIcon overlay;
Index: /trunk/src/org/openstreetmap/josm/tools/WindowGeometry.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/WindowGeometry.java	(revision 8364)
+++ /trunk/src/org/openstreetmap/josm/tools/WindowGeometry.java	(revision 8365)
@@ -187,10 +187,10 @@
             final Matcher m = Pattern.compile("(\\d+)x(\\d+)(([+-])(\\d+)([+-])(\\d+))?").matcher(arg);
             if (m.matches()) {
-                int w = Integer.valueOf(m.group(1));
-                int h = Integer.valueOf(m.group(2));
+                int w = Integer.parseInt(m.group(1));
+                int h = Integer.parseInt(m.group(2));
                 int x = screenDimension.x, y = screenDimension.y;
                 if (m.group(3) != null) {
-                    x = Integer.valueOf(m.group(5));
-                    y = Integer.valueOf(m.group(7));
+                    x = Integer.parseInt(m.group(5));
+                    y = Integer.parseInt(m.group(7));
                     if ("-".equals(m.group(4))) {
                         x = screenDimension.x + screenDimension.width - x - w;
