Index: trunk/src/org/openstreetmap/josm/data/osm/AbstractPrimitive.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/AbstractPrimitive.java	(revision 13623)
+++ trunk/src/org/openstreetmap/josm/data/osm/AbstractPrimitive.java	(revision 13625)
@@ -693,8 +693,5 @@
     }
 
-    /**
-     * Gets the number of keys
-     * @return The number of keys set for this primitive.
-     */
+    @Override
     public final int getNumKeys() {
         String[] keys = this.keys;
Index: trunk/src/org/openstreetmap/josm/data/osm/Changeset.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/Changeset.java	(revision 13623)
+++ trunk/src/org/openstreetmap/josm/data/osm/Changeset.java	(revision 13625)
@@ -405,4 +405,9 @@
     }
 
+    @Override
+    public int getNumKeys() {
+        return tags.size();
+    }
+
     /**
      * Determines if this changeset is new.
Index: trunk/src/org/openstreetmap/josm/data/osm/Tag.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/Tag.java	(revision 13623)
+++ trunk/src/org/openstreetmap/josm/data/osm/Tag.java	(revision 13625)
@@ -203,4 +203,9 @@
     }
 
+    @Override
+    public final int getNumKeys() {
+        return 1;
+    }
+
     /**
      * Unsupported.
Index: trunk/src/org/openstreetmap/josm/data/osm/Tagged.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/Tagged.java	(revision 13623)
+++ trunk/src/org/openstreetmap/josm/data/osm/Tagged.java	(revision 13625)
@@ -108,4 +108,11 @@
 
     /**
+     * Gets the number of keys
+     * @return The number of keys set for this tagged object.
+     * @since 13625
+     */
+    int getNumKeys();
+
+    /**
      * Removes all tags
      */
Index: trunk/src/org/openstreetmap/josm/data/osm/history/HistoryOsmPrimitive.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/history/HistoryOsmPrimitive.java	(revision 13623)
+++ trunk/src/org/openstreetmap/josm/data/osm/history/HistoryOsmPrimitive.java	(revision 13625)
@@ -262,4 +262,9 @@
     }
 
+    @Override
+    public int getNumKeys() {
+        return tags.size();
+    }
+
     /**
      * Replies the key/value map.
