Index: /trunk/src/org/openstreetmap/josm/command/ChangePropertyCommand.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/command/ChangePropertyCommand.java	(revision 6323)
+++ /trunk/src/org/openstreetmap/josm/command/ChangePropertyCommand.java	(revision 6324)
@@ -36,5 +36,5 @@
     /**
      * Key and value pairs. If value is <code>null</code>, delete all key references with the given
-     * key. Otherwise, change the properties of all objects to the given value or create keys of
+     * key. Otherwise, change the tags of all objects to the given value or create keys of
      * those objects that do not have the key yet.
      */
@@ -42,8 +42,8 @@
 
     /**
-     * Creates a command to change multiple properties of multiple objects
+     * Creates a command to change multiple tags of multiple objects
      *
      * @param objects the objects to modify
-     * @param tags the properties to set
+     * @param tags the tags to set
      */
     public ChangePropertyCommand(Collection<? extends OsmPrimitive> objects, AbstractMap<String, String> tags) {
@@ -55,8 +55,8 @@
 
     /**
-     * Creates a command to change one property of multiple objects
+     * Creates a command to change one tag of multiple objects
      *
      * @param objects the objects to modify
-     * @param key the key of the property to set
+     * @param key the key of the tag to set
      * @param value the value of the key to set
      */
@@ -69,8 +69,8 @@
 
     /**
-     * Creates a command to change on property of one object
+     * Creates a command to change one tag of one object
      *
      * @param object the object to modify
-     * @param key the key of the property to set
+     * @param key the key of the tag to set
      * @param value the value of the key to set
      */
@@ -180,7 +180,7 @@
 
             if (allnull) {
-                text = tr("Deleted {0} properties for {1} objects", tags.size(), objects.size());
+                text = tr("Deleted {0} tags for {1} objects", tags.size(), objects.size());
             } else
-                text = tr("Set {0} properties for {1} objects", tags.size(), objects.size());
+                text = tr("Set {0} tags for {1} objects", tags.size(), objects.size());
         }
         return text;
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesCellRenderer.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesCellRenderer.java	(revision 6323)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesCellRenderer.java	(revision 6324)
@@ -19,5 +19,5 @@
 
 /**
- * Cell renderer of properties table.
+ * Cell renderer of tags table.
  * @since 6314
  */
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java	(revision 6323)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java	(revision 6324)
@@ -99,14 +99,14 @@
 
 /**
- * This dialog displays the properties of the current selected primitives.
+ * This dialog displays the tags of the current selected primitives.
  *
  * If no object is selected, the dialog list is empty.
- * If only one is selected, all properties of this object are selected.
- * If more than one object are selected, the sum of all properties are displayed. If the
- * different objects share the same property, the shared value is displayed. If they have
+ * If only one is selected, all tags of this object are selected.
+ * If more than one object are selected, the sum of all tags are displayed. If the
+ * different objects share the same tag, the shared value is displayed. If they have
  * different values, all of them are put in a combo box and the string "&lt;different&gt;"
  * is displayed in italic.
  *
- * Below the list, the user can click on an add, modify and delete property button to
+ * Below the list, the user can click on an add, modify and delete tag button to
  * edit the table selection value.
  *
@@ -123,7 +123,7 @@
 
     /**
-     * The property data of selected objects.
-     */
-    private final DefaultTableModel propertyData = new ReadOnlyTableModel();
+     * The tag data of selected objects.
+     */
+    private final DefaultTableModel tagData = new ReadOnlyTableModel();
 
     /**
@@ -133,7 +133,8 @@
 
     /**
-     * The properties table.
-     */
-    private final JTable propertyTable = new JTable(propertyData);
+     * The tags table.
+     */
+    private final JTable tagTable = new JTable(tagData);
+    
     /**
      * The membership table.
@@ -142,16 +143,16 @@
 
     // Popup menus
-    private final JPopupMenu propertyMenu = new JPopupMenu();
+    private final JPopupMenu tagMenu = new JPopupMenu();
     private final JPopupMenu membershipMenu = new JPopupMenu();
 
     // Popup menu handlers
-    private final PopupMenuHandler propertyMenuHandler = new PopupMenuHandler(propertyMenu);
+    private final PopupMenuHandler tagMenuHandler = new PopupMenuHandler(tagMenu);
     private final PopupMenuHandler membershipMenuHandler = new PopupMenuHandler(membershipMenu);
 
     private final Map<String, Map<String, Integer>> valueCount = new TreeMap<String, Map<String, Integer>>();
     /**
-     * This sub-object is responsible for all adding and editing of properties
-     */
-    private final TagEditHelper editHelper = new TagEditHelper(propertyData, valueCount);
+     * This sub-object is responsible for all adding and editing of tags
+     */
+    private final TagEditHelper editHelper = new TagEditHelper(tagData, valueCount);
 
     private final DataSetListenerAdapter dataChangedAdapter = new DataSetListenerAdapter(this);
