Index: trunk/src/org/openstreetmap/josm/actions/PasteTagsAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/PasteTagsAction.java	(revision 4386)
+++ trunk/src/org/openstreetmap/josm/actions/PasteTagsAction.java	(revision 4387)
@@ -109,5 +109,5 @@
         protected Map<OsmPrimitiveType, Integer> getSourceStatistics() {
             HashMap<OsmPrimitiveType, Integer> ret = new HashMap<OsmPrimitiveType, Integer>();
-            for (OsmPrimitiveType type: OsmPrimitiveType.values()) {
+            for (OsmPrimitiveType type: OsmPrimitiveType.dataValues()) {
                 if (!getSourceTagsByType(type).isEmpty()) {
                     ret.put(type, getSourcePrimitivesByType(type).size());
@@ -119,5 +119,5 @@
         protected Map<OsmPrimitiveType, Integer> getTargetStatistics() {
             HashMap<OsmPrimitiveType, Integer> ret = new HashMap<OsmPrimitiveType, Integer>();
-            for (OsmPrimitiveType type: OsmPrimitiveType.values()) {
+            for (OsmPrimitiveType type: OsmPrimitiveType.dataValues()) {
                 int count = OsmPrimitive.getFilteredList(target, type.getOsmClass()).size();
                 if (count > 0) {
@@ -139,5 +139,5 @@
         protected void pasteFromHomogeneousSource() {
             TagCollection tc = null;
-            for (OsmPrimitiveType type : OsmPrimitiveType.values()) {
+            for (OsmPrimitiveType type : OsmPrimitiveType.dataValues()) {
                 TagCollection tc1 = getSourceTagsByType(type);
                 if (!tc1.isEmpty()) {
@@ -185,5 +185,5 @@
          */
         protected boolean canPasteFromHeterogeneousSourceWithoutConflict(Collection<OsmPrimitive> targets) {
-            for (OsmPrimitiveType type:OsmPrimitiveType.values()) {
+            for (OsmPrimitiveType type : OsmPrimitiveType.dataValues()) {
                 if (hasTargetPrimitives(type.getOsmClass())) {
                     TagCollection tc = TagCollection.unionOfAllPrimitives(getSourcePrimitivesByType(type));
@@ -203,5 +203,5 @@
         protected void pasteFromHeterogeneousSource() {
             if (canPasteFromHeterogeneousSourceWithoutConflict(target)) {
-                for (OsmPrimitiveType type:OsmPrimitiveType.values()) {
+                for (OsmPrimitiveType type : OsmPrimitiveType.dataValues()) {
                     if (hasSourceTagsByType(type) && hasTargetPrimitives(type.getOsmClass())) {
                         buildChangeCommand(target, getSourceTagsByType(type));
@@ -220,5 +220,5 @@
                 if (dialog.isCanceled())
                     return;
-                for (OsmPrimitiveType type:OsmPrimitiveType.values()) {
+                for (OsmPrimitiveType type : OsmPrimitiveType.dataValues()) {
                     if (hasSourceTagsByType(type) && hasTargetPrimitives(type.getOsmClass())) {
                         buildChangeCommand(OsmPrimitive.getFilteredList(target, type.getOsmClass()), dialog.getResolution(type));
Index: trunk/src/org/openstreetmap/josm/data/osm/OsmPrimitiveType.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/OsmPrimitiveType.java	(revision 4386)
+++ trunk/src/org/openstreetmap/josm/data/osm/OsmPrimitiveType.java	(revision 4387)
@@ -1,8 +1,11 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.data.osm;
+
 import static org.openstreetmap.josm.tools.I18n.marktr;
 import static org.openstreetmap.josm.tools.I18n.tr;
 
 import java.text.MessageFormat;
+import java.util.Arrays;
+import java.util.Collection;
 
 public enum OsmPrimitiveType {
@@ -15,4 +18,6 @@
     CLOSEDWAY  (marktr(/* ICON(data/) */"closedway"), null, WayData.class),
     MULTIPOLYGON (marktr(/* ICON(data/) */"multipolygon"), null, RelationData.class);
+
+    private final static Collection<OsmPrimitiveType> DATA_VALUES = Arrays.asList(NODE, WAY, RELATION);
 
     private final String apiTypeName;
@@ -61,4 +66,8 @@
     }
 
+    public static Collection<OsmPrimitiveType> dataValues() {
+        return DATA_VALUES;
+    }
+
     public OsmPrimitive newInstance(long uniqueId, boolean allowNegative) {
         switch (this) {
Index: trunk/src/org/openstreetmap/josm/gui/conflict/tags/PasteTagsConflictResolverDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/tags/PasteTagsConflictResolverDialog.java	(revision 4386)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/tags/PasteTagsConflictResolverDialog.java	(revision 4387)
@@ -78,5 +78,5 @@
         allPrimitivesResolver = new TagConflictResolver();
         resolvers = new HashMap<OsmPrimitiveType, TagConflictResolver>();
-        for (OsmPrimitiveType type: OsmPrimitiveType.values()) {
+        for (OsmPrimitiveType type: OsmPrimitiveType.dataValues()) {
             resolvers.put(type, new TagConflictResolver());
             resolvers.get(type).getModel().addPropertyChangeListener(this);
