private static void removeRealCell(JTable table, Key type) {
        JComponent realCell = (JComponent) table.getClientProperty(type);
        if (realCell != null) {
            if (realCell.getParent() == table) {
                realCell.removeFocusListener((FocusListener)
                        realCell.getClientProperty(Key.TABLE_CELL_FOCUS_LISTENER));
                realCell.putClientProperty(Key.TABLE_CELL_FOCUS_LISTENER, null);
                Rectangle bounds = realCell.getBounds();
                table.remove(realCell);
                table.repaint(bounds);
            }
            table.putClientProperty(type, null);
        }
    }