Index: applications/editors/josm/plugins/pdfimport/src/pdfimport/DuplicateNodesFinder.java
===================================================================
--- applications/editors/josm/plugins/pdfimport/src/pdfimport/DuplicateNodesFinder.java	(revision 30736)
+++ applications/editors/josm/plugins/pdfimport/src/pdfimport/DuplicateNodesFinder.java	(revision 30737)
@@ -20,5 +20,5 @@
 	 */
 	public static Map<Point2D, Point2D> findDuplicateNodes(Collection<Point2D> nodes, final double tolerance){
-		List<Point2D> points = new ArrayList<Point2D>(nodes);
+		List<Point2D> points = new ArrayList<>(nodes);
 		Collections.sort(points, new Comparator<Point2D>(){
 			public int compare(Point2D o1, Point2D o2) {
@@ -28,6 +28,6 @@
 		});
 
-		Map<Point2D, Point2D> result = new HashMap<Point2D, Point2D>();
-		TreeMap<Point2D, Point2D> sweepLine = new TreeMap<Point2D, Point2D>(new Comparator<Point2D>(){
+		Map<Point2D, Point2D> result = new HashMap<>();
+		TreeMap<Point2D, Point2D> sweepLine = new TreeMap<>(new Comparator<Point2D>(){
 			public int compare(Point2D o1, Point2D o2) {
 				double diff = o1.getX() - o2.getX();
Index: applications/editors/josm/plugins/pdfimport/src/pdfimport/LayerContents.java
===================================================================
--- applications/editors/josm/plugins/pdfimport/src/pdfimport/LayerContents.java	(revision 30736)
+++ applications/editors/josm/plugins/pdfimport/src/pdfimport/LayerContents.java	(revision 30737)
@@ -10,7 +10,7 @@
 public class LayerContents{
 
-	List<Point2D> points = new ArrayList<Point2D>();
-	List<PdfPath> paths = new ArrayList<PdfPath>();
-	List<PdfMultiPath> multiPaths = new ArrayList<PdfMultiPath>();
+	List<Point2D> points = new ArrayList<>();
+	List<PdfPath> paths = new ArrayList<>();
+	List<PdfMultiPath> multiPaths = new ArrayList<>();
 	LayerInfo info;
 }
Index: applications/editors/josm/plugins/pdfimport/src/pdfimport/OsmBuilder.java
===================================================================
--- applications/editors/josm/plugins/pdfimport/src/pdfimport/OsmBuilder.java	(revision 30736)
+++ applications/editors/josm/plugins/pdfimport/src/pdfimport/OsmBuilder.java	(revision 30737)
@@ -66,5 +66,5 @@
 
 	private void addLayer(DataSet target, LayerContents layer) {
-		Map<Point2D, Node> point2Node = new HashMap<Point2D, Node>();
+		Map<Point2D, Node> point2Node = new HashMap<>();
 
 		this.fillName = this.printColor(layer.info.fill);
@@ -82,5 +82,5 @@
 
 		//insert ways
-		Map<PdfPath, Way> path2Way = new HashMap<PdfPath, Way>();
+		Map<PdfPath, Way> path2Way = new HashMap<>();
 
 		for (PdfPath path: layer.paths){
@@ -105,5 +105,5 @@
 				Relation rel = new Relation();
 
-				Map<String, String> keys = new HashMap<String, String>();
+				Map<String, String> keys = new HashMap<>();
 				keys.put("type", "multipolygon");
 				keys.put("area", "yes");
@@ -128,5 +128,5 @@
 		this.monitorPos ++;
 
-		List<Node> nodes = new ArrayList<Node>(path.points.size());
+		List<Node> nodes = new ArrayList<>(path.points.size());
 
 		for (Point2D point: path.points) {
@@ -139,5 +139,5 @@
 		}
 
-		Map<String, String> keys = new HashMap<String, String>();
+		Map<String, String> keys = new HashMap<>();
 
 		if (this.mode != Mode.Draft) {
Index: applications/editors/josm/plugins/pdfimport/src/pdfimport/ParallelSegmentsFinder.java
===================================================================
--- applications/editors/josm/plugins/pdfimport/src/pdfimport/ParallelSegmentsFinder.java	(revision 30736)
+++ applications/editors/josm/plugins/pdfimport/src/pdfimport/ParallelSegmentsFinder.java	(revision 30737)
@@ -16,5 +16,5 @@
 	public double angleSum;
 	public int refCount;
-	public List<PdfPath> paths = new ArrayList<PdfPath>();
+	public List<PdfPath> paths = new ArrayList<>();
 
 	public void addPath(PdfPath path, double angle2) {
@@ -30,5 +30,5 @@
 		tr.rotate(-angle);
 
-		final Map<PdfPath, Point2D> positions = new HashMap<PdfPath, Point2D>();
+		final Map<PdfPath, Point2D> positions = new HashMap<>();
 		Point2D src = new Point2D.Double();
 
@@ -55,11 +55,11 @@
 
 		//process sweep
-		List<ParallelSegmentsFinder> result = new ArrayList<ParallelSegmentsFinder>();
+		List<ParallelSegmentsFinder> result = new ArrayList<>();
 
-		Map<PdfPath, ParallelSegmentsFinder> sweepLine = new HashMap<PdfPath, ParallelSegmentsFinder>();
+		Map<PdfPath, ParallelSegmentsFinder> sweepLine = new HashMap<>();
 
-		Set<ParallelSegmentsFinder> adjacentClustersSet = new HashSet<ParallelSegmentsFinder>();
-		List<ParallelSegmentsFinder> adjacentClusters = new ArrayList<ParallelSegmentsFinder>();
-		List<PdfPath> pathsToRemove = new ArrayList<PdfPath>();
+		Set<ParallelSegmentsFinder> adjacentClustersSet = new HashSet<>();
+		List<ParallelSegmentsFinder> adjacentClusters = new ArrayList<>();
+		List<PdfPath> pathsToRemove = new ArrayList<>();
 
 		for (PdfPath path: paths){
Index: applications/editors/josm/plugins/pdfimport/src/pdfimport/PathOptimizer.java
===================================================================
--- applications/editors/josm/plugins/pdfimport/src/pdfimport/PathOptimizer.java	(revision 30736)
+++ applications/editors/josm/plugins/pdfimport/src/pdfimport/PathOptimizer.java	(revision 30737)
@@ -27,8 +27,8 @@
 	public PathOptimizer(double _pointsTolerance, Color _color, boolean _splitOnColorChange)
 	{
-		uniquePointMap = new HashMap<Point2D, Point2D>();
-		uniquePoints = new ArrayList<Point2D>();
-		layerMap = new HashMap<LayerInfo, LayerContents>();
-		layers = new ArrayList<LayerContents>();
+		uniquePointMap = new HashMap<>();
+		uniquePoints = new ArrayList<>();
+		layerMap = new HashMap<>();
+		layers = new ArrayList<>();
 		pointsTolerance = _pointsTolerance;
 		color = _color;
@@ -67,5 +67,5 @@
 
 		//optimize the paths
-		Set<Point2D> points = new HashSet<Point2D>();
+		Set<Point2D> points = new HashSet<>();
 		for(PdfPath path: paths) {
 			points.addAll(path.points);
@@ -148,5 +148,5 @@
 
 	public void splitLayersBySimilarShapes(double tolerance) {
-		List<LayerContents> newLayers = new ArrayList<LayerContents>();
+		List<LayerContents> newLayers = new ArrayList<>();
 		for(LayerContents l: this.layers) {
 			List<LayerContents> splitResult = splitBySimilarGroups(l);
@@ -160,5 +160,5 @@
 
 	public void splitLayersByPathKind(boolean closed, boolean single, boolean orthogonal) {
-		List<LayerContents> newLayers = new ArrayList<LayerContents>();
+		List<LayerContents> newLayers = new ArrayList<>();
 		for(LayerContents l: this.layers) {
 			List<LayerContents> splitResult = splitBySegmentKind(l, closed, single, orthogonal);
@@ -211,6 +211,6 @@
 
 	private void finalizeLayer(LayerContents layer){
-		Set<Point2D> points = new HashSet<Point2D>();
-		layer.points = new ArrayList<Point2D>();
+		Set<Point2D> points = new HashSet<>();
+		layer.points = new ArrayList<>();
 
 		for(PdfPath pp: layer.paths){
@@ -242,5 +242,5 @@
 	private void fixPoints(LayerContents layer, Map<Point2D, Point2D> pointMap) {
 
-		List<PdfPath> newPaths = new ArrayList<PdfPath>(layer.paths.size());
+		List<PdfPath> newPaths = new ArrayList<>(layer.paths.size());
 
 		for(PdfPath path: layer.paths) {
@@ -265,5 +265,5 @@
 	private List<Point2D> fixPoints(List<Point2D> points, Map<Point2D, Point2D> pointMap) {
 
-		List<Point2D> newPoints = new ArrayList<Point2D>(points.size());
+		List<Point2D> newPoints = new ArrayList<>(points.size());
 		Point2D prevPoint = null;
 
@@ -287,5 +287,5 @@
 
 	private void removeSmallObjects(LayerContents layer, double min, double max) {
-		List<PdfPath> newPaths = new ArrayList<PdfPath>(layer.paths.size());
+		List<PdfPath> newPaths = new ArrayList<>(layer.paths.size());
 
 		for(PdfPath path: layer.paths) {
@@ -300,5 +300,5 @@
 		layer.paths = newPaths;
 
-		List<PdfMultiPath> newMPaths = new ArrayList<PdfMultiPath>(layer.multiPaths.size());
+		List<PdfMultiPath> newMPaths = new ArrayList<>(layer.multiPaths.size());
 
 		for (PdfMultiPath mp: layer.multiPaths){
@@ -341,5 +341,5 @@
 
 		//filter paths by direction
-		List<ParallelSegmentsFinder> angles = new ArrayList<ParallelSegmentsFinder>();
+		List<ParallelSegmentsFinder> angles = new ArrayList<>();
 
 		for(PdfPath path: layer.paths) {
@@ -371,5 +371,5 @@
 		}
 
-		Set<PdfPath> pathsToRemove = new HashSet<PdfPath>();
+		Set<PdfPath> pathsToRemove = new HashSet<>();
 
 		//process each direction
@@ -389,5 +389,5 @@
 
 		//generate new path list
-		List<PdfPath> result = new ArrayList<PdfPath>(layer.paths.size() - pathsToRemove.size());
+		List<PdfPath> result = new ArrayList<>(layer.paths.size() - pathsToRemove.size());
 
 		for(PdfPath path: layer.paths) {
@@ -406,7 +406,7 @@
 	 */
 	private void concatenatePaths(LayerContents layer) {
-		Map<Point2D, List<PdfPath>> pathEndpoints = new HashMap<Point2D, List<PdfPath>>();
-		Set<PdfPath> mergedPaths = new HashSet<PdfPath>();
-		List<PdfPath> newPaths = new ArrayList<PdfPath>();
+		Map<Point2D, List<PdfPath>> pathEndpoints = new HashMap<>();
+		Set<PdfPath> mergedPaths = new HashSet<>();
+		List<PdfPath> newPaths = new ArrayList<>();
 
 		//fill pathEndpoints map
@@ -419,5 +419,5 @@
 			List<PdfPath> paths = pathEndpoints.get(pp.firstPoint());
 			if (paths == null){
-				paths = new ArrayList<PdfPath>(2);
+				paths = new ArrayList<>(2);
 				pathEndpoints.put(pp.firstPoint(), paths);
 			}
@@ -426,5 +426,5 @@
 			paths = pathEndpoints.get(pp.lastPoint());
 			if (paths == null){
-				paths = new ArrayList<PdfPath>(2);
+				paths = new ArrayList<>(2);
 				pathEndpoints.put(pp.lastPoint(), paths);
 			}
@@ -432,6 +432,6 @@
 		}
 
-		List<PdfPath> pathChain = new ArrayList<PdfPath>(2);
-		Set<Point2D> pointsInPath = new HashSet<Point2D>();
+		List<PdfPath> pathChain = new ArrayList<>(2);
+		Set<Point2D> pointsInPath = new HashSet<>();
 
 		//join the paths
@@ -567,5 +567,5 @@
 	private boolean isSubpathOf(PdfPath main, PdfPath sub) {
 
-		Set<Point2D> points = new HashSet<Point2D>(main.points);
+		Set<Point2D> points = new HashSet<>(main.points);
 
 		for(Point2D point: sub.points) {
@@ -586,9 +586,9 @@
 		OrthogonalShapesFilter of = new OrthogonalShapesFilter(10);
 
-		List<PdfPath> singleSegmentPaths = new ArrayList<PdfPath>();
-		List<PdfPath> multiSegmentPaths = new ArrayList<PdfPath>();
-		List<PdfPath> closedPaths = new ArrayList<PdfPath>();
-		List<PdfPath> orthogonalPaths = new ArrayList<PdfPath>();
-		List<PdfPath> orthogonalClosedPaths = new ArrayList<PdfPath>();
+		List<PdfPath> singleSegmentPaths = new ArrayList<>();
+		List<PdfPath> multiSegmentPaths = new ArrayList<>();
+		List<PdfPath> closedPaths = new ArrayList<>();
+		List<PdfPath> orthogonalPaths = new ArrayList<>();
+		List<PdfPath> orthogonalClosedPaths = new ArrayList<>();
 
 		for(PdfPath path: layer.paths) {
@@ -621,5 +621,5 @@
 		}
 
-		List<LayerContents> layers = new ArrayList<LayerContents>();
+		List<LayerContents> layers = new ArrayList<>();
 
 		if (multiSegmentPaths.size() > 0) {
@@ -665,5 +665,5 @@
 
 	private List<LayerContents> splitBySimilarGroups(LayerContents layer) {
-		List<List<PdfPath>> subparts = new ArrayList<List<PdfPath>>();
+		List<List<PdfPath>> subparts = new ArrayList<>();
 
 		//split into similar parts
@@ -680,5 +680,5 @@
 
 			if (sublayer == null) {
-				sublayer = new ArrayList<PdfPath>();
+				sublayer = new ArrayList<>();
 				subparts.add(sublayer);
 			}
@@ -690,6 +690,6 @@
 		int minGroupTreshold = 10;
 
-		List<PdfPath> independantPaths = new ArrayList<PdfPath>();
-		List<LayerContents> result = new ArrayList<LayerContents>();
+		List<PdfPath> independantPaths = new ArrayList<>();
+		List<LayerContents> result = new ArrayList<>();
 
 		for(List<PdfPath> list: subparts){
Index: applications/editors/josm/plugins/pdfimport/src/pdfimport/ProjectionInfo.java
===================================================================
--- applications/editors/josm/plugins/pdfimport/src/pdfimport/ProjectionInfo.java	(revision 30736)
+++ applications/editors/josm/plugins/pdfimport/src/pdfimport/ProjectionInfo.java	(revision 30737)
@@ -11,6 +11,6 @@
 
 public class ProjectionInfo {
-    private static Map<String, ProjectionChoice> allCodesPC = new HashMap<String, ProjectionChoice>();
-    private static Map<String, Projection> allCodes = new HashMap<String, Projection>();
+    private static Map<String, ProjectionChoice> allCodesPC = new HashMap<>();
+    private static Map<String, Projection> allCodes = new HashMap<>();
 
     static {
Index: applications/editors/josm/plugins/pdfimport/src/pdfimport/pdfbox/GraphicsProcessor.java
===================================================================
--- applications/editors/josm/plugins/pdfimport/src/pdfimport/pdfbox/GraphicsProcessor.java	(revision 30736)
+++ applications/editors/josm/plugins/pdfimport/src/pdfimport/pdfbox/GraphicsProcessor.java	(revision 30737)
@@ -76,6 +76,6 @@
 
 	private List<PdfPath> parsePath(Shape s, boolean closed) {
-		List<PdfPath> result = new ArrayList<PdfPath>(2);
-		List<Point2D> points = new ArrayList<Point2D>(2);
+		List<PdfPath> result = new ArrayList<>(2);
+		List<Point2D> points = new ArrayList<>(2);
 
 		PathIterator iter = s.getPathIterator(null);
@@ -91,5 +91,5 @@
 					result.add(new PdfPath(points));
 				}
-				points = new ArrayList<Point2D>(2);
+				points = new ArrayList<>(2);
 			} else if (type == PathIterator.SEG_CUBICTO) {
 				//cubic curve
@@ -104,5 +104,5 @@
 					result.add(new PdfPath(points));
 				}
-				points = new ArrayList<Point2D>(2);
+				points = new ArrayList<>(2);
 				this.addPoint(points, this.parsePoint(coords, 0));
 			}
