Index: applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/AbstractLayer.java
===================================================================
--- applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/AbstractLayer.java	(revision 30425)
+++ applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/AbstractLayer.java	(revision 30426)
@@ -72,5 +72,5 @@
     public static <E> List<E> add(List<E> list, E element) {
         if(element!=null){
-            if(list==null) list = new ArrayList<E>();
+            if(list==null) list = new ArrayList<>();
             if(!list.contains(element)) list.add(element);
         }
Index: applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/AttributionSupport.java
===================================================================
--- applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/AttributionSupport.java	(revision 30425)
+++ applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/AttributionSupport.java	(revision 30426)
@@ -32,5 +32,5 @@
 
     static {
-        HashMap<TextAttribute, Integer> aUnderline = new HashMap<TextAttribute, Integer>();
+        HashMap<TextAttribute, Integer> aUnderline = new HashMap<>();
         aUnderline.put(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON);
         ATTR_LINK_FONT = ATTR_FONT.deriveFont(aUnderline);
Index: applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/Demo.java
===================================================================
--- applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/Demo.java	(revision 30425)
+++ applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/Demo.java	(revision 30426)
@@ -94,5 +94,5 @@
             }
         });
-        JComboBox tileSourceSelector = new JComboBox(new TileSource[] { new OsmTileSource.Mapnik(),
+        JComboBox<TileSource> tileSourceSelector = new JComboBox<>(new TileSource[] { new OsmTileSource.Mapnik(),
                 new OsmTileSource.CycleMap(), new BingAerialTileSource(), new MapQuestOsmTileSource(), new MapQuestOpenAerialTileSource() });
         tileSourceSelector.addItemListener(new ItemListener() {
@@ -101,10 +101,9 @@
             }
         });
-        JComboBox tileLoaderSelector;
+        JComboBox<TileLoader> tileLoaderSelector;
         try {
-            tileLoaderSelector = new JComboBox(new TileLoader[] { new OsmFileCacheTileLoader(map()),
-                    new OsmTileLoader(map()) });
+            tileLoaderSelector = new JComboBox<>(new TileLoader[] { new OsmFileCacheTileLoader(map()), new OsmTileLoader(map()) });
         } catch (IOException e) {
-            tileLoaderSelector = new JComboBox(new TileLoader[] { new OsmTileLoader(map()) });
+            tileLoaderSelector = new JComboBox<>(new TileLoader[] { new OsmTileLoader(map()) });
         }
         tileLoaderSelector.addItemListener(new ItemListener() {
Index: applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/JMapViewer.java
===================================================================
--- applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/JMapViewer.java	(revision 30425)
+++ applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/JMapViewer.java	(revision 30426)
@@ -110,7 +110,7 @@
         tileSource = new OsmTileSource.Mapnik();
         tileController = new TileController(tileSource, tileCache, this);
-        mapMarkerList = new LinkedList<MapMarker>();
-        mapPolygonList = new LinkedList<MapPolygon>();
-        mapRectangleList = new LinkedList<MapRectangle>();
+        mapMarkerList = new LinkedList<>();
+        mapPolygonList = new LinkedList<>();
+        mapRectangleList = new LinkedList<>();
         mapMarkersVisible = true;
         mapRectanglesVisible = true;
@@ -712,5 +712,5 @@
         List<? extends ICoordinate> coords = polygon.getPoints();
         if (coords != null && coords.size() >= 3) {
-            List<Point> points = new LinkedList<Point>();
+            List<Point> points = new LinkedList<>();
             for (ICoordinate c : coords) {
                 Point p = getMapPosition(c, false);
@@ -724,5 +724,5 @@
                 int tilesize = tileSource.getTileSize();
                 int mapSize = tilesize << zoom;
-                List<Point> pointsWrapped = new LinkedList<Point>(points);
+                List<Point> pointsWrapped = new LinkedList<>(points);
                 boolean keepWrapping = true;
                 while (keepWrapping) {
@@ -735,5 +735,5 @@
                     polygon.paint(g, pointsWrapped);
                 }
-                pointsWrapped = new LinkedList<Point>(points);
+                pointsWrapped = new LinkedList<>(points);
                 keepWrapping = true;
                 while (keepWrapping) {
Index: applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/JobDispatcher.java
===================================================================
--- applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/JobDispatcher.java	(revision 30425)
+++ applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/JobDispatcher.java	(revision 30426)
@@ -32,5 +32,5 @@
     }
 
-    protected BlockingDeque<TileJob> jobQueue = new LinkedBlockingDeque<TileJob>();
+    protected BlockingDeque<TileJob> jobQueue = new LinkedBlockingDeque<>();
 
     protected static int workerThreadMaxCount = 8;
Index: applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/MemoryTileCache.java
===================================================================
--- applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/MemoryTileCache.java	(revision 30425)
+++ applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/MemoryTileCache.java	(revision 30426)
@@ -33,5 +33,5 @@
 
     public MemoryTileCache() {
-        hash = new HashMap<String, CacheEntry>(cacheSize);
+        hash = new HashMap<>(cacheSize);
         lruTiles = new CacheLinkedListElement();
     }
Index: applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/OsmFileCacheTileLoader.java
===================================================================
--- applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/OsmFileCacheTileLoader.java	(revision 30425)
+++ applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/OsmFileCacheTileLoader.java	(revision 30426)
@@ -100,5 +100,5 @@
         log.finest("Tile cache directory: " + cacheDir);
         cacheDirBase = cacheDir.getAbsolutePath();
-        sourceCacheDirMap = new HashMap<TileSource, File>();
+        sourceCacheDirMap = new HashMap<>();
     }
 
Index: applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/OsmTileLoader.java
===================================================================
--- applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/OsmTileLoader.java	(revision 30425)
+++ applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/OsmTileLoader.java	(revision 30426)
@@ -25,5 +25,5 @@
      * Holds the HTTP headers. Insert e.g. User-Agent here when default should not be used.
      */
-    public Map<String, String> headers = new HashMap<String, String>();
+    public Map<String, String> headers = new HashMap<>();
 
     public int timeoutConnect = 0;
Index: applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/Tile.java
===================================================================
--- applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/Tile.java	(revision 30425)
+++ applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/Tile.java	(revision 30426)
@@ -297,5 +297,5 @@
         }
         if (metadata == null) {
-            metadata = new HashMap<String,String>();
+            metadata = new HashMap<>();
         }
         metadata.put(key, value);
Index: applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/tilesources/BingAerialTileSource.java
===================================================================
--- applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/tilesources/BingAerialTileSource.java	(revision 30425)
+++ applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/tilesources/BingAerialTileSource.java	(revision 30426)
@@ -108,5 +108,5 @@
 
             NodeList imageryProviderNodes = (NodeList) xpath.compile("//ImageryMetadata/ImageryProvider").evaluate(document, XPathConstants.NODESET);
-            List<Attribution> attributions = new ArrayList<Attribution>(imageryProviderNodes.getLength());
+            List<Attribution> attributions = new ArrayList<>(imageryProviderNodes.getLength());
             for (int i = 0; i < imageryProviderNodes.getLength(); i++) {
                 Node providerNode = imageryProviderNodes.item(i);
Index: applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/tilesources/TemplatedTMSTileSource.java
===================================================================
--- applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/tilesources/TemplatedTMSTileSource.java	(revision 30425)
+++ applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/tilesources/TemplatedTMSTileSource.java	(revision 30426)
@@ -12,5 +12,5 @@
     private Random rand = null;
     private String[] randomParts = null;
-    private Map<String, String> headers = new HashMap<String, String>();
+    private Map<String, String> headers = new HashMap<>();
 
     public static final String PATTERN_ZOOM    = "\\{(?:(\\d+)-)?z(?:oom)?([+-]\\d+)?\\}";