@@ -202,5 +203,5 @@
      */
     private final JLabel selectSth = new JLabel("<html><p>"
-            + tr("Select objects for which to change properties.") + "</p></html>");
+            + tr("Select objects for which to change tags.") + "</p></html>");
 
     private PresetHandler presetHandler = new PresetHandler() {
@@ -224,10 +225,10 @@
      */
     public PropertiesDialog(MapFrame mapFrame) {
-        super(tr("Properties/Memberships"), "propertiesdialog", tr("Properties for selected objects."),
-                Shortcut.registerShortcut("subwindow:properties", tr("Toggle: {0}", tr("Properties/Memberships")), KeyEvent.VK_P,
+        super(tr("Tags/Memberships"), "propertiesdialog", tr("Tags for selected objects."),
+                Shortcut.registerShortcut("subwindow:properties", tr("Toggle: {0}", tr("Tags/Memberships")), KeyEvent.VK_P,
                         Shortcut.ALT_SHIFT), 150, true);
 
-        setupPropertiesMenu();
-        buildPropertiesTable();
+        setupTagsMenu();
+        buildTagsTable();
 
         setupMembershipMenu();
@@ -244,6 +245,6 @@
         }
         bothTables.add(selectSth, GBC.eol().fill().insets(10, 10, 10, 10));
-        bothTables.add(propertyTable.getTableHeader(), GBC.eol().fill(GBC.HORIZONTAL));
-        bothTables.add(propertyTable, GBC.eol().fill(GBC.BOTH));
+        bothTables.add(tagTable.getTableHeader(), GBC.eol().fill(GBC.HORIZONTAL));
+        bothTables.add(tagTable, GBC.eol().fill(GBC.BOTH));
         bothTables.add(membershipTable.getTableHeader(), GBC.eol().fill(GBC.HORIZONTAL));
         bothTables.add(membershipTable, GBC.eol().fill(GBC.BOTH));
@@ -255,7 +256,7 @@
 
         // Let the action know when selection in the tables change
-        propertyTable.getSelectionModel().addListSelectionListener(editAction);
+        tagTable.getSelectionModel().addListSelectionListener(editAction);
         membershipTable.getSelectionModel().addListSelectionListener(editAction);
-        propertyTable.getSelectionModel().addListSelectionListener(deleteAction);
+        tagTable.getSelectionModel().addListSelectionListener(deleteAction);
         membershipTable.getSelectionModel().addListSelectionListener(deleteAction);
 
@@ -266,5 +267,5 @@
 
         MouseClickWatch mouseClickWatch = new MouseClickWatch();
-        propertyTable.addMouseListener(mouseClickWatch);
+        tagTable.addMouseListener(mouseClickWatch);
         membershipTable.addMouseListener(mouseClickWatch);
         scrollPane.addMouseListener(mouseClickWatch);
@@ -278,14 +279,14 @@
     }
 
-    private void buildPropertiesTable() {
-        // setting up the properties table
-
-        propertyData.setColumnIdentifiers(new String[]{tr("Key"),tr("Value")});
-        propertyTable.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
-        propertyTable.getTableHeader().setReorderingAllowed(false);
+    private void buildTagsTable() {
+        // setting up the tags table
+
+        tagData.setColumnIdentifiers(new String[]{tr("Key"),tr("Value")});
+        tagTable.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
+        tagTable.getTableHeader().setReorderingAllowed(false);
 
         PropertiesCellRenderer cellRenderer = new PropertiesCellRenderer();
-        propertyTable.getColumnModel().getColumn(0).setCellRenderer(cellRenderer);
-        propertyTable.getColumnModel().getColumn(1).setCellRenderer(cellRenderer);
+        tagTable.getColumnModel().getColumn(0).setCellRenderer(cellRenderer);
+        tagTable.getColumnModel().getColumn(1).setCellRenderer(cellRenderer);
     }
 
@@ -415,17 +416,17 @@
 
     /**
-     * creates the popup menu @field propertyMenu and its launcher on property table
-     */
-    private void setupPropertiesMenu() {
-        propertyMenu.add(pasteValueAction);
-        propertyMenu.add(copyValueAction);
-        propertyMenu.add(copyKeyValueAction);
-        propertyMenu.add(copyAllKeyValueAction);
-        propertyMenu.addSeparator();
-        propertyMenu.add(searchActionAny);
-        propertyMenu.add(searchActionSame);
-        propertyMenu.addSeparator();
-        propertyMenu.add(helpAction);
-        propertyTable.addMouseListener(new PopupMenuLauncher(propertyMenu));
+     * creates the popup menu @field tagMenu and its launcher on tag table
+     */
+    private void setupTagsMenu() {
+        tagMenu.add(pasteValueAction);
+        tagMenu.add(copyValueAction);
+        tagMenu.add(copyKeyValueAction);
+        tagMenu.add(copyAllKeyValueAction);
+        tagMenu.addSeparator();
+        tagMenu.add(searchActionAny);
+        tagMenu.add(searchActionSame);
+        tagMenu.addSeparator();
+        tagMenu.add(helpAction);
+        tagTable.addMouseListener(new PopupMenuLauncher(tagMenu));
     }
 
@@ -436,25 +437,25 @@
 
         // ENTER = editAction, open "edit" dialog
-        propertyTable.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT)
+        tagTable.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT)
                 .put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0),"onTableEnter");
