Index: trunk/src/org/openstreetmap/josm/gui/history/TagTableCellRenderer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/history/TagTableCellRenderer.java	(revision 17881)
+++ trunk/src/org/openstreetmap/josm/gui/history/TagTableCellRenderer.java	(revision 17886)
@@ -32,20 +32,4 @@
     }
 
-    protected void setBackgroundReadable(String key, TagTableModel model, boolean isSelected, boolean hasFocus, boolean isValue) {
-        final TwoColumnDiff.Item.DiffItemType diffItemType;
-        if ((!model.hasTag(key) && model.isCurrentPointInTime())
-                || (!model.oppositeHasTag(key) && model.isReferencePointInTime())) {
-            diffItemType = TwoColumnDiff.Item.DiffItemType.DELETED;
-        } else if ((!model.oppositeHasTag(key) && model.isCurrentPointInTime())
-                || (!model.hasTag(key) && model.isReferencePointInTime())) {
-            diffItemType = TwoColumnDiff.Item.DiffItemType.INSERTED;
-        } else if (isValue && model.hasTag(key) && model.oppositeHasTag(key) && !model.hasSameValueAsOpposite(key)) {
-            diffItemType = TwoColumnDiff.Item.DiffItemType.CHANGED;
-        } else {
-            diffItemType = TwoColumnDiff.Item.DiffItemType.EMPTY;
-        }
-        GuiHelper.setBackgroundReadable(this, diffItemType.getColor(isSelected, hasFocus));
-    }
-
     @Override
     public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus,
@@ -75,5 +59,6 @@
         setText(text);
         setToolTipText(text);
-        setBackgroundReadable(key, model, isSelected, table.hasFocus(), column == TagTableColumnModel.COLUMN_VALUE);
+        TwoColumnDiff.Item.DiffItemType diffItemType = model.getDiffItemType(key, column == TagTableColumnModel.COLUMN_VALUE);
+        GuiHelper.setBackgroundReadable(this, diffItemType.getColor(isSelected, table.hasFocus()));
         return this;
     }
Index: trunk/src/org/openstreetmap/josm/gui/history/TagTableModel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/history/TagTableModel.java	(revision 17881)
+++ trunk/src/org/openstreetmap/josm/gui/history/TagTableModel.java	(revision 17886)
@@ -144,3 +144,15 @@
         return 2;
     }
+
+    TwoColumnDiff.Item.DiffItemType getDiffItemType(String key, boolean isValue) {
+        if ((!hasTag(key) && isCurrentPointInTime()) || (!oppositeHasTag(key) && isReferencePointInTime())) {
+            return TwoColumnDiff.Item.DiffItemType.DELETED;
+        } else if ((!oppositeHasTag(key) && isCurrentPointInTime()) || (!hasTag(key) && isReferencePointInTime())) {
+            return TwoColumnDiff.Item.DiffItemType.INSERTED;
+        } else if (isValue && hasTag(key) && oppositeHasTag(key) && !hasSameValueAsOpposite(key)) {
+            return TwoColumnDiff.Item.DiffItemType.CHANGED;
+        } else {
+            return TwoColumnDiff.Item.DiffItemType.EMPTY;
+        }
+    }
 }
