void (Object aValue, int rowIndex, int columnIndex) { Pair<Object, T> pair = data.get(rowIndex); if (columnIndex == 1) { if (Comparing.equal(aValue, pair.second)) return; @SuppressWarnings("unchecked") T t = (T)aValue; data.set(rowIndex, pair(pair.first, t)); } else { if (Comparing.equal(aValue, pair.first)) return; data.set(rowIndex, pair(aValue, pair.second)); } fireTableRowsUpdated(rowIndex, rowIndex); }