Index: trunk/src/org/openstreetmap/josm/gui/DefaultNameFormatter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/DefaultNameFormatter.java	(revision 7017)
+++ trunk/src/org/openstreetmap/josm/gui/DefaultNameFormatter.java	(revision 7018)
@@ -15,4 +15,5 @@
 import java.util.LinkedList;
 import java.util.List;
+import java.util.Map;
 import java.util.Set;
 
@@ -493,10 +494,14 @@
      */
     public String buildDefaultToolTip(IPrimitive primitive) {
+        return buildDefaultToolTip(primitive.getId(), primitive.getKeys());
+    }
+    
+    private String buildDefaultToolTip(long id, Map<String, String> tags) {
         StringBuilder sb = new StringBuilder();
         sb.append("<html>");
         sb.append("<strong>id</strong>=")
-        .append(primitive.getId())
+        .append(id)
         .append("<br>");
-        List<String> keyList = new ArrayList<>(primitive.keySet());
+        List<String> keyList = new ArrayList<>(tags.keySet());
         Collections.sort(keyList);
         for (int i = 0; i < keyList.size(); i++) {
@@ -509,5 +514,5 @@
             .append("</strong>")
             .append("=");
-            String value = primitive.get(key);
+            String value = tags.get(key);
             while(value.length() != 0) {
                 sb.append(value.substring(0,Math.min(50, value.length())));
@@ -666,33 +671,5 @@
      */
     public String buildDefaultToolTip(HistoryOsmPrimitive primitive) {
-        StringBuilder sb = new StringBuilder();
-        sb.append("<html>");
-        sb.append("<strong>id</strong>=")
-        .append(primitive.getId())
-        .append("<br>");
-        List<String> keyList = new ArrayList<>(primitive.getTags().keySet());
-        Collections.sort(keyList);
-        for (int i = 0; i < keyList.size(); i++) {
-            if (i > 0) {
-                sb.append("<br>");
-            }
-            String key = keyList.get(i);
-            sb.append("<strong>")
-            .append(key)
-            .append("</strong>")
-            .append("=");
-            String value = primitive.get(key);
-            while(value.length() != 0) {
-                sb.append(value.substring(0,Math.min(50, value.length())));
-                if (value.length() > 50) {
-                    sb.append("<br>");
-                    value = value.substring(50);
-                } else {
-                    value = "";
-                }
-            }
-        }
-        sb.append("</html>");
-        return sb.toString();
+        return buildDefaultToolTip(primitive.getId(), primitive.getTags());
     }
 
Index: trunk/src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListTableCellRenderer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListTableCellRenderer.java	(revision 7017)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListTableCellRenderer.java	(revision 7018)
@@ -4,7 +4,4 @@
 import java.awt.Component;
 import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
 
 import javax.swing.BorderFactory;
@@ -16,5 +13,4 @@
 
 import org.openstreetmap.josm.data.osm.Node;
-import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.gui.DefaultNameFormatter;
 import org.openstreetmap.josm.gui.conflict.ConflictColors;
@@ -38,52 +34,4 @@
         rowNumberBorder = BorderFactory.createEmptyBorder(0,4,0,0);
         setOpaque(true);
-    }
-
-    /**
-     * build the tool tip text for an {@link OsmPrimitive}. It consist of the formatted
-     * key/value pairs for this primitive.
-     *
-     * @param primitive
-     * @return the tool tip text
-     */
-    public String buildToolTipText(OsmPrimitive primitive) {
-        StringBuilder sb = new StringBuilder();
-
-        sb.append("<html>");
-        // show the id
-        //
-        sb.append("<strong>id</strong>=")
-        .append(primitive.getId())
-        .append("<br>");
-
-        // show the key/value-pairs, sorted by key
-        //
-        List<String> keyList = new ArrayList<>(primitive.keySet());
-        Collections.sort(keyList);
-        for (int i = 0; i < keyList.size(); i++) {
-            if (i > 0) {
-                sb.append("<br>");
-            }
-            String key = keyList.get(i);
-            sb.append("<strong>")
-            .append(key)
-            .append("</strong>")
-            .append("=");
-            // make sure long values are split into several rows. Otherwise
-            // the tool tip window can become to wide
-            //
-            String value = primitive.get(key);
-            while(value.length() != 0) {
-                sb.append(value.substring(0,Math.min(50, value.length())));
-                if (value.length() > 50) {
-                    sb.append("<br>");
-                    value = value.substring(50);
-                } else {
-                    value = "";
-                }
-            }
-        }
-        sb.append("</html>");
-        return sb.toString();
     }
 
@@ -122,5 +70,5 @@
         }
         setText(node.getDisplayName(DefaultNameFormatter.getInstance()));
-        setToolTipText(buildToolTipText(node));
+        setToolTipText(DefaultNameFormatter.getInstance().buildDefaultToolTip(node));
     }
 
Index: trunk/src/org/openstreetmap/josm/gui/conflict/pair/relation/RelationMemberTableCellRenderer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/pair/relation/RelationMemberTableCellRenderer.java	(revision 7017)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/pair/relation/RelationMemberTableCellRenderer.java	(revision 7018)
@@ -4,7 +4,4 @@
 import java.awt.Color;
 import java.awt.Component;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
 
 import javax.swing.BorderFactory;
@@ -15,5 +12,4 @@
 
 import org.openstreetmap.josm.data.osm.Node;
-import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.RelationMember;
 import org.openstreetmap.josm.gui.DefaultNameFormatter;
@@ -36,36 +32,4 @@
         setOpaque(true);
         rowNumberBorder = BorderFactory.createEmptyBorder(0,4,0,0);
-    }
-
-    public String buildToolTipText(OsmPrimitive primitive) {
-        StringBuilder sb = new StringBuilder();
-        sb.append("<html>");
-        sb.append("<strong>id</strong>=")
-        .append(primitive.getId())
-        .append("<br>");
-        List<String> keyList = new ArrayList<>(primitive.keySet());
-        Collections.sort(keyList);
-        for (int i = 0; i < keyList.size(); i++) {
-            if (i > 0) {
-                sb.append("<br>");
-            }
-            String key = keyList.get(i);
-            sb.append("<strong>")
-            .append(key)
-            .append("</strong>")
-            .append("=");
-            String value = primitive.get(key);
-            while(value.length() != 0) {
-                sb.append(value.substring(0,Math.min(50, value.length())));
-                if (value.length() > 50) {
-                    sb.append("<br>");
-                    value = value.substring(50);
-                } else {
-                    value = "";
-                }
-            }
-        }
-        sb.append("</html>");
-        return sb.toString();
     }
 
@@ -129,5 +93,5 @@
         String displayName = member.getMember().getDisplayName(DefaultNameFormatter.getInstance());
         setText(displayName);
-        setToolTipText(buildToolTipText(member.getMember()));
+        setToolTipText(DefaultNameFormatter.getInstance().buildDefaultToolTip(member.getMember()));
         setIcon(ImageProvider.get(member.getDisplayType()));
     }
