Index: /applications/editors/josm/plugins/licensechange/.classpath
===================================================================
--- /applications/editors/josm/plugins/licensechange/.classpath	(revision 27964)
+++ /applications/editors/josm/plugins/licensechange/.classpath	(revision 27964)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/JOSM"/>
+	<classpathentry kind="output" path="build"/>
+</classpath>
Index: /applications/editors/josm/plugins/licensechange/.project
===================================================================
--- /applications/editors/josm/plugins/licensechange/.project	(revision 27964)
+++ /applications/editors/josm/plugins/licensechange/.project	(revision 27964)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>JOSM-licencechange</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
Index: /applications/editors/josm/plugins/licensechange/josm-licencechange.launch
===================================================================
--- /applications/editors/josm/plugins/licensechange/josm-licencechange.launch	(revision 27964)
+++ /applications/editors/josm/plugins/licensechange/josm-licencechange.launch	(revision 27964)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/JOSM/src/org/openstreetmap/josm/gui/MainApplication.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JDK 6"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.openstreetmap.josm.gui.MainApplication"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="JOSM-licencechange"/>
+</launchConfiguration>
Index: /applications/editors/josm/plugins/licensechange/src/org/openstreetmap/josm/plugins/licensechange/LicenseChangeDialog.java
===================================================================
--- /applications/editors/josm/plugins/licensechange/src/org/openstreetmap/josm/plugins/licensechange/LicenseChangeDialog.java	(revision 27963)
+++ /applications/editors/josm/plugins/licensechange/src/org/openstreetmap/josm/plugins/licensechange/LicenseChangeDialog.java	(revision 27964)
@@ -5,6 +5,4 @@
 import static org.openstreetmap.josm.tools.I18n.tr;
 
-import java.awt.BorderLayout;
-import java.awt.GridLayout;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
@@ -12,20 +10,14 @@
 import java.awt.event.MouseAdapter;
 import java.awt.event.MouseEvent;
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
 import java.util.Arrays;
-import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Enumeration;
 import java.util.HashSet;
-import java.util.LinkedList;
 import java.util.List;
-import java.util.Set;
-
+
+import javax.swing.AbstractAction;
 import javax.swing.JMenuItem;
-import javax.swing.JOptionPane;
 import javax.swing.JPopupMenu;
 import javax.swing.JScrollPane;
-import javax.swing.SwingUtilities;
 import javax.swing.event.TreeSelectionEvent;
 import javax.swing.event.TreeSelectionListener;
@@ -35,5 +27,4 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.AutoScaleAction;
-import org.openstreetmap.josm.command.Command;
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.Node;
@@ -41,11 +32,8 @@
 import org.openstreetmap.josm.data.osm.WaySegment;
 import org.openstreetmap.josm.data.osm.visitor.BoundingXYVisitor;
-import org.openstreetmap.josm.gui.PleaseWaitRunnable;
 import org.openstreetmap.josm.gui.SideButton;
 import org.openstreetmap.josm.gui.dialogs.ToggleDialog;
-import org.openstreetmap.josm.gui.progress.ProgressMonitor;
-import org.openstreetmap.josm.io.OsmTransferException;
+import org.openstreetmap.josm.tools.ImageProvider;
 import org.openstreetmap.josm.tools.Shortcut;
-import org.xml.sax.SAXException;
 
 /**
@@ -54,5 +42,5 @@
  * the list while single click will make the clicked entry the only selection.
  */
