Index: applications/editors/josm/plugins/roadsigns/.checkstyle
===================================================================
--- applications/editors/josm/plugins/roadsigns/.checkstyle	(revision 32673)
+++ applications/editors/josm/plugins/roadsigns/.checkstyle	(revision 32673)
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="true" sync-formatter="false">
+  <local-check-config name="JOSM" location="/JOSM/tools/checkstyle/josm_checks.xml" type="project" description="">
+    <additional-data name="protect-config-file" value="false"/>
+  </local-check-config>
+  <fileset name="all" enabled="true" check-config-name="JOSM" local="true">
+    <file-match-pattern match-pattern="." include-pattern="true"/>
+  </fileset>
+  <filter name="DerivedFiles" enabled="true"/>
+  <filter name="FilesFromPackage" enabled="true">
+    <filter-data value="src/org/openstreetmap/josm/plugins/roadsigns/javacc"/>
+    <filter-data value="data"/>
+    <filter-data value="images"/>
+    <filter-data value="styles"/>
+    <filter-data value="resources"/>
+    <filter-data value="scripts"/>
+  </filter>
+</fileset-config>
Index: applications/editors/josm/plugins/roadsigns/.project
===================================================================
--- applications/editors/josm/plugins/roadsigns/.project	(revision 32584)
+++ applications/editors/josm/plugins/roadsigns/.project	(revision 32673)
@@ -16,7 +16,13 @@
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
 		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
 	</natures>
 </projectDescription>
Index: applications/editors/josm/plugins/roadsigns/.settings/org.eclipse.jdt.ui.prefs
===================================================================
--- applications/editors/josm/plugins/roadsigns/.settings/org.eclipse.jdt.ui.prefs	(revision 32673)
+++ applications/editors/josm/plugins/roadsigns/.settings/org.eclipse.jdt.ui.prefs	(revision 32673)
@@ -0,0 +1,60 @@
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=false
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=false
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=false
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+sp_cleanup.use_type_arguments=false
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 32584)
+++ applications/editors/josm/plugins/roadsigns/src/org/openstreetmap/josm/plugins/roadsigns/ParametrizedString.java	(revision 32673)
@@ -1,3 +1,3 @@
-// License: GPL (v2 or later)
+// License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.plugins.roadsigns;
 
@@ -28,5 +28,5 @@
      * types have a single String object as their backing data.
      */
-    public static interface StringOrParameter {
+    public interface StringOrParameter {
     }
 
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 32584)
+++ applications/editors/josm/plugins/roadsigns/src/org/openstreetmap/josm/plugins/roadsigns/RoadSignInputDialog.java	(revision 32673)
@@ -1,3 +1,3 @@
-// License: GPL (v2 or later)
+// License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.plugins.roadsigns;
 
@@ -109,5 +109,5 @@
     private MultiSplitPane multiSplitPane;
 
