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 30737)
+++ applications/editors/josm/plugins/roadsigns/src/org/openstreetmap/josm/plugins/roadsigns/RoadSignInputDialog.java	(revision 30738)
@@ -68,6 +68,6 @@
 import org.openstreetmap.josm.gui.ExtendedDialog;
 import org.openstreetmap.josm.gui.widgets.MultiSplitLayout;
+import org.openstreetmap.josm.gui.widgets.MultiSplitLayout.Node;
 import org.openstreetmap.josm.gui.widgets.MultiSplitPane;
-import org.openstreetmap.josm.gui.widgets.MultiSplitLayout.Node;
 import org.openstreetmap.josm.plugins.roadsigns.RoadSignsPlugin.PresetMetaData;
 import org.openstreetmap.josm.plugins.roadsigns.Sign.SignParameter;
@@ -103,5 +103,5 @@
     protected JEditorPane info;
     protected JScrollPane scrollInfo;
-    
+
     private MultiSplitPane multiSplitPane;
 
@@ -150,10 +150,9 @@
                 Node model = multiSplitPane.getMultiSplitLayout().getModel();
                 File f = new File(RoadSignsPlugin.pluginDir(), "roadsigns-layout.xml");
-                try {
+                try (
                     XMLEncoder xmlenc = new XMLEncoder(
                             new BufferedOutputStream(new FileOutputStream(f))
-                    );
+                    )) {
                     xmlenc.writeObject(model);
-                    xmlenc.close();
                 } catch (FileNotFoundException ex) {
                     Main.warn("unable to write dialog layout: "+ex);
@@ -163,5 +162,4 @@
         super.setVisible(visible);
     }
