Index: trunk/src/org/openstreetmap/josm/gui/dialogs/relation/RunnableAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/relation/RunnableAction.java	(revision 10081)
+++ 	(revision )
@@ -1,17 +1,0 @@
-// License: GPL. For details, see LICENSE file.
-package org.openstreetmap.josm.gui.dialogs.relation;
-
-import java.awt.event.ActionEvent;
-
-import javax.swing.AbstractAction;
-
-public abstract class RunnableAction extends AbstractAction implements Runnable {
-
-    @Override
-    public abstract void run();
-
-    @Override
-    public void actionPerformed(ActionEvent arg0) {
-        run();
-    }
-}
Index: trunk/src/org/openstreetmap/josm/gui/tagging/TagTable.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/tagging/TagTable.java	(revision 10081)
+++ trunk/src/org/openstreetmap/josm/gui/tagging/TagTable.java	(revision 10082)
@@ -38,5 +38,4 @@
 import org.openstreetmap.josm.data.osm.Relation;
 import org.openstreetmap.josm.data.osm.Tag;
-import org.openstreetmap.josm.gui.dialogs.relation.RunnableAction;
 import org.openstreetmap.josm.gui.tagging.ac.AutoCompletionList;
 import org.openstreetmap.josm.gui.tagging.ac.AutoCompletionManager;
@@ -162,5 +161,5 @@
      *
      */
-    class DeleteAction extends RunnableAction implements ListSelectionListener {
+    class DeleteAction extends AbstractAction implements ListSelectionListener {
 
         DeleteAction() {
@@ -197,5 +196,5 @@
 
         @Override
-        public void run() {
+        public void actionPerformed(ActionEvent e) {
             if (!isEnabled())
                 return;
@@ -251,5 +250,5 @@
      *
      */
-    class AddAction extends RunnableAction implements PropertyChangeListener {
+    class AddAction extends AbstractAction implements PropertyChangeListener {
         AddAction() {
             putValue(SMALL_ICON, ImageProvider.get("dialogs", "add"));
@@ -260,5 +259,5 @@
 
         @Override
-        public void run() {
+        public void actionPerformed(ActionEvent e) {
             CellEditor editor = getCellEditor();
             if (editor != null) {
@@ -285,5 +284,5 @@
      * Action to be run when the user wants to paste tags from buffer
      */
-    class PasteAction extends RunnableAction implements PropertyChangeListener {
+    class PasteAction extends AbstractAction implements PropertyChangeListener {
         PasteAction() {
             putValue(SMALL_ICON, ImageProvider.get("", "pastetags"));
@@ -294,5 +293,5 @@
 
         @Override
-        public void run() {
+        public void actionPerformed(ActionEvent e) {
             Relation relation = new Relation();
             model.applyToPrimitive(relation);
@@ -333,25 +332,33 @@
 
     /** the delete action */
-    private RunnableAction deleteAction;
+    private DeleteAction deleteAction;
 
     /** the add action */
-    private RunnableAction addAction;
+    private AddAction addAction;
 
     /** the tag paste action */
-    private RunnableAction pasteAction;
-
-    /**
-     *
+    private PasteAction pasteAction;
+
+    /**
+     * Returns the delete action.
      * @return the delete action used by this table
      */
-    public RunnableAction getDeleteAction() {
+    public DeleteAction getDeleteAction() {
         return deleteAction;
     }
 
-    public RunnableAction getAddAction() {
+    /**
+     * Returns the add action.
+     * @return the add action used by this table
+     */
+    public AddAction getAddAction() {
         return addAction;
     }
 
-    public RunnableAction getPasteAction() {
+    /**
+     * Returns the paste action.
+     * @return the paste action used by this table
+     */
+    public PasteAction getPasteAction() {
         return pasteAction;
     }
@@ -429,5 +436,5 @@
                 //
                 return super.processKeyBinding(ks, e, condition, pressed);
-            getDeleteAction().run();
+            getDeleteAction().actionPerformed(null);
         }
         return super.processKeyBinding(ks, e, condition, pressed);