-    public RoadSignInputDialog() {
+    RoadSignInputDialog() {
         super(Main.parent, tr("Road Sign Plugin"), new String[] {tr("OK"), tr("Cancel")}, false /* modal */);
         setRememberWindowGeometry(getClass().getName() + ".geometry",
@@ -116,5 +116,5 @@
         this.signs = RoadSignsPlugin.signs;
         sel = new SignSelection();
-        setButtonIcons(new String[] { "ok.png", "cancel.png" });
+        setButtonIcons(new String[] {"ok.png", "cancel.png"});
         final JTabbedPane tabs = new JTabbedPane();
         tabs.add(tr("signs"), buildSignsPanel());
@@ -168,5 +168,5 @@
     private Command createCommand(Collection<OsmPrimitive> selPrim) {
         List<Command> cmds = new LinkedList<>();
-        for (int i=0; i<previewModel.getRowCount(); i++) {
+        for (int i = 0; i < previewModel.getRowCount(); i++) {
             String key = (String) previewModel.getValueAt(i, 0);
             String value = (String) previewModel.getValueAt(i, 1);
@@ -230,9 +230,11 @@
         multiSplitPane.add(new JScrollPane(pnlSignSelection), "upperleft");
         multiSplitPane.add(buildPreviewPanel(), "upperright");
-        JScrollPane scroll1 = new JScrollPane(pnlPossibleSigns, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
+        JScrollPane scroll1 = new JScrollPane(pnlPossibleSigns,
+                JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
         scroll1.setPreferredSize(new Dimension(10, 10));
         multiSplitPane.add(scroll1, "middleleft");
 
-        JScrollPane scroll2 = new JScrollPane(pnlPossibleSupplements, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
+        JScrollPane scroll2 = new JScrollPane(pnlPossibleSupplements,
+                JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
         scroll2.setPreferredSize(new Dimension(10, 10));
         multiSplitPane.add(scroll2, "middleright");
@@ -244,5 +246,5 @@
         info.addHyperlinkListener(new HyperlinkListener() {
             @Override
-			public void hyperlinkUpdate(HyperlinkEvent e) {
+            public void hyperlinkUpdate(HyperlinkEvent e) {
                 if (e == null || e.getURL() == null)
                     return;
@@ -289,6 +291,6 @@
      * Manages the update of gui elements when the selection changes.
      */
-    public class SignSelection  {
-        private final LinkedList<SignCombination> combos=new LinkedList<>();
+    public class SignSelection {
+        private final LinkedList<SignCombination> combos = new LinkedList<>();
 
         public void remove(SignCombination sc) {
@@ -335,5 +337,5 @@
 
         private int findIndex(SignCombination scFind) {
-            int i=0;
+            int i = 0;
             for (SignCombination sc : combos) {
                 if (sc == scFind) {
@@ -346,7 +348,7 @@
 
         private Pair<Integer, Integer> findIndex(SignWrapper swFind) {
-            int selIdx=0;
+            int selIdx = 0;
             for (SignCombination sc : combos) {
-                int combIdx=0;
+                int combIdx = 0;
                 for (SignWrapper sw : sc.signs) {
                     if (swFind == sw) {
@@ -364,9 +366,9 @@
             panel.setLayout(new GridBagLayout());
             GridBagConstraints gbc = new GridBagConstraints();
-            gbc.anchor=GridBagConstraints.NORTHWEST;
-            gbc.gridx=0;
-            gbc.gridy=0;
-            gbc.weightx=0;
-            gbc.weighty=1.0;
+            gbc.anchor = GridBagConstraints.NORTHWEST;
+            gbc.gridx = 0;
+            gbc.gridy = 0;
+            gbc.weightx = 0;
+            gbc.weighty = 1.0;
             gbc.insets = new Insets(10, 10, 0, 10);
 
@@ -395,5 +397,5 @@
         public LinkedList<SignWrapper> signs;
 
-        public SignCombination() {
+        SignCombination() {
             signs = new LinkedList<>();
         }
@@ -407,5 +409,5 @@
             panel.setBorder(BorderFactory.createCompoundBorder(etched, empty));
 
-            int i=0;
+            int i = 0;
             for (SignWrapper sw : signs) {
                 GridBagConstraints gbc = new GridBagConstraints();
@@ -429,5 +431,5 @@
         public void add(final Sign sign) {
             if (!signs.isEmpty() && !sign.isSupplementing)
-                throw new IllegalArgumentException("any sign but the first must be a supplement sign");//FIXME
+                throw new IllegalArgumentException("any sign but the first must be a supplement sign"); //FIXME
             final SignWrapper signWrp = new SignWrapper(sign);
             signs.add(signWrp);
@@ -447,5 +449,6 @@
         JPanel paramsPanel;
         Map<String, String> paramValues = new HashMap<>();
-        public SignWrapper(Sign sign) {
+
+        SignWrapper(Sign sign) {
             this.sign = sign;
             for (final SignParameter p : this.sign.params) {
@@ -453,4 +456,5 @@
             }
         }
+
         @Override
         public String toString() {
@@ -475,5 +479,5 @@
                 return paramsPanel;
             paramsPanel = new JPanel(new GridBagLayout());
-            int i=0;
+            int i = 0;
             for (final SignParameter p : this.sign.params) {
                 JPanel pnlInput = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0));
@@ -491,22 +495,24 @@
                         class TFDocumentListener implements DocumentListener {
                             @Override
-							public void insertUpdate(DocumentEvent e) {
+                            public void insertUpdate(DocumentEvent e) {
                                 update();
                             }
 
                             @Override
-							public void removeUpdate(DocumentEvent e) {
+                            public void removeUpdate(DocumentEvent e) {
                                 update();
                             }
 
                             @Override
-							public void changedUpdate(DocumentEvent e) {
+                            public void changedUpdate(DocumentEvent e) {
                                 update();
                             }
+
                             public void update() {
                                 paramValues.put(p.ident, tf.getText());
                                 previewModel.update();
                             }
-                        };
+                        }
+
                         TFDocumentListener listener = new TFDocumentListener();
                         tf.getDocument().addDocumentListener(listener);
@@ -523,8 +529,8 @@
                 gbc.gridy = i;
                 gbc.anchor = GridBagConstraints.WEST;
-                paramsPanel.add(pnlInput,gbc);
+                paramsPanel.add(pnlInput, gbc);
                 i++;
             }
-            if (i>0) {
+            if (i > 0) {
                 paramsPanel.setBorder(BorderFactory.createEmptyBorder(0, 3, 0, 0));
             }
@@ -562,5 +568,5 @@
         previewTable = new JTable(data, columnNames) {
             @Override
-			public String getToolTipText(MouseEvent e) {
+            public String getToolTipText(MouseEvent e) {
                 int rowIndex = rowAtPoint(e.getPoint());
                 int colIndex = columnAtPoint(e.getPoint());
@@ -587,5 +593,5 @@
         addTrafficSignTag.addActionListener(new ActionListener() {
             @Override
-			public void actionPerformed(ActionEvent e) {
+            public void actionPerformed(ActionEvent e) {
                 previewModel.update();
             }
@@ -601,19 +607,19 @@
         private List<String> values = new ArrayList<>();
 
-        int rows=3;
+        int rows = 3;
         String[] header = {tr("Key"), tr("Value")};
 
         @Override
-		public int getRowCount() {
+        public int getRowCount() {
             return keys.size();
         }
 
         @Override
-		public int getColumnCount() {
+        public int getColumnCount() {
             return 2;
         }
 
         @Override
-		public Object getValueAt(int rowIndex, int columnIndex) {
+        public Object getValueAt(int rowIndex, int columnIndex) {
             if (columnIndex == 0) {
                 return keys.get(rowIndex);
@@ -633,5 +639,5 @@
          */
         public void update() {
-            final TreeMap<String, String> map= new TreeMap<>();
+            final TreeMap<String, String> map = new TreeMap<>();
             String traffic_sign = "";
 
@@ -649,9 +655,7 @@
                     List<String> values = new ArrayList<>();
                     List<String> conditions = new ArrayList<>();
-                    //String ident;
-                    public TagEvaluater(Tag t) {
+                    TagEvaluater(Tag t) {
                         key = t.key.evaluate(env);
                         default_value = t.value.evaluate(env);
-                        //ident = t.ident;
                     }
 
@@ -672,5 +676,5 @@
                             for (String v : values) {
                                 value += sep+v;
-                                sep=";";
+                                sep = ";";
                             }
                         }
@@ -690,5 +694,5 @@
                 Map<String, TagEvaluater> tags = new LinkedHashMap<>();
                 for (SignWrapper sw : sc.signs) {
-                    for (Map.Entry<String,String> entry : sw.paramValues.entrySet()) {
+                    for (Map.Entry<String, String> entry : sw.paramValues.entrySet()) {
                         env.put(entry.getKey(), entry.getValue());
                     }
@@ -713,5 +717,6 @@
                                 TagEvaluater te = tags.get(t.tag_ref);
                                 if (te == null) {
-                                    System.err.println(String.format("warning: referenced tag with ident '%s' not found for appending tag %s.",t.tag_ref, t.toString()));
+                                    System.err.println(String.format("warning: referenced tag with ident '%s' not found for appending tag %s.",
+                                            t.tag_ref, t.toString()));
                                 } else {
                                     te.append_value(t.append_value.evaluate(env));
@@ -720,10 +725,12 @@
                                 TagEvaluater te = tags.get(t.tag_ref);
                                 if (te == null) {
-                                    System.err.println(String.format("warning: referenced tag with ident '%s' not found for condition tag %s.",t.tag_ref, t.toString()));
+                                    System.err.println(String.format("warning: referenced tag with ident '%s' not found for condition tag %s.",
+                                            t.tag_ref, t.toString()));
                                 } else {
                                     te.condition(t.condition.evaluate(env));
                                 }
                             } else {
-                                System.err.println(String.format("warning: found tag_ref but neither append_value nor condition for tag %s.", t.toString()));
+                                System.err.println(String.format("warning: found tag_ref but neither append_value nor condition for tag %s.",
+                                        t.toString()));
                             }
                         } else if (t.ident != null) {
@@ -738,5 +745,4 @@
                             map.put(t.key.evaluate(env), t.value.evaluate(env));
                         }
-
                     }
                 }
@@ -776,14 +782,15 @@
     private class SignClickListener extends MouseAdapter {
         private Sign sign;
-        public SignClickListener(Sign sign) {
+        SignClickListener(Sign sign) {
             this.sign = sign;
         }
+
         @Override
         public void mouseClicked(MouseEvent e) {
             info.setText(longText());
             /* scroll up again */
-            SwingUtilities.invokeLater(new Runnable(){
+            SwingUtilities.invokeLater(new Runnable() {
                 @Override
-				public void run() {
+                public void run() {
                     scrollInfo.getVerticalScrollBar().setValue(0);
                 }
@@ -814,5 +821,5 @@
                     txt.append("<br>");
                 }
-                if (sign.wiki != null && ! sign.wiki.equals(sign.loc_wiki)) {
+                if (sign.wiki != null && !sign.wiki.equals(sign.loc_wiki)) {
                     String link = wikiPrefix+sign.wiki;
                     txt.append("<a href=\""+link+"\">"+link+"</a>");
@@ -831,5 +838,5 @@
      */
     public static class FixedWidthPanel extends JPanel implements Scrollable {
-        public FixedWidthPanel() {
+        FixedWidthPanel() {
             super(new FlowLayout(FlowLayout.LEFT));
         }
@@ -846,10 +853,10 @@
 
         @Override
-		public Dimension getPreferredScrollableViewportSize() {
+        public Dimension getPreferredScrollableViewportSize() {
             return super.getPreferredSize();
         }
 
         @Override
-		public int getScrollableUnitIncrement( Rectangle visibleRect, int orientation, int direction ) {
+        public int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction) {
             final int FRAC = 20;
             int inc = (orientation == SwingConstants.VERTICAL ? getParent().getHeight() : getParent().getWidth()) / FRAC;
@@ -858,15 +865,15 @@
 
         @Override
-		public int getScrollableBlockIncrement( Rectangle visibleRect, int orientation, int direction ) {
+        public int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction) {
             return orientation == SwingConstants.VERTICAL ? getParent().getHeight() : getParent().getWidth();
         }
 
         @Override
-		public boolean getScrollableTracksViewportWidth() {
+        public boolean getScrollableTracksViewportWidth() {
             return true;
         }
 
         @Override
-		public boolean getScrollableTracksViewportHeight() {
+        public boolean getScrollableTracksViewportHeight() {
             return false;
         }
@@ -893,5 +900,5 @@
         JRadioButton rbAll, rbUseful;
 
-        public SettingsPanel(boolean standalone, final Action update) {
+        SettingsPanel(boolean standalone, final Action update) {
             super(new GridBagLayout());
             presetsData = RoadSignsPlugin.getAvailablePresetsMetaData();
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 32584)
+++ applications/editors/josm/plugins/roadsigns/src/org/openstreetmap/josm/plugins/roadsigns/RoadSignsPlugin.java	(revision 32673)
@@ -1,3 +1,3 @@
-// License: GPL (v2 or later)
+// License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.plugins.roadsigns;
 
@@ -44,10 +44,15 @@
     public static RoadSignsPlugin plugin;
 
-    public final static PresetMetaData PRESET_BE = new PresetMetaData("BE", tr("Belgium"), "resource://data/roadsignpresetBE.xml", "resource://images/BE/");
-    public final static PresetMetaData PRESET_ES = new PresetMetaData("ES", tr("Spain"), "resource://data/roadsignpresetES.xml", "resource://images/ES/");
-    public final static PresetMetaData PRESET_DE = new PresetMetaData("DE", tr("Germany"), "resource://data/roadsignpresetDE.xml", "resource://images/DE/");
-    public final static PresetMetaData PRESET_PL = new PresetMetaData("PL", tr("Poland"), "resource://data/roadsignpresetPL.xml", "resource://images/PL/");
-    public final static PresetMetaData PRESET_SK = new PresetMetaData("SK", tr("Slovakia"), "resource://data/roadsignpresetSK.xml", "resource://images/SK/");
-    public final static Collection<PresetMetaData> DEFAULT_PRESETS = Arrays.asList(PRESET_BE, PRESET_ES, PRESET_DE, PRESET_PL, PRESET_SK);
+    public static final PresetMetaData PRESET_BE = new PresetMetaData(
+            "BE", tr("Belgium"), "resource://data/roadsignpresetBE.xml", "resource://images/BE/");
+    public static final PresetMetaData PRESET_ES = new PresetMetaData(
+            "ES", tr("Spain"), "resource://data/roadsignpresetES.xml", "resource://images/ES/");
+    public static final PresetMetaData PRESET_DE = new PresetMetaData(
+            "DE", tr("Germany"), "resource://data/roadsignpresetDE.xml", "resource://images/DE/");
+    public static final PresetMetaData PRESET_PL = new PresetMetaData(
+            "PL", tr("Poland"), "resource://data/roadsignpresetPL.xml", "resource://images/PL/");
+    public static final PresetMetaData PRESET_SK = new PresetMetaData(
+            "SK", tr("Slovakia"), "resource://data/roadsignpresetSK.xml", "resource://images/SK/");
+    public static final Collection<PresetMetaData> DEFAULT_PRESETS = Arrays.asList(PRESET_BE, PRESET_ES, PRESET_DE, PRESET_PL, PRESET_SK);
 
     public RoadSignsPlugin(PluginInformation info) {
@@ -69,5 +74,5 @@
         btn.setText(null);
         btn.setBorder(BorderFactory.createEmptyBorder());
-        btn.setPreferredSize(new Dimension(18,18));
+        btn.setPreferredSize(new Dimension(18, 18));
         PropertiesDialog.pluginHook.add(btn);
         PropertiesDialog.pluginHook.setLayout(new FlowLayout(FlowLayout.CENTER, 0, 0));
@@ -76,14 +81,15 @@
 
     private static class RoadSignAction extends JosmAction {
-        public RoadSignAction() {
+        RoadSignAction() {
             super(tr("Roadsign tagging"), "pref/roadsigns-small", tr("Add tags by clicking on road signs"),
-                    Shortcut.registerShortcut("plugin:roadsigns:dialog", tr("Roadsigns plugin: open dialog"), KeyEvent.VK_Q, Shortcut.ALT_SHIFT), false);
+                    Shortcut.registerShortcut("plugin:roadsigns:dialog", tr("Roadsigns plugin: open dialog"),
+                            KeyEvent.VK_Q, Shortcut.ALT_SHIFT), false);
         }
 
         @Override
-		public void actionPerformed(ActionEvent e) {
+        public void actionPerformed(ActionEvent e) {
             String code = Main.pref.get("plugin.roadsigns.preset.selection", null);
             if (code == null) {
-                ExtendedDialog ed = new ExtendedDialog(Main.parent, tr("Settings"), new String[] { tr("Ok"), tr("Cancel") });
+                ExtendedDialog ed = new ExtendedDialog(Main.parent, tr("Settings"), new String[] {tr("Ok"), tr("Cancel")});
                 ed.setButtonIcons(new String[] {"ok", "cancel"});
                 SettingsPanel settings = new SettingsPanel(true, null);
@@ -196,5 +202,5 @@
 
     protected static void loadSignPreset() throws IOException {
-        List<PresetMetaData> presetsData =  getAvailablePresetsMetaData();
+        List<PresetMetaData> presetsData = getAvailablePresetsMetaData();
         String code = Main.pref.get("plugin.roadsigns.preset.selection", null);
 
@@ -224,5 +230,5 @@
             JOptionPane.showMessageDialog(
                     Main.parent,
-                    tr("Could not read tagging preset source: ''{0}''",source),
+                    tr("Could not read tagging preset source: ''{0}''", source),
                     tr("Error"),
                     JOptionPane.ERROR_MESSAGE
@@ -245,5 +251,5 @@
      */
     @SuppressWarnings("resource")
-	public static InputStream getInputStream(String source) throws IOException {
+    public static InputStream getInputStream(String source) throws IOException {
         InputStream in = null;
         if (source.startsWith("http://") || source.startsWith("https://") || source.startsWith("ftp://")) {
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 32584)
+++ applications/editors/josm/plugins/roadsigns/src/org/openstreetmap/josm/plugins/roadsigns/RoadSignsReader.java	(revision 32673)
@@ -1,3 +1,3 @@
-// License: GPL (v2 or later)
+// License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.plugins.roadsigns;
 
@@ -15,10 +15,4 @@
 import javax.xml.parsers.SAXParserFactory;
 
-import org.xml.sax.Attributes;
-import org.xml.sax.InputSource;
-import org.xml.sax.Locator;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-import org.xml.sax.helpers.DefaultHandler;
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.plugins.roadsigns.Sign.SignParameter;
@@ -28,4 +22,10 @@
 import org.openstreetmap.josm.tools.LanguageInfo;
 import org.openstreetmap.josm.tools.XmlParsingException;
+import org.xml.sax.Attributes;
+import org.xml.sax.InputSource;
+import org.xml.sax.Locator;
+import org.xml.sax.SAXException;
+import org.xml.sax.SAXParseException;
+import org.xml.sax.helpers.DefaultHandler;
 
 /**
@@ -60,5 +60,4 @@
             this.locator = locator;
         }
-
 
         @Override public void startElement(String ns, String lname, String qname, Attributes atts) throws SAXException {
@@ -160,9 +159,10 @@
 
             if (debug) {
-                for (int i=0; i<atts.getLength(); ++i) {
+                for (int i = 0; i < atts.getLength(); ++i) {
                     System.err.println("  "+atts.getQName(i)+": "+atts.getValue(i));
                 }
             }
         }
+
         @Override public void endElement(String ns, String lname, String qname) throws SAXException {
             if (debug) System.err.print("</"+qname+"> |");
@@ -185,4 +185,5 @@
             if (debug) System.err.println("|");
         }
+
         @Override public void characters(char[] ch, int start, int length) {
             String s = new String(ch, start, length);
@@ -222,4 +223,5 @@
             throw new ExtendedParsingException(e).rememberLocation(locator);
         }
+
         protected void throwException(String msg) throws XmlParsingException {
             throw new XmlParsingException(msg).rememberLocation(locator);
@@ -233,4 +235,5 @@
             }
         }
+
         public void wireSupplements() throws XmlParsingException {
             Map<String, Sign> map = new HashMap<>();
@@ -250,5 +253,4 @@
         }
     }
-
 
     public static class ExtendedParsingException extends SAXException {
@@ -304,6 +306,4 @@
      *
      * @return True if file was properly parsed, false if there was error during parsing but some data were parsed anyway
-     * @throws SAXException
-     * @throws IOException
      */
     public List<Sign> parse() throws SAXException, IOException {
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 32584)
+++ applications/editors/josm/plugins/roadsigns/src/org/openstreetmap/josm/plugins/roadsigns/Sign.java	(revision 32673)
@@ -1,3 +1,3 @@
-// License: GPL (v2 or later)
+// License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.plugins.roadsigns;
 
@@ -53,5 +53,6 @@
 
     public static class SignParameter {
-        public enum Input {TEXTFIELD, COMBO};
+        public enum Input { TEXTFIELD, COMBO }
+
         public String ident;
         public Input input;
@@ -73,7 +74,9 @@
             return deflt == null ? "" : deflt;
         }
+
         public String getPrefix() {
             return prefix == null ? "" : prefix;
         }
+
         public String getSuffix() {
             return suffix == null ? "" : suffix;
@@ -101,19 +104,15 @@
         r = r.replaceAll("\\[.*\\]", "");
         if (r.startsWith("DE:")) {
-            r=r.replaceAll("DE:", "");
+            r = r.replaceAll("DE:", "");
             /* normal sign: starts with 3 digits, then a non-digit */
-            {
-                Pattern p = Pattern.compile("^\\d{3}(\\D|$)");
-                Matcher m = p.matcher(r);
-                if (m.find())
-                    return tr("Sign {0}", r);
-            }
+            Pattern p1 = Pattern.compile("^\\d{3}(\\D|$)");
+            Matcher m1 = p1.matcher(r);
+            if (m1.find())
+                return tr("Sign {0}", r);
             /* supplementary sign: starts with 4 digits, then a non-digit */
-            {
-                Pattern p = Pattern.compile("^\\d{4}(\\D|$)");
-                Matcher m = p.matcher(r);
-                if (m.find())
-                    return tr("Additional sign {0}", r);
-            }
+            Pattern p2 = Pattern.compile("^\\d{4}(\\D|$)");
+            Matcher m2 = p2.matcher(r);
+            if (m2.find())
+                return tr("Additional sign {0}", r);
             return null;
         }
