Index: trunk/src/org/openstreetmap/josm/data/gpx/GpxData.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/gpx/GpxData.java	(revision 16952)
+++ trunk/src/org/openstreetmap/josm/data/gpx/GpxData.java	(revision 16953)
@@ -8,4 +8,5 @@
 import java.util.Collection;
 import java.util.Collections;
+import java.util.Comparator;
 import java.util.Date;
 import java.util.HashMap;
@@ -374,5 +375,5 @@
                 }
             }
-            segSpans.sort((o1, o2) -> o1.firstTime.compareTo(o2.firstTime));
+            segSpans.sort(Comparator.comparing(o -> o.firstTime));
         }
         return segSpans;
Index: trunk/src/org/openstreetmap/josm/data/notes/Note.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/notes/Note.java	(revision 16952)
+++ trunk/src/org/openstreetmap/josm/data/notes/Note.java	(revision 16953)
@@ -51,5 +51,5 @@
 
     /** Sorts notes strictly by creation date */
-    public static final Comparator<Note> DATE_COMPARATOR = (n1, n2) -> n1.createdAt.compareTo(n2.createdAt);
+    public static final Comparator<Note> DATE_COMPARATOR = Comparator.comparing(n -> n.createdAt);
 
     /** Sorts notes by user, then creation date */
Index: trunk/src/org/openstreetmap/josm/data/notes/NoteComment.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/notes/NoteComment.java	(revision 16952)
+++ trunk/src/org/openstreetmap/josm/data/notes/NoteComment.java	(revision 16953)
@@ -41,5 +41,5 @@
 
     /** Sorts note comments strictly by creation date */
-    public static final Comparator<NoteComment> DATE_COMPARATOR = (n1, n2) -> n1.commentTimestamp.compareTo(n2.commentTimestamp);
+    public static final Comparator<NoteComment> DATE_COMPARATOR = Comparator.comparing(n -> n.commentTimestamp);
 
     /**
Index: trunk/src/org/openstreetmap/josm/data/osm/DefaultNameFormatter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/DefaultNameFormatter.java	(revision 16952)
+++ trunk/src/org/openstreetmap/josm/data/osm/DefaultNameFormatter.java	(revision 16953)
@@ -225,5 +225,5 @@
     }
 
-    private final Comparator<INode> nodeComparator = (n1, n2) -> format(n1).compareTo(format(n2));
+    private final Comparator<INode> nodeComparator = Comparator.comparing(this::format);
 
     @Override
@@ -315,5 +315,5 @@
     }
 
-    private final Comparator<IWay<?>> wayComparator = (w1, w2) -> format(w1).compareTo(format(w2));
+    private final Comparator<IWay<?>> wayComparator = Comparator.comparing(this::format);
 
     @Override
Index: trunk/src/org/openstreetmap/josm/gui/ImageryMenu.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/ImageryMenu.java	(revision 16952)
+++ trunk/src/org/openstreetmap/josm/gui/ImageryMenu.java	(revision 16953)
@@ -100,5 +100,5 @@
      */
     public static final Comparator<ImageryInfo> alphabeticImageryComparator =
-            (ii1, ii2) -> ii1.getName().toLowerCase(Locale.ENGLISH).compareTo(ii2.getName().toLowerCase(Locale.ENGLISH));
+            Comparator.comparing(ii -> ii.getName().toLowerCase(Locale.ENGLISH));
 
     private final transient Action offsetAction = new AdjustImageryOffsetAction();
Index: trunk/src/org/openstreetmap/josm/gui/conflict/tags/TagConflictResolutionUtil.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/tags/TagConflictResolutionUtil.java	(revision 16952)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/tags/TagConflictResolutionUtil.java	(revision 16953)
@@ -6,4 +6,5 @@
 import java.util.Collection;
 import java.util.Collections;
+import java.util.Comparator;
 import java.util.HashMap;
 import java.util.LinkedHashSet;
