Index: applications/editors/josm/plugins/reverter/src/reverter/ChangesetIdQuery.java
===================================================================
--- applications/editors/josm/plugins/reverter/src/reverter/ChangesetIdQuery.java	(revision 30521)
+++ applications/editors/josm/plugins/reverter/src/reverter/ChangesetIdQuery.java	(revision 30737)
@@ -145,5 +145,5 @@
      */
     protected void restoreChangesetsHistory(HistoryComboBox cbHistory) {
-        List<String> cmtHistory = new LinkedList<String>(Main.pref.getCollection(getClass().getName() + ".changesetsHistory", new LinkedList<String>()));
+        List<String> cmtHistory = new LinkedList<>(Main.pref.getCollection(getClass().getName() + ".changesetsHistory", new LinkedList<String>()));
         // we have to reverse the history, because ComboBoxHistory will reverse it again in addElement()
         Collections.reverse(cmtHistory);
Index: applications/editors/josm/plugins/reverter/src/reverter/ChangesetReverter.java
===================================================================
--- applications/editors/josm/plugins/reverter/src/reverter/ChangesetReverter.java	(revision 30521)
+++ applications/editors/josm/plugins/reverter/src/reverter/ChangesetReverter.java	(revision 30737)
@@ -70,9 +70,9 @@
     private DataSet nds; // Dataset that contains new objects downloaded by reverter
 
-    private final HashSet<PrimitiveId> missing = new HashSet<PrimitiveId>();
-
-    private final HashSet<HistoryOsmPrimitive> created = new HashSet<HistoryOsmPrimitive>();
-    private final HashSet<HistoryOsmPrimitive> updated = new HashSet<HistoryOsmPrimitive>();
-    private final HashSet<HistoryOsmPrimitive> deleted = new HashSet<HistoryOsmPrimitive>();
+    private final HashSet<PrimitiveId> missing = new HashSet<>();
+
+    private final HashSet<HistoryOsmPrimitive> created = new HashSet<>();
+    private final HashSet<HistoryOsmPrimitive> updated = new HashSet<>();
+    private final HashSet<HistoryOsmPrimitive> deleted = new HashSet<>();
 
     //// Handling missing objects
@@ -280,11 +280,11 @@
         switch (p.getType()) {
         case NODE:
-            return new Conflict<Node>((Node)p,new Node((Node)p), isMyDeleted);
+            return new Conflict<>((Node)p,new Node((Node)p), isMyDeleted);
         case CLOSEDWAY:
         case WAY:
-            return new Conflict<Way>((Way)p,new Way((Way)p), isMyDeleted);
+            return new Conflict<>((Way)p,new Way((Way)p), isMyDeleted);
         case MULTIPOLYGON:
         case RELATION:
-            return new Conflict<Relation>((Relation)p,new Relation((Relation)p), isMyDeleted);
+            return new Conflict<>((Relation)p,new Relation((Relation)p), isMyDeleted);
         default: throw new AssertionError();
         }
@@ -348,5 +348,5 @@
         // Create a set of objects to be deleted
 
-        HashSet<OsmPrimitive> toDelete = new HashSet<OsmPrimitive>();
+        HashSet<OsmPrimitive> toDelete = new HashSet<>();
         // Mark objects that has visible=false to be deleted
         for (OsmPrimitive p : nds.allPrimitives()) {
@@ -365,5 +365,5 @@
         // Check reversion against current dataset and create necessary conflicts
 
-        HashSet<OsmPrimitive> conflicted = new HashSet<OsmPrimitive>();
+        HashSet<OsmPrimitive> conflicted = new HashSet<>();
 
         for (Conflict<? extends OsmPrimitive> conflict : merger.getConflicts()) {
Index: applications/editors/josm/plugins/reverter/src/reverter/DataSetCommandMerger.java
===================================================================
--- applications/editors/josm/plugins/reverter/src/reverter/DataSetCommandMerger.java	(revision 30521)
+++ applications/editors/josm/plugins/reverter/src/reverter/DataSetCommandMerger.java	(revision 30737)
@@ -33,6 +33,6 @@
     private final DataSet targetDataSet;
 
-    private final List<Command> cmds = new LinkedList<Command>();
-    private final List<OsmPrimitive> nominalRevertedPrimitives = new LinkedList<OsmPrimitive>();
+    private final List<Command> cmds = new LinkedList<>();
+    private final List<OsmPrimitive> nominalRevertedPrimitives = new LinkedList<>();
 
     /**
@@ -98,7 +98,7 @@
         Way target = (Way)getMergeTarget(source);
         
-        Collection<Conflict<OsmPrimitive>> localConflicts = new ArrayList<Conflict<OsmPrimitive>>();
+        Collection<Conflict<OsmPrimitive>> localConflicts = new ArrayList<>();
 
-        List<Node> newNodes = new ArrayList<Node>(source.getNodesCount());
+        List<Node> newNodes = new ArrayList<>(source.getNodesCount());
         for (Node sourceNode : source.getNodes()) {
             Node targetNode = (Node)getMergeTarget(sourceNode);
@@ -142,10 +142,10 @@
         if (!source.isVisible()) return;
         Relation target = (Relation) getMergeTarget(source);
-        LinkedList<RelationMember> newMembers = new LinkedList<RelationMember>();
+        LinkedList<RelationMember> newMembers = new LinkedList<>();
         for (RelationMember sourceMember : source.getMembers()) {
             OsmPrimitive targetMember = getMergeTarget(sourceMember.getMember());
             if (targetMember.isDeleted() && sourceMember.getMember().isIncomplete()
                     && !conflicts.hasConflictForMy(targetMember)) {
-                conflicts.add(new Conflict<OsmPrimitive>(targetMember, sourceMember.getMember(), true));
+                conflicts.add(new Conflict<>(targetMember, sourceMember.getMember(), true));
                 OsmPrimitive undeletedTargetMember;
                 switch(targetMember.getType()) {
Index: applications/editors/josm/plugins/reverter/src/reverter/corehacks/ChangesetDataSet.java
===================================================================
--- applications/editors/josm/plugins/reverter/src/reverter/corehacks/ChangesetDataSet.java	(revision 30521)
+++ applications/editors/josm/plugins/reverter/src/reverter/corehacks/ChangesetDataSet.java	(revision 30737)
@@ -30,7 +30,7 @@
     }
 
-    final private Map<PrimitiveId, Integer> earliestVersions = new HashMap<PrimitiveId, Integer>();
-    final private Map<PrimitiveId, HistoryOsmPrimitive> primitives = new HashMap<PrimitiveId, HistoryOsmPrimitive>();
-    final private Map<PrimitiveId, ChangesetModificationType> modificationTypes = new HashMap<PrimitiveId, ChangesetModificationType>();
+    final private Map<PrimitiveId, Integer> earliestVersions = new HashMap<>();
+    final private Map<PrimitiveId, HistoryOsmPrimitive> primitives = new HashMap<>();
+    final private Map<PrimitiveId, ChangesetModificationType> modificationTypes = new HashMap<>();
 
     /**
@@ -145,5 +145,5 @@
     public Set<HistoryOsmPrimitive> getPrimitivesByModificationType(ChangesetModificationType cmt) throws IllegalArgumentException {
         CheckParameterUtil.ensureParameterNotNull(cmt,"cmt");
-        HashSet<HistoryOsmPrimitive> ret = new HashSet<HistoryOsmPrimitive>();
+        HashSet<HistoryOsmPrimitive> ret = new HashSet<>();
         for (Entry<PrimitiveId, ChangesetModificationType> entry: modificationTypes.entrySet()) {
             if (entry.getValue().equals(cmt)) {
Index: applications/editors/josm/plugins/reverter/src/reverter/corehacks/OsmServerChangesetReader.java
===================================================================
--- applications/editors/josm/plugins/reverter/src/reverter/corehacks/OsmServerChangesetReader.java	(revision 30521)
+++ applications/editors/josm/plugins/reverter/src/reverter/corehacks/OsmServerChangesetReader.java	(revision 30737)
@@ -134,5 +134,5 @@
             monitor.beginTask(trn("Downloading {0} changeset ...", "Downloading {0} changesets ...",ids.size(),ids.size()));
             monitor.setTicksCount(ids.size());
-            List<Changeset> ret = new ArrayList<Changeset>();
+            List<Changeset> ret = new ArrayList<>();
             int i=0;
             for (Iterator<Integer> it = ids.iterator(); it.hasNext(); ) {
