Index: applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/Address.java
===================================================================
--- applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/Address.java	(revision 30736)
+++ applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/Address.java	(revision 30737)
@@ -131,7 +131,7 @@
         MapView mv = Main.map.mapView;
         Point mousePos = e.getPoint();
-        List<Way> mouseOnExistingWays = new ArrayList<Way>();
-        List<Way> mouseOnExistingBuildingWays = new ArrayList<Way>();
-        mouseOnExistingWays = new ArrayList<Way>();
+        List<Way> mouseOnExistingWays = new ArrayList<>();
+        List<Way> mouseOnExistingBuildingWays = new ArrayList<>();
+        mouseOnExistingWays = new ArrayList<>();
         Node currentMouseNode = mv.getNearestNode(mousePos, OsmPrimitive.isSelectablePredicate);
         if (currentMouseNode != null) {
@@ -144,5 +144,5 @@
                     && !inputStreet.getText().equals("")) {
                 // house number already present but not linked to a street
-                Collection<Command> cmds = new LinkedList<Command>();
+                Collection<Command> cmds = new LinkedList<>();
                 addStreetNameOrRelation(currentMouseNode, cmds);
                 Command c = new SequenceCommand("Add node address", cmds);
@@ -164,5 +164,5 @@
                         inputStreet.setText(currentMouseNode.get(tagHouseStreet));
                         if (ctrl) {
-                            Collection<Command> cmds = new LinkedList<Command>();
+                            Collection<Command> cmds = new LinkedList<>();
                             addAddrToPrimitive(currentMouseNode, cmds);
                             if (num == null)
@@ -179,5 +179,5 @@
                             applyInputNumberChange();
                         }
-                        Collection<Command> cmds = new LinkedList<Command>();
+                        Collection<Command> cmds = new LinkedList<>();
                         addAddrToPrimitive(currentMouseNode, cmds);
                     } else {
@@ -206,5 +206,5 @@
                     Toolkit.getDefaultToolkit().beep();
                 } else {
-                    Collection<Command> cmds = new LinkedList<Command>();
+                    Collection<Command> cmds = new LinkedList<>();
                     if (ctrl) {
                         applyInputNumberChange();
@@ -305,5 +305,5 @@
         cmds.add(new AddCommand(n));
         List<WaySegment> wss = Main.map.mapView.getNearestWaySegments(e.getPoint(), OsmPrimitive.isSelectablePredicate);
-        Map<Way, List<Integer>> insertPoints = new HashMap<Way, List<Integer>>();
+        Map<Way, List<Integer>> insertPoints = new HashMap<>();
         for (WaySegment ws : wss) {
             List<Integer> is;
@@ -311,5 +311,5 @@
                 is = insertPoints.get(ws.way);
             } else {
-                is = new ArrayList<Integer>();
+                is = new ArrayList<>();
                 insertPoints.put(ws.way, is);
             }
@@ -317,7 +317,7 @@
             is.add(ws.lowerIndex);
         }
-        Set<Pair<Node,Node>> segSet = new HashSet<Pair<Node,Node>>();
-        ArrayList<Way> replacedWays = new ArrayList<Way>();
-        ArrayList<Way> reuseWays = new ArrayList<Way>();
+        Set<Pair<Node,Node>> segSet = new HashSet<>();
+        ArrayList<Way> replacedWays = new ArrayList<>();
+        ArrayList<Way> reuseWays = new ArrayList<>();
         for (Map.Entry<Way, List<Integer>> insertPoint : insertPoints.entrySet()) {
             Way w = insertPoint.getKey();
@@ -326,5 +326,5 @@
             pruneSuccsAndReverse(is);
             for (int i : is) {
-                segSet.add(Pair.sort(new Pair<Node,Node>(w.getNode(i), w.getNode(i+1))));
+                segSet.add(Pair.sort(new Pair<>(w.getNode(i), w.getNode(i+1))));
             }
             for (int i : is) {
@@ -403,5 +403,5 @@
         //if (is.size() < 2) return;
 
-        HashSet<Integer> is2 = new HashSet<Integer>();
+        HashSet<Integer> is2 = new HashSet<>();
         for (int i : is) {
             if (!is2.contains(i - 1) && !is2.contains(i + 1)) {
@@ -541,5 +541,5 @@
     
     private void setNewSelection(OsmPrimitive osm) {
-        Collection<OsmPrimitive> newSelection = new LinkedList<OsmPrimitive>(Main.main.getCurrentDataSet().getSelected());
+        Collection<OsmPrimitive> newSelection = new LinkedList<>(Main.main.getCurrentDataSet().getSelected());
         newSelection.clear();
         newSelection.add(osm);
Index: applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/CacheControl.java
===================================================================
--- applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/CacheControl.java	(revision 30736)
+++ applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/CacheControl.java	(revision 30737)
@@ -44,5 +44,5 @@
     public WMSLayer wmsLayer = null;
 
-    private ArrayList<GeorefImage> imagesToSave = new ArrayList<GeorefImage>();
+    private ArrayList<GeorefImage> imagesToSave = new ArrayList<>();
     private Lock imagesLock = new ReentrantLock();
 
Index: applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/CadastreInterface.java
===================================================================
--- applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/CadastreInterface.java	(revision 30736)
+++ applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/CadastreInterface.java	(revision 30737)
@@ -33,6 +33,6 @@
     private String lastWMSLayerName = null;
     private URL searchFormURL;
-    private Vector<String> listOfCommunes = new Vector<String>();
-    private Vector<String> listOfTA = new Vector<String>();
+    private Vector<String> listOfCommunes = new Vector<>();
+    private Vector<String> listOfTA = new Vector<>();
     class PlanImage {
         String name;
@@ -43,5 +43,5 @@
         }
     }
-    private Vector<PlanImage> listOfFeuilles = new Vector<PlanImage>();
+    private Vector<PlanImage> listOfFeuilles = new Vector<>();
     private long cookieTimestamp;
 
@@ -435,5 +435,5 @@
     private int selectFeuilleDialog() {
         JPanel p = new JPanel(new GridBagLayout());
-        Vector<String> imageNames = new Vector<String>();
+        Vector<String> imageNames = new Vector<>();
         for (PlanImage src : listOfFeuilles) {
             imageNames.add(src.name);
Index: applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/CadastrePlugin.java
===================================================================
--- applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/CadastrePlugin.java	(revision 30736)
+++ applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/CadastrePlugin.java	(revision 30737)
@@ -422,5 +422,5 @@
                     zone = code - 27561;
                 } else {                                            // UTM_France_DOM
-                    Map<Integer, Integer> utmfr = new HashMap<Integer, Integer>();
+                    Map<Integer, Integer> utmfr = new HashMap<>();
                     utmfr.put(2969, 0);
                     utmfr.put(2970, 1);
Index: applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/CheckSourceUploadHook.java
===================================================================
--- applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/CheckSourceUploadHook.java	(revision 30736)
+++ applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/CheckSourceUploadHook.java	(revision 30737)
@@ -39,5 +39,5 @@
     {
         if (CadastrePlugin.autoSourcing && CadastrePlugin.pluginUsed && !apiDataSet.getPrimitivesToAdd().isEmpty()) {
-            Collection<OsmPrimitive> sel = new HashSet<OsmPrimitive>();
+            Collection<OsmPrimitive> sel = new HashSet<>();
             for (OsmPrimitive osm : apiDataSet.getPrimitivesToAdd()) {
                 if ((osm instanceof Way && (osm.getKeys().size() == 0 || !tagSourceExist(osm)))
Index: applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/DownloadSVGBuilding.java
===================================================================
--- applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/DownloadSVGBuilding.java	(revision 30736)
+++ applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/DownloadSVGBuilding.java	(revision 30737)
@@ -99,9 +99,9 @@
     private void createBuildings(String svg) {
         String[] SVGpaths = new SVGParser().getClosedPaths(svg);
-        ArrayList<ArrayList<EastNorth>> eastNorths = new ArrayList<ArrayList<EastNorth>>();
+        ArrayList<ArrayList<EastNorth>> eastNorths = new ArrayList<>();
 
         // convert SVG nodes to eastNorth coordinates
         for (int i=0; i< SVGpaths.length; i++) {
-            ArrayList<EastNorth> eastNorth = new ArrayList<EastNorth>();
+            ArrayList<EastNorth> eastNorth = new ArrayList<>();
             createNodes(SVGpaths[i], eastNorth);
             if (eastNorth.size() > 2)
@@ -156,5 +156,5 @@
         }
 
-        Collection<Command> cmds = new LinkedList<Command>();
+        Collection<Command> cmds = new LinkedList<>();
         for (Node node : svgDataSet.getNodes())
             if (!node.isDeleted())
Index: applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/DownloadSVGTask.java
===================================================================
--- applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/DownloadSVGTask.java	(revision 30736)
+++ applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/DownloadSVGTask.java	(revision 30737)
@@ -104,8 +104,8 @@
     private void createWay(String svg) {
         String[] SVGpaths = new SVGParser().getClosedPaths(svg);
-        ArrayList<Double> fitViewBox = new ArrayList<Double>();
-        ArrayList<ArrayList<EastNorth>> eastNorths = new ArrayList<ArrayList<EastNorth>>();
+        ArrayList<Double> fitViewBox = new ArrayList<>();
+        ArrayList<ArrayList<EastNorth>> eastNorths = new ArrayList<>();
         for (int i=0; i< SVGpaths.length; i++) {
-            ArrayList<EastNorth> eastNorth = new ArrayList<EastNorth>();
+            ArrayList<EastNorth> eastNorth = new ArrayList<>();
             fitViewBox.add( createNodes(SVGpaths[i], eastNorth) );
             eastNorths.add(eastNorth);
@@ -114,10 +114,10 @@
         Double min = Collections.min(fitViewBox);
         int bestPath = fitViewBox.indexOf(min);
-        List<Node> nodeList = new ArrayList<Node>();
+        List<Node> nodeList = new ArrayList<>();
         for (EastNorth eastNorth : eastNorths.get(bestPath)) {
             nodeList.add(new Node(Main.getProjection().eastNorth2latlon(eastNorth)));
         }
         Way wayToAdd = new Way();
-        Collection<Command> cmds = new LinkedList<Command>();
+        Collection<Command> cmds = new LinkedList<>();
         for (Node node : nodeList) {
             cmds.add(new AddCommand(node));
Index: applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/GrabThread.java
===================================================================
--- applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/GrabThread.java	(revision 30736)
+++ applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/GrabThread.java	(revision 30737)
@@ -25,5 +25,5 @@
     private Lock lockImagesToGrag = new ReentrantLock();
 
-    private ArrayList<EastNorthBound> imagesToGrab = new ArrayList<EastNorthBound>();
+    private ArrayList<EastNorthBound> imagesToGrab = new ArrayList<>();
 
     private CacheControl cacheControl = null;
@@ -58,5 +58,5 @@
     
     public ArrayList<EastNorthBound> getImagesToGrabCopy() {
-        ArrayList<EastNorthBound> copyList = new ArrayList<EastNorthBound>(); 
+        ArrayList<EastNorthBound> copyList = new ArrayList<>(); 
         lockImagesToGrag.lock();
         for (EastNorthBound img : imagesToGrab) {
Index: applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/SVGParser.java
===================================================================
--- applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/SVGParser.java	(revision 30736)
+++ applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/SVGParser.java	(revision 30737)
@@ -47,5 +47,5 @@
      */
     public String [] getClosedPaths(String svg) {
-        ArrayList<String> path = new ArrayList<String>();
+        ArrayList<String> path = new ArrayList<>();
         int i = 0;
         while (svg.indexOf(cPathStart, i) != -1) {
Index: applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/SimplifyWay.java
===================================================================
--- applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/SimplifyWay.java	(revision 30736)
+++ applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/SimplifyWay.java	(revision 30737)
@@ -23,5 +23,5 @@
     public void simplifyWayRange(Way wnew, int from, int to, double thr) {
         if (to - from >= 2) {
-            ArrayList<Node> ns = new ArrayList<Node>();
+            ArrayList<Node> ns = new ArrayList<>();
             simplifyWayRange(wnew, from, to, ns, thr);
             List<Node> nodes = wnew.getNodes();
Index: applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/WMSDownloadAction.java
===================================================================
--- applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/WMSDownloadAction.java	(revision 30736)
+++ applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/WMSDownloadAction.java	(revision 30737)
@@ -25,5 +25,5 @@
     public static WMSLayer getLayer() {
         // check if we already have a layer created. if not, create; if yes, reuse.
-        ArrayList<WMSLayer> existingWMSlayers = new ArrayList<WMSLayer>();
+        ArrayList<WMSLayer> existingWMSlayers = new ArrayList<>();
         if (Main.map != null) {
             Layer activeLayer = Main.map.mapView.getActiveLayer();
Index: applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/WMSLayer.java
===================================================================
--- applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/WMSLayer.java	(revision 30736)
+++ applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/WMSLayer.java	(revision 30737)
@@ -54,5 +54,5 @@
             CadastrePlugin.class.getResource("/images/cadastre_small.png")));
 
-    private Vector<GeorefImage> images = new Vector<GeorefImage>();
+    private Vector<GeorefImage> images = new Vector<>();
 
     public Lock imagesLock = new ReentrantLock();
@@ -67,5 +67,5 @@
     public static int currentFormat;
 
-    private ArrayList<EastNorthBound> dividedBbox = new ArrayList<EastNorthBound>();
+    private ArrayList<EastNorthBound> dividedBbox = new ArrayList<>();
 
     private String location = "";
@@ -540,6 +540,6 @@
             int oldImgWidth = images.get(0).image.getWidth();
             int oldImgHeight = images.get(0).image.getHeight();
-            HashSet<Double> lx = new HashSet<Double>();
-            HashSet<Double> ly = new HashSet<Double>();
+            HashSet<Double> lx = new HashSet<>();
+            HashSet<Double> ly = new HashSet<>();
             for (GeorefImage img : images) {
                 lx.add(img.min.east());
