@Override
        public Component getListCellRendererComponent(JList<? extends T> list, T value, int index, boolean isSelected, boolean cellHasFocus)
        {
            int i = getIndexFromData(list.getModel(), value);
            
            JLabel cell = new JLabel(entries.get(i), icons.get(i), SwingConstants.LEFT);
            
            if (index > -1) cell.setBorder(MARGIN);
            
            if (index > -1 && (isSelected || cellHasFocus))
            {
                cell.setOpaque(true);
                cell.setForeground(SELECTION_FOREGROUND);
                cell.setBackground(SELECTION_BACKGROUND);
            }
            else if (isGTK)
            {
                cell.setBackground(Color.WHITE);
            }
//            else
//            {
//                cell.setForeground(FOREGROUND);
//                cell.setBackground(BACKGROUND);
//            }
            
            if (isGTK && index == -1)
            {
                cell.setBorder(GTK_BORDER);
            }
            
            return cell;
        }