-        propertyTable.getActionMap().put("onTableEnter",editAction);
+        tagTable.getActionMap().put("onTableEnter",editAction);
         membershipTable.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT)
                 .put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0),"onTableEnter");
         membershipTable.getActionMap().put("onTableEnter",editAction);
 
-        // INSERT button = addAction, open "add property" dialog
-        propertyTable.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT)
+        // INSERT button = addAction, open "add tag" dialog
+        tagTable.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT)
                 .put(KeyStroke.getKeyStroke(KeyEvent.VK_INSERT, 0),"onTableInsert");
-        propertyTable.getActionMap().put("onTableInsert",addAction);
+        tagTable.getActionMap().put("onTableInsert",addAction);
 
         // unassign some standard shortcuts for JTable to allow upload / download
-        InputMapUtils.unassignCtrlShiftUpDown(propertyTable, JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
+        InputMapUtils.unassignCtrlShiftUpDown(tagTable, JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
 
         // unassign some standard shortcuts for correct copy-pasting, fix #8508
-        propertyTable.setTransferHandler(null);
-
-        propertyTable.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT)
+        tagTable.setTransferHandler(null);
+
+        tagTable.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT)
                 .put(KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.CTRL_MASK),"onCopy");
-        propertyTable.getActionMap().put("onCopy",copyKeyValueAction);
+        tagTable.getActionMap().put("onCopy",copyKeyValueAction);
 
         // allow using enter to add tags for all look&feel configurations
@@ -557,8 +558,8 @@
         if (!isVisible())
             return;
-        if (propertyTable == null)
+        if (tagTable == null)
             return; // selection changed may be received in base class constructor before init
