@Override
    public Component getListCellRendererComponent(JList list, JCheckBox checkbox, int index, boolean isSelected, boolean cellHasFocus) {
      Color textColor = getForeground(isSelected);
      Color backgroundColor = getBackground(isSelected);
      Font font = getFont();
      checkbox.setBackground(backgroundColor);
      checkbox.setForeground(textColor);
      checkbox.setEnabled(isEnabled() && isEnabled(index));
      checkbox.setFont(font);
      checkbox.setFocusPainted(false);
      checkbox.setBorderPainted(false);
      checkbox.setOpaque(true);
      String auxText = getSecondaryText(index);

      JComponent rootComponent;
      if (auxText != null) {
        JPanel panel = new JPanel(new BorderLayout());

        panel.add(checkbox, BorderLayout.LINE_START);

        JLabel infoLabel = new JLabel(auxText, SwingConstants.RIGHT);
        infoLabel.setBorder(JBUI.Borders.emptyRight(checkbox.getInsets().left));
        infoLabel.setFont(UIUtil.getFont(UIUtil.FontSize.SMALL, font));
        panel.add(infoLabel, BorderLayout.CENTER);

        panel.setBackground(backgroundColor);
        infoLabel.setForeground(isSelected ? textColor : JBColor.GRAY);
        infoLabel.setBackground(backgroundColor);

        rootComponent = panel;
      }
      else {
        rootComponent = checkbox;
      }

      rootComponent.setBorder(isSelected ? mySelectedBorder : myBorder);

      boolean isRollOver = checkbox.getModel().isRollover();
      rootComponent = adjustRendering(rootComponent, checkbox, index, isSelected, cellHasFocus);
      checkbox.getModel().setRollover(isRollOver);

      return rootComponent;
    }
@Override
    public Component getListCellRendererComponent(JList list, JCheckBox checkbox, int index, boolean isSelected, boolean cellHasFocus)