-public class LicenseChangeDialog extends ToggleDialog implements ActionListener {
+public class LicenseChangeDialog extends ToggleDialog {
     private LicenseChangePlugin plugin;
 
@@ -72,5 +60,5 @@
      * Constructor
      */
-    public LicenseChangeDialog(LicenseChangePlugin plugin) 
+    public LicenseChangeDialog(LicenseChangePlugin plugin)
     {
         super(tr("Relicensing problems"), "licensechange", tr("Open the relicensing window."),
@@ -83,5 +71,6 @@
         JMenuItem zoomTo = new JMenuItem(tr("Zoom to problem"));
         zoomTo.addActionListener(new ActionListener() {
-            public void actionPerformed(ActionEvent e) {
+            @Override
+			public void actionPerformed(ActionEvent e) {
                 zoomToProblem();
             }
@@ -93,6 +82,16 @@
         tree.addTreeSelectionListener(new SelectionWatch());
 
-        selectButton = new SideButton(marktr("Select"), "select", "LicenseChange",
-                tr("Set the selected elements on the map to the selected items in the list above."), this);
+        selectButton = new SideButton(new AbstractAction() {
+        	{
+        		putValue(NAME, marktr("Select"));
+        		putValue(SHORT_DESCRIPTION, tr("Set the selected elements on the map to the selected items in the list above."));
+        		putValue(SMALL_ICON, ImageProvider.get("dialogs", "select"));
+        		putValue("help", "Dialog/LicenseChange/select");
+        	}
+			@Override
+			public void actionPerformed(ActionEvent e) {
+				setSelectedItems();
+			}
+        });
         selectButton.setEnabled(false);
 
@@ -103,5 +102,5 @@
 
     @Override
-    public void showNotify() 
+    public void showNotify()
     {
         DataSet ds = Main.main.getCurrentDataSet();
@@ -112,5 +111,5 @@
 
     @Override
-    public void setVisible(boolean v) 
+    public void setVisible(boolean v)
     {
         if (tree != null)
@@ -121,5 +120,5 @@
 
     @SuppressWarnings("unchecked")
-    private void showPopupMenu(MouseEvent e) 
+    private void showPopupMenu(MouseEvent e)
     {
         if (!e.isPopupTrigger())
@@ -136,5 +135,5 @@
     }
 
-    private void zoomToProblem() 
+    private void zoomToProblem()
     {
         if (popupMenuError == null)
@@ -152,5 +151,5 @@
      */
     @SuppressWarnings("unchecked")
-    private void setSelectedItems() 
+    private void setSelectedItems()
     {
         if (tree == null)
@@ -179,11 +178,4 @@
     }
 
-    public void actionPerformed(ActionEvent e) 
-    {
-        String actionCommand = e.getActionCommand();
-        if (actionCommand.equals("Select"))
-            setSelectedItems();
-    }
-
     /**
      * @param sel
@@ -230,5 +222,5 @@
      * Watches for clicks.
      */
-    public class ClickWatch extends MouseAdapter 
+    public class ClickWatch extends MouseAdapter
     {
         @Override
@@ -264,7 +256,8 @@
      * Watches for tree selection.
      */
-    public class SelectionWatch implements TreeSelectionListener 
-    {
-        public void valueChanged(TreeSelectionEvent e) {
+    public class SelectionWatch implements TreeSelectionListener
+    {
+        @Override
+		public void valueChanged(TreeSelectionEvent e) {
             selectButton.setEnabled(false);
 
@@ -279,7 +272,8 @@
     }
 
-    public static class LicenseChangeBoundingXYVisitor extends BoundingXYVisitor implements LicenseChangeVisitor 
-    {
-        public void visit(OsmPrimitive p) {
+    public static class LicenseChangeBoundingXYVisitor extends BoundingXYVisitor implements LicenseChangeVisitor
+    {
+        @Override
+		public void visit(OsmPrimitive p) {
             if (p.isUsable()) {
                 p.visit(this);
@@ -294,5 +288,6 @@
         }
 
-        public void visit(List<Node> nodes) {
+        @Override
+		public void visit(List<Node> nodes) {
             for (Node n: nodes) {
                 visit(n);
@@ -301,5 +296,5 @@
     }
 
-    public void updateSelection(Collection<? extends OsmPrimitive> newSelection) 
+    public void updateSelection(Collection<? extends OsmPrimitive> newSelection)
     {
         if (newSelection.isEmpty())