-
 
     private Command createCommand(Collection<OsmPrimitive> selPrim) {
@@ -198,13 +196,10 @@
 
         multiSplitPane = new MultiSplitPane();
-        try {
-            File f = new File(RoadSignsPlugin.pluginDir(), "roadsigns-layout.xml");
-            XMLDecoder decoder = new XMLDecoder(new BufferedInputStream(new FileInputStream(f)));
+        File f = new File(RoadSignsPlugin.pluginDir(), "roadsigns-layout.xml");
+        try (XMLDecoder decoder = new XMLDecoder(new BufferedInputStream(new FileInputStream(f)))) {
             Node model = (Node) decoder.readObject();
-            decoder.close();
             multiSplitPane.getMultiSplitLayout().setModel(model);
             multiSplitPane.getMultiSplitLayout().setFloatingDividers(false);
-        }
-        catch (Exception ex) {
+        } catch (Exception ex) {
             Node modelRoot = MultiSplitLayout.parseModel(layoutDef);
             multiSplitPane.getMultiSplitLayout().setModel(modelRoot);
@@ -225,8 +220,8 @@
         info.setBackground(this.getBackground());
         info.addHyperlinkListener(new HyperlinkListener() {
-            public void hyperlinkUpdate(HyperlinkEvent e) {
+            @Override
+			public void hyperlinkUpdate(HyperlinkEvent e) {
                 if (e == null || e.getURL() == null)
                     return;
-                System.out.println(e.getURL());
                 if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
                     OpenBrowser.displayUrl(e.getURL().toString());
@@ -472,13 +467,16 @@
                         }
                         class TFDocumentListener implements DocumentListener {
-                            public void insertUpdate(DocumentEvent e) {
+                            @Override
+							public void insertUpdate(DocumentEvent e) {
                                 update();
                             }
 
-                            public void removeUpdate(DocumentEvent e) {
+                            @Override
+							public void removeUpdate(DocumentEvent e) {
                                 update();
                             }
 
-                            public void changedUpdate(DocumentEvent e) {
+                            @Override
+							public void changedUpdate(DocumentEvent e) {
                                 update();
                             }
@@ -540,5 +538,6 @@
         String[][] data = {{}};
         previewTable = new JTable(data, columnNames) {
-            public String getToolTipText(MouseEvent e) {
+            @Override
+			public String getToolTipText(MouseEvent e) {
                 int rowIndex = rowAtPoint(e.getPoint());
                 int colIndex = columnAtPoint(e.getPoint());
@@ -564,5 +563,6 @@
         addTrafficSignTag.setSelected(Main.pref.getBoolean("plugin.roadsigns.addTrafficSignTag"));
         addTrafficSignTag.addActionListener(new ActionListener() {
-            public void actionPerformed(ActionEvent e) {
+            @Override
+			public void actionPerformed(ActionEvent e) {
                 previewModel.update();
             }
@@ -581,13 +581,16 @@
         String[] header = {tr("Key"), tr("Value")};
 
-        public int getRowCount() {
+        @Override
+		public int getRowCount() {
             return keys.size();
         }
 
-        public int getColumnCount() {
+        @Override
+		public int getColumnCount() {
             return 2;
         }
 
-        public Object getValueAt(int rowIndex, int columnIndex) {
+        @Override
+		public Object getValueAt(int rowIndex, int columnIndex) {
             if (columnIndex == 0) {
                 return keys.get(rowIndex);
@@ -758,5 +761,6 @@
             /* scroll up again */
             SwingUtilities.invokeLater(new Runnable(){
-                public void run() {
+                @Override
+				public void run() {
                     scrollInfo.getVerticalScrollBar().setValue(0);
                 }
@@ -818,9 +822,11 @@
         }
 
-        public Dimension getPreferredScrollableViewportSize() {
+        @Override
+		public Dimension getPreferredScrollableViewportSize() {
             return super.getPreferredSize();
         }
 
-        public int getScrollableUnitIncrement( Rectangle visibleRect, int orientation, int direction ) {
+        @Override
+		public int getScrollableUnitIncrement( Rectangle visibleRect, int orientation, int direction ) {
             final int FRAC = 20;
             int inc = (orientation == SwingConstants.VERTICAL ? getParent().getHeight() : getParent().getWidth()) / FRAC;
@@ -828,13 +834,16 @@
         }
 
-        public int getScrollableBlockIncrement( Rectangle visibleRect, int orientation, int direction ) {
+        @Override
+		public int getScrollableBlockIncrement( Rectangle visibleRect, int orientation, int direction ) {
             return orientation == SwingConstants.VERTICAL ? getParent().getHeight() : getParent().getWidth();
         }
 
-        public boolean getScrollableTracksViewportWidth() {
+        @Override
+		public boolean getScrollableTracksViewportWidth() {
             return true;
         }
 
-        public boolean getScrollableTracksViewportHeight() {
+        @Override
+		public boolean getScrollableTracksViewportHeight() {
             return false;
         }
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 30737)
+++ applications/editors/josm/plugins/roadsigns/src/org/openstreetmap/josm/plugins/roadsigns/RoadSignsPlugin.java	(revision 30738)
@@ -24,5 +24,4 @@
 import javax.swing.JOptionPane;
 
-import org.xml.sax.SAXException;
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.JosmAction;
@@ -36,4 +35,5 @@
 import org.openstreetmap.josm.tools.Shortcut;
 import org.openstreetmap.josm.tools.Utils;
+import org.xml.sax.SAXException;
 
 public class RoadSignsPlugin extends Plugin {
@@ -79,5 +79,6 @@
         }
 
-        public void actionPerformed(ActionEvent e) {
+        @Override
+		public void actionPerformed(ActionEvent e) {
             String code = Main.pref.get("plugin.roadsigns.preset.selection", null);
             if (code == null) {
@@ -241,5 +242,6 @@
      * Returns an inputstream from urls, files and classloaders, depending on the name.
      */
-    public static InputStream getInputStream(String source) throws IOException {
+    @SuppressWarnings("resource")
+	public static InputStream getInputStream(String source) throws IOException {
         InputStream in = null;
         if (source.startsWith("http://") || source.startsWith("https://") || source.startsWith("ftp://")) {
