public TableCellRenderer getCellRenderer(int row, int column) {
        if (row == 0 && column == 1) {
            return selectAllButtonRenderer;
        }
        TableCellRenderer tableCellRenderer = super
                .getCellRenderer(row, column);

        if (tableCellRenderer instanceof JLabel) {
            JLabel label = (JLabel) tableCellRenderer;
            if (row == 0) {
                label.setHorizontalAlignment(JLabel.CENTER);
            } else {
                label.setHorizontalAlignment(JLabel.LEFT);
            }
        } else if (tableCellRenderer instanceof JComponent) {
            JComponent label = (JComponent) tableCellRenderer;
            switch (column) {
                case 1:
                    label.setToolTipText(Resources.getInstance().getResourceString(
                            "attributes_visible_tooltip"));
                    break;
                case 2:
                    if (row == 0) {
                        label.setToolTipText(Resources.getInstance()
                                .getResourceString(
                                        "attributes_restricted_attributes_tooltip"));
                    } else {
                        label.setToolTipText(Resources.getInstance()
                                .getResourceString(
                                        "attributes_restricted_values_tooltip"));
                    }
                    break;
            }
        }
        return tableCellRenderer;
    }