-        if (propertyTable.getCellEditor() != null) {
-            propertyTable.getCellEditor().cancelCellEditing();
+        if (tagTable.getCellEditor() != null) {
+            tagTable.getCellEditor().cancelCellEditing();
         }
 
@@ -566,6 +567,6 @@
         Relation selectedRelation = null;
         selectedTag = editHelper.getChangedKey(); // select last added or last edited key by default
-        if (selectedTag == null && propertyTable.getSelectedRowCount() == 1) {
-            selectedTag = (String)propertyData.getValueAt(propertyTable.getSelectedRow(), 0);
+        if (selectedTag == null && tagTable.getSelectedRowCount() == 1) {
+            selectedTag = (String)tagData.getValueAt(tagTable.getSelectedRow(), 0);
         }
         if (membershipTable.getSelectedRowCount() == 1) {
@@ -573,6 +574,6 @@
         }
 
-        // re-load property data
-        propertyData.setRowCount(0);
+        // re-load tag data
+        tagData.setRowCount(0);
 
         final boolean displayDiscardableKeys = Main.pref.getBoolean("display.discardable-keys", false);
@@ -606,5 +607,5 @@
                 e.getValue().put("", newSelection.size() - count);
             }
-            propertyData.addRow(new Object[]{e.getKey(), e.getValue()});
+            tagData.addRow(new Object[]{e.getKey(), e.getValue()});
             tags.put(e.getKey(), e.getValue().size() == 1
                     ? e.getValue().keySet().iterator().next() : tr("<different>"));
@@ -655,30 +656,30 @@
 
         boolean hasSelection = !newSelection.isEmpty();
-        boolean hasTags = hasSelection && propertyData.getRowCount() > 0;
+        boolean hasTags = hasSelection && tagData.getRowCount() > 0;
         boolean hasMemberships = hasSelection && membershipData.getRowCount() > 0;
         btnAdd.setEnabled(hasSelection);
         btnEdit.setEnabled(hasTags || hasMemberships);
         btnDel.setEnabled(hasTags || hasMemberships);
-        propertyTable.setVisible(hasTags);
-        propertyTable.getTableHeader().setVisible(hasTags);
+        tagTable.setVisible(hasTags);
+        tagTable.getTableHeader().setVisible(hasTags);
         selectSth.setVisible(!hasSelection);
         pluginHook.setVisible(hasSelection);
 
         int selectedIndex;
-        if (selectedTag != null && (selectedIndex = findRow(propertyData, selectedTag)) != -1) {
-            propertyTable.changeSelection(selectedIndex, 0, false, false);
+        if (selectedTag != null && (selectedIndex = findRow(tagData, selectedTag)) != -1) {
+            tagTable.changeSelection(selectedIndex, 0, false, false);
         } else if (selectedRelation != null && (selectedIndex = findRow(membershipData, selectedRelation)) != -1) {
             membershipTable.changeSelection(selectedIndex, 0, false, false);
         } else if(hasTags) {
-            propertyTable.changeSelection(0, 0, false, false);
+            tagTable.changeSelection(0, 0, false, false);
         } else if(hasMemberships) {
             membershipTable.changeSelection(0, 0, false, false);
         }
 
-        if(propertyData.getRowCount() != 0 || membershipData.getRowCount() != 0) {
-            setTitle(tr("Properties: {0} / Memberships: {1}",
-                    propertyData.getRowCount(), membershipData.getRowCount()));
+        if(tagData.getRowCount() != 0 || membershipData.getRowCount() != 0) {
+            setTitle(tr("Tags: {0} / Memberships: {1}",
+                    tagData.getRowCount(), membershipData.getRowCount()));
         } else {
-            setTitle(tr("Properties / Memberships"));
+            setTitle(tr("Tags / Memberships"));
         }
     }
@@ -708,18 +709,18 @@
 
     /**
-     * Replies the property popup menu handler.
-     * @return The property popup menu handler
+     * Replies the tag popup menu handler.
+     * @return The tag popup menu handler
      */
     public PopupMenuHandler getPropertyPopupMenuHandler() {
-        return propertyMenuHandler;
+        return tagMenuHandler;
     }
 
     @SuppressWarnings("unchecked")
     public Tag getSelectedProperty() {
-        int row = propertyTable.getSelectedRow();
+        int row = tagTable.getSelectedRow();
         if (row == -1) return null;
-        TreeMap<String, Integer> map = (TreeMap<String, Integer>) propertyData.getValueAt(row, 1);
+        TreeMap<String, Integer> map = (TreeMap<String, Integer>) tagData.getValueAt(row, 1);
         return new Tag(
-                propertyData.getValueAt(row, 0).toString(),
+                tagData.getValueAt(row, 0).toString(),
                 map.size() > 1 ? "" : map.keySet().iterator().next());
     }
@@ -749,19 +750,19 @@
             {
                 // single click, clear selection in other table not clicked in
-                if (e.getSource() == propertyTable) {
+                if (e.getSource() == tagTable) {
                     membershipTable.clearSelection();
                 } else if (e.getSource() == membershipTable) {
-                    propertyTable.clearSelection();
-                }
-            }
-            // double click, edit or add property
-            else if (e.getSource() == propertyTable)
+                    tagTable.clearSelection();
+                }
+            }
+            // double click, edit or add tag
+            else if (e.getSource() == tagTable)
             {
-                int row = propertyTable.rowAtPoint(e.getPoint());
+                int row = tagTable.rowAtPoint(e.getPoint());
                 if (row > -1) {
-                    boolean focusOnKey = (propertyTable.columnAtPoint(e.getPoint()) == 0);
-                    editHelper.editProperty(row, focusOnKey);
+                    boolean focusOnKey = (tagTable.columnAtPoint(e.getPoint()) == 0);
+                    editHelper.editTag(row, focusOnKey);
                 } else {
-                    editHelper.addProperty();
+                    editHelper.addTag();
                     btnAdd.requestFocusInWindow();
                 }
@@ -774,13 +775,13 @@
             else
             {
-                editHelper.addProperty();
+                editHelper.addTag();
                 btnAdd.requestFocusInWindow();
             }
         }
         @Override public void mousePressed(MouseEvent e) {
-            if (e.getSource() == propertyTable) {
+            if (e.getSource() == tagTable) {
                 membershipTable.clearSelection();
             } else if (e.getSource() == membershipTable) {
-                propertyTable.clearSelection();
+                tagTable.clearSelection();
             }
         }
@@ -845,15 +846,15 @@
         public DeleteAction() {
             super(tr("Delete"), "dialogs/delete", tr("Delete the selected key in all objects"),
-                    Shortcut.registerShortcut("properties:delete", tr("Delete Properties"), KeyEvent.VK_D,
+                    Shortcut.registerShortcut("properties:delete", tr("Delete Tags"), KeyEvent.VK_D,
                             Shortcut.ALT_CTRL_SHIFT), false);
             updateEnabledState();
         }
 
-        protected void deleteProperties(int[] rows){
+        protected void deleteTags(int[] rows){
             // convert list of rows to HashMap (and find gap for nextKey)
             HashMap<String, String> tags = new HashMap<String, String>(rows.length);
             int nextKeyIndex = rows[0];
             for (int row : rows) {
-                String key = propertyData.getValueAt(row, 0).toString();
+                String key = tagData.getValueAt(row, 0).toString();
                 if (row == nextKeyIndex + 1) {
                     nextKeyIndex = row; // no gap yet
@@ -862,7 +863,7 @@
             }
 
-            // find key to select after deleting other properties
+            // find key to select after deleting other tags
             String nextKey = null;
-            int rowCount = propertyData.getRowCount();
+            int rowCount = tagData.getRowCount();
             if (rowCount > rows.length) {
                 if (nextKeyIndex == rows[rows.length-1]) {
@@ -873,5 +874,5 @@
                     nextKeyIndex++;
                 }
-                nextKey = (String)propertyData.getValueAt(nextKeyIndex, 0);
+                nextKey = (String)tagData.getValueAt(nextKeyIndex, 0);
             }
 
@@ -881,5 +882,5 @@
             membershipTable.clearSelection();
             if (nextKey != null) {
-                propertyTable.changeSelection(findRow(propertyData, nextKey), 0, false, false);
+                tagTable.changeSelection(findRow(tagData, nextKey), 0, false, false);
             }
         }
@@ -912,5 +913,5 @@
             Main.main.undoRedo.add(new ChangeCommand(cur, rel));
 
-            propertyTable.clearSelection();
+            tagTable.clearSelection();
             if (nextRelation != null) {
                 membershipTable.changeSelection(findRow(membershipData, nextRelation), 0, false, false);
@@ -920,7 +921,7 @@
         @Override
         public void actionPerformed(ActionEvent e) {
-            if (propertyTable.getSelectedRowCount() > 0) {
-                int[] rows = propertyTable.getSelectedRows();
-                deleteProperties(rows);
+            if (tagTable.getSelectedRowCount() > 0) {
+                int[] rows = tagTable.getSelectedRows();
+                deleteTags(rows);
             } else if (membershipTable.getSelectedRowCount() > 0) {
                 int[] rows = membershipTable.getSelectedRows();
@@ -935,5 +936,5 @@
         protected void updateEnabledState() {
             setEnabled(
-                    (propertyTable != null && propertyTable.getSelectedRowCount() >= 1)
+                    (tagTable != null && tagTable.getSelectedRowCount() >= 1)
                     || (membershipTable != null && membershipTable.getSelectedRowCount() > 0)
                     );
@@ -952,5 +953,5 @@
         public AddAction() {
             super(tr("Add"), "dialogs/add", tr("Add a new key/value pair to all objects"),
-                    Shortcut.registerShortcut("properties:add", tr("Add Property"), KeyEvent.VK_A,
+                    Shortcut.registerShortcut("properties:add", tr("Add Tag"), KeyEvent.VK_A,
                             Shortcut.ALT), false);
         }
@@ -958,5 +959,5 @@
         @Override
         public void actionPerformed(ActionEvent e) {
-            editHelper.addProperty();
+            editHelper.addTag();
             btnAdd.requestFocusInWindow();
         }
@@ -969,5 +970,5 @@
         public EditAction() {
             super(tr("Edit"), "dialogs/edit", tr("Edit the value of the selected key for all objects"),
-                    Shortcut.registerShortcut("properties:edit", tr("Edit Properties"), KeyEvent.VK_S,
+                    Shortcut.registerShortcut("properties:edit", tr("Edit Tags"), KeyEvent.VK_S,
                             Shortcut.ALT), false);
             updateEnabledState();
@@ -978,7 +979,7 @@
             if (!isEnabled())
                 return;
-            if (propertyTable.getSelectedRowCount() == 1) {
-                int row = propertyTable.getSelectedRow();
-                editHelper.editProperty(row, false);
+            if (tagTable.getSelectedRowCount() == 1) {
+                int row = tagTable.getSelectedRow();
+                editHelper.editTag(row, false);
             } else if (membershipTable.getSelectedRowCount() == 1) {
                 int row = membershipTable.getSelectedRow();
@@ -990,5 +991,5 @@
         protected void updateEnabledState() {
             setEnabled(
-                    (propertyTable != null && propertyTable.getSelectedRowCount() == 1)
+                    (tagTable != null && tagTable.getSelectedRowCount() == 1)
                     ^ (membershipTable != null && membershipTable.getSelectedRowCount() == 1)
                     );
@@ -1015,9 +1016,9 @@
                 final List<URI> uris = new ArrayList<URI>();
                 int row;
-                if (propertyTable.getSelectedRowCount() == 1) {
-                    row = propertyTable.getSelectedRow();
-                    String key = URLEncoder.encode(propertyData.getValueAt(row, 0).toString(), "UTF-8");
+                if (tagTable.getSelectedRowCount() == 1) {
+                    row = tagTable.getSelectedRow();
+                    String key = URLEncoder.encode(tagData.getValueAt(row, 0).toString(), "UTF-8");
                     @SuppressWarnings("unchecked")
-                    Map<String, Integer> m = (Map<String, Integer>) propertyData.getValueAt(row, 1);
+                    Map<String, Integer> m = (Map<String, Integer>) tagData.getValueAt(row, 1);
                     String val = URLEncoder.encode(m.entrySet().iterator().next().getKey(), "UTF-8");
 
@@ -1106,7 +1107,7 @@
         @Override
         public void actionPerformed(ActionEvent ae) {
-            if (propertyTable.getSelectedRowCount() != 1)
+            if (tagTable.getSelectedRowCount() != 1)
                 return;
-            String key = propertyData.getValueAt(propertyTable.getSelectedRow(), 0).toString();
+            String key = tagData.getValueAt(tagTable.getSelectedRow(), 0).toString();
             Collection<OsmPrimitive> sel = Main.main.getCurrentDataSet().getSelected();
             String clipboard = Utils.getClipboardContent();
@@ -1123,5 +1124,5 @@
         @Override
         public void actionPerformed(ActionEvent ae) {
-            int[] rows = propertyTable.getSelectedRows();
+            int[] rows = tagTable.getSelectedRows();
             Set<String> values = new TreeSet<String>();
             Collection<OsmPrimitive> sel = Main.main.getCurrentDataSet().getSelected();
@@ -1129,5 +1130,5 @@
 
             for (int row: rows) {
-                String key = propertyData.getValueAt(row, 0).toString();
+                String key = tagData.getValueAt(row, 0).toString();
                 if (sel.isEmpty())
                     return;
@@ -1206,7 +1207,7 @@
         @Override
         public void actionPerformed(ActionEvent e) {
-            if (propertyTable.getSelectedRowCount() != 1)
+            if (tagTable.getSelectedRowCount() != 1)
                 return;
-            String key = propertyData.getValueAt(propertyTable.getSelectedRow(), 0).toString();
+            String key = tagData.getValueAt(tagTable.getSelectedRow(), 0).toString();
             Collection<OsmPrimitive> sel = Main.main.getCurrentDataSet().getSelected();
             if (sel.isEmpty())
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/TagEditHelper.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/TagEditHelper.java	(revision 6323)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/TagEditHelper.java	(revision 6324)
@@ -82,5 +82,5 @@
  */
  class TagEditHelper {
-    private final DefaultTableModel propertyData;
+    private final DefaultTableModel tagData;
     private final Map<String, Map<String, Integer>> valueCount;
 
@@ -113,5 +113,5 @@
 
     TagEditHelper(DefaultTableModel propertyData, Map<String, Map<String, Integer>> valueCount) {
-        this.propertyData = propertyData;
+        this.tagData = propertyData;
         this.valueCount = valueCount;
     }
@@ -121,5 +121,5 @@
      * to the dataset, of course).
      */
-    public void addProperty() {
+    public void addTag() {
         changedKey = null;
         if (Main.map.mapMode instanceof DrawAction) {
@@ -144,20 +144,20 @@
     
     /**
-    * Edit the value in the properties table row
+    * Edit the value in the tags table row
     * @param row The row of the table from which the value is edited.
     * @param focusOnKey Determines if the initial focus should be set on key instead of value
     * @since 5653
     */
-    public void editProperty(final int row, boolean focusOnKey) {
+    public void editTag(final int row, boolean focusOnKey) {
         changedKey = null;
         sel = Main.main.getCurrentDataSet().getSelected();
         if (sel.isEmpty()) return;
 
-        String key = propertyData.getValueAt(row, 0).toString();
+        String key = tagData.getValueAt(row, 0).toString();
         objKey=key;
         
         @SuppressWarnings("unchecked")
         final EditTagDialog editDialog = new EditTagDialog(key, row, 
-                (Map<String, Integer>) propertyData.getValueAt(row, 1), focusOnKey);
+                (Map<String, Integer>) tagData.getValueAt(row, 1), focusOnKey);
         editDialog.showDialog();
         if (editDialog.getValue() !=1 ) return;
@@ -540,6 +540,6 @@
                     itemToSelect = item;
                 }
-                for (int i = 0; i < propertyData.getRowCount(); ++i) {
-                    if (item.getValue().equals(propertyData.getValueAt(i, 0))) {
+                for (int i = 0; i < tagData.getRowCount(); ++i) {
+                    if (item.getValue().equals(tagData.getValueAt(i, 0))) {
                         if (itemToSelect == item) {
                             itemToSelect = null;
@@ -748,6 +748,6 @@
             // Disable action if its key is already set on the object (the key being absent from the keys list for this reason
             // performing this action leads to autocomplete to the next key (see #7671 comments)
-            for (int j = 0; j < propertyData.getRowCount(); ++j) {
-                if (t.getKey().equals(propertyData.getValueAt(j, 0))) {
+            for (int j = 0; j < tagData.getRowCount(); ++j) {
+                if (t.getKey().equals(tagData.getValueAt(j, 0))) {
                     action.setEnabled(false);
                     break;
