Index: applications/editors/josm/plugins/roadsigns/src/org/openstreetmap/josm/plugins/roadsigns/ParametrizedString.java
===================================================================
--- applications/editors/josm/plugins/roadsigns/src/org/openstreetmap/josm/plugins/roadsigns/ParametrizedString.java	(revision 30532)
+++ applications/editors/josm/plugins/roadsigns/src/org/openstreetmap/josm/plugins/roadsigns/ParametrizedString.java	(revision 30737)
@@ -22,5 +22,5 @@
  */
 public class ParametrizedString {
-    final List<StringOrParameter> token = new ArrayList<StringOrParameter>();
+    final List<StringOrParameter> token = new ArrayList<>();
 
     /**
Index: applications/editors/josm/plugins/roadsigns/src/org/openstreetmap/josm/plugins/roadsigns/RoadSignInputDialog.java
===================================================================
--- applications/editors/josm/plugins/roadsigns/src/org/openstreetmap/josm/plugins/roadsigns/RoadSignInputDialog.java	(revision 30532)
+++ applications/editors/josm/plugins/roadsigns/src/org/openstreetmap/josm/plugins/roadsigns/RoadSignInputDialog.java	(revision 30737)
@@ -166,5 +166,5 @@
 
     private Command createCommand(Collection<OsmPrimitive> selPrim) {
-        List<Command> cmds = new LinkedList<Command>();
+        List<Command> cmds = new LinkedList<>();
         for (int i=0; i<previewModel.getRowCount(); i++) {
             String key = (String) previewModel.getValueAt(i, 0);
@@ -272,5 +272,5 @@
      */
     public class SignSelection  {
-        private final LinkedList<SignCombination> combos=new LinkedList<SignCombination>();
+        private final LinkedList<SignCombination> combos=new LinkedList<>();
 
         public void remove(SignCombination sc) {
@@ -333,5 +333,5 @@
                 for (SignWrapper sw : sc.signs) {
                     if (swFind == sw) {
-                        return new Pair<Integer, Integer>(selIdx, combIdx);
+                        return new Pair<>(selIdx, combIdx);
                     }
                     combIdx++;
@@ -378,5 +378,5 @@
 
         public SignCombination() {
-            signs = new LinkedList<SignWrapper>();
+            signs = new LinkedList<>();
         }
 
@@ -428,5 +428,5 @@
         String signRef;
         JPanel paramsPanel;
-        Map<String, String> paramValues = new HashMap<String, String>();
+        Map<String, String> paramValues = new HashMap<>();
         public SignWrapper(Sign sign) {
             this.sign = sign;
@@ -575,6 +575,6 @@
 
     public class PreviewTableModel extends AbstractTableModel {
-        private List<String> keys = new ArrayList<String>();
-        private List<String> values = new ArrayList<String>();
+        private List<String> keys = new ArrayList<>();
+        private List<String> values = new ArrayList<>();
 
         int rows=3;
@@ -607,9 +607,9 @@
          */
         public void update() {
-            final TreeMap<String, String> map= new TreeMap<String, String>();
+            final TreeMap<String, String> map= new TreeMap<>();
             String traffic_sign = "";
 
             for (SignCombination sc : sel.combos) {
-                final Map<String, String> env = new HashMap<String, String>();
+                final Map<String, String> env = new HashMap<>();
                 String combo_traffic_sign = "";
 
@@ -621,6 +621,6 @@
                     String key;
                     String default_value;
-                    List<String> values = new ArrayList<String>();
-                    List<String> conditions = new ArrayList<String>();
+                    List<String> values = new ArrayList<>();
+                    List<String> conditions = new ArrayList<>();
                     //String ident;
                     public TagEvaluater(Tag t) {
@@ -653,5 +653,5 @@
                             return Collections.singletonMap(key, value);
                         else {
-                            Map<String, String> result = new HashMap<String, String>();
+                            Map<String, String> result = new HashMap<>();
                             for (String c : conditions) {
                                 result.put(key+":"+c, value);
@@ -662,5 +662,5 @@
                 }
 
-                Map<String, TagEvaluater> tags = new LinkedHashMap<String, TagEvaluater>();
+                Map<String, TagEvaluater> tags = new LinkedHashMap<>();
                 for (SignWrapper sw : sc.signs) {
                     for (Map.Entry<String,String> entry : sw.paramValues.entrySet()) {
Index: applications/editors/josm/plugins/roadsigns/src/org/openstreetmap/josm/plugins/roadsigns/RoadSignsPlugin.java
===================================================================
--- applications/editors/josm/plugins/roadsigns/src/org/openstreetmap/josm/plugins/roadsigns/RoadSignsPlugin.java	(revision 30532)
+++ applications/editors/josm/plugins/roadsigns/src/org/openstreetmap/josm/plugins/roadsigns/RoadSignsPlugin.java	(revision 30737)
@@ -157,12 +157,12 @@
             Collection<String> customIconDirs = null;
             if (customIconDirsStr != null) {
-                customIconDirs = new ArrayList<String>(Arrays.asList(customIconDirsStr.split(",")));
+                customIconDirs = new ArrayList<>(Arrays.asList(customIconDirsStr.split(",")));
             } else {
                 customIconDirs = Main.pref.getCollection("plugin.roadsigns.icon.sources", null);
             }
             if (customIconDirs != null) {
-                customIconDirs = new ArrayList<String>(customIconDirs);
+                customIconDirs = new ArrayList<>(customIconDirs);
             } else {
-                customIconDirs = new ArrayList<String>();
+                customIconDirs = new ArrayList<>();
             }
             // add icon directory relative to preset file
Index: applications/editors/josm/plugins/roadsigns/src/org/openstreetmap/josm/plugins/roadsigns/RoadSignsReader.java
===================================================================
--- applications/editors/josm/plugins/roadsigns/src/org/openstreetmap/josm/plugins/roadsigns/RoadSignsReader.java	(revision 30532)
+++ applications/editors/josm/plugins/roadsigns/src/org/openstreetmap/josm/plugins/roadsigns/RoadSignsReader.java	(revision 30737)
@@ -234,5 +234,5 @@
         }
         public void wireSupplements() throws XmlParsingException {
-            Map<String, Sign> map = new HashMap<String, Sign>();
+            Map<String, Sign> map = new HashMap<>();
             for (Sign sign : allSigns) {
                 if (map.get(sign.id) != null)
@@ -309,6 +309,6 @@
     public List<Sign> parse() throws SAXException, IOException {
         SignParser parser = new SignParser();
-        parser.allSigns = new ArrayList<Sign>();
-        parser.supplementIds = new HashMap<Sign, List<String>>();
+        parser.allSigns = new ArrayList<>();
+        parser.supplementIds = new HashMap<>();
         try {
             SAXParserFactory factory = SAXParserFactory.newInstance();
@@ -318,5 +318,5 @@
             String filterPref = Main.pref.get("plugin.roadsigns.preset.filter");
             if (filterPref.equals("useful")) {
-                List<Sign> filtered = new ArrayList<Sign>();
+                List<Sign> filtered = new ArrayList<>();
                 for (Sign s : parser.allSigns) {
                     if (s.isUseful()) {
Index: applications/editors/josm/plugins/roadsigns/src/org/openstreetmap/josm/plugins/roadsigns/Sign.java
===================================================================
--- applications/editors/josm/plugins/roadsigns/src/org/openstreetmap/josm/plugins/roadsigns/Sign.java	(revision 30532)
+++ applications/editors/josm/plugins/roadsigns/src/org/openstreetmap/josm/plugins/roadsigns/Sign.java	(revision 30737)
@@ -27,7 +27,7 @@
     public String name;
     public String long_name;
-    public List<Tag> tags = new ArrayList<Tag>();
-    public List<Sign> supplements = new ArrayList<Sign>();
-    public List<SignParameter> params = new ArrayList<SignParameter>();
+    public List<Tag> tags = new ArrayList<>();
+    public List<Sign> supplements = new ArrayList<>();
+    public List<SignParameter> params = new ArrayList<>();
     public boolean isSupplementing;
     public String loc_wiki;
Index: applications/editors/josm/plugins/roadsigns/src/org/openstreetmap/josm/plugins/roadsigns/javacc/ParamStringScanner.java
===================================================================
--- applications/editors/josm/plugins/roadsigns/src/org/openstreetmap/josm/plugins/roadsigns/javacc/ParamStringScanner.java	(revision 30532)
+++ applications/editors/josm/plugins/roadsigns/src/org/openstreetmap/josm/plugins/roadsigns/javacc/ParamStringScanner.java	(revision 30737)
@@ -18,5 +18,5 @@
     String val;
     Token t;
-    List<StringOrParameter> lst = new ArrayList<StringOrParameter>();
+    List<StringOrParameter> lst = new ArrayList<>();
     label_1:
     while (true) {
Index: applications/editors/josm/plugins/roadsigns/src/org/openstreetmap/josm/plugins/roadsigns/javacc/ParamStringScannerTokenManager.java
===================================================================
--- applications/editors/josm/plugins/roadsigns/src/org/openstreetmap/josm/plugins/roadsigns/javacc/ParamStringScannerTokenManager.java	(revision 30532)
+++ applications/editors/josm/plugins/roadsigns/src/org/openstreetmap/josm/plugins/roadsigns/javacc/ParamStringScannerTokenManager.java	(revision 30737)
@@ -1,9 +1,4 @@
 /* Generated By:JavaCC: Do not edit this line. ParamStringScannerTokenManager.java */
 package org.openstreetmap.josm.plugins.roadsigns.javacc;
-import java.util.ArrayList;
-import java.util.List;
-import org.openstreetmap.josm.plugins.roadsigns.ParametrizedString.Prm;
-import org.openstreetmap.josm.plugins.roadsigns.ParametrizedString.Str;
-import org.openstreetmap.josm.plugins.roadsigns.ParametrizedString.StringOrParameter;
 
 /** Token Manager. */