@@ -288,5 +289,5 @@
                 return new TreeSet<>();
             } else if ("Integer".equals(sort)) {
-                return new TreeSet<>((String v1, String v2) -> Long.valueOf(v1).compareTo(Long.valueOf(v2)));
+                return new TreeSet<>(Comparator.comparing(Long::valueOf));
             } else {
                 return new LinkedHashSet<>();
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetContentTableModel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetContentTableModel.java	(revision 16952)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetContentTableModel.java	(revision 16953)
@@ -4,4 +4,5 @@
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Comparator;
 import java.util.Iterator;
 import java.util.List;
@@ -94,11 +95,5 @@
      */
     protected void sort() {
-        data.sort((c1, c2) -> {
-            int d = c1.getModificationType().compareTo(c2.getModificationType());
-            if (d == 0) {
-                d = Long.compare(c1.getPrimitive().getId(), c2.getPrimitive().getId());
-            }
-            return d;
-            }
+        data.sort(Comparator.comparing(ChangesetContentEntry::getModificationType).thenComparingLong(c -> c.getPrimitive().getId())
         );
     }
Index: trunk/src/org/openstreetmap/josm/gui/layer/gpx/ImportAudioAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/gpx/ImportAudioAction.java	(revision 16952)
+++ trunk/src/org/openstreetmap/josm/gui/layer/gpx/ImportAudioAction.java	(revision 16953)
@@ -273,5 +273,5 @@
 
         // we must have got at least one waypoint now
-        ((ArrayList<WayPoint>) waypoints).sort((wp, other) -> wp.compareTo(other));
+        ((ArrayList<WayPoint>) waypoints).sort(Comparator.naturalOrder());
 
         firstTime = -1.0; // this time of the first waypoint, not first trackpoint
Index: trunk/src/org/openstreetmap/josm/gui/preferences/imagery/HeadersTable.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/imagery/HeadersTable.java	(revision 16952)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/imagery/HeadersTable.java	(revision 16953)
@@ -5,4 +5,5 @@
 
 import java.awt.GridBagLayout;
+import java.util.Comparator;
 import java.util.List;
 import java.util.Map;
@@ -106,5 +107,5 @@
 
     private static List<String[]> getHeadersAsVector(Map<String, String> headers) {
-        return headers.entrySet().stream().sorted((e1, e2) -> e1.getKey().compareTo(e2.getKey()))
+        return headers.entrySet().stream().sorted(Comparator.comparing(Map.Entry::getKey))
                 .map(e -> new String[] {e.getKey(), e.getValue()}).collect(Collectors.toList());
     }
Index: trunk/src/org/openstreetmap/josm/io/GpxWriter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/GpxWriter.java	(revision 16952)
+++ trunk/src/org/openstreetmap/josm/io/GpxWriter.java	(revision 16953)
@@ -11,4 +11,5 @@
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Comparator;
 import java.util.Date;
 import java.util.List;
@@ -97,5 +98,5 @@
             data.getLayerPrefs().entrySet()
             .stream()
-            .sorted((e1, e2) -> e1.getKey().compareTo(e2.getKey()))
+            .sorted(Comparator.comparing(Map.Entry::getKey))
             .forEach(entry -> {
                 GpxExtension e = layerExts.add("josm", "entry");
Index: trunk/src/org/openstreetmap/josm/io/OsmWriter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/OsmWriter.java	(revision 16952)
+++ trunk/src/org/openstreetmap/josm/io/OsmWriter.java	(revision 16953)
@@ -320,5 +320,5 @@
     }
 
-    protected static final Comparator<Entry<String, String>> byKeyComparator = (o1, o2) -> o1.getKey().compareTo(o2.getKey());
+    protected static final Comparator<Entry<String, String>> byKeyComparator = Comparator.comparing(Entry::getKey);
 
     protected void addTags(Tagged osm, String tagname, boolean tagOpen) {
