@Override
    public Component getListCellRendererComponent(JList<?> list, Object value, int index, boolean selected, boolean hasFocus) {
      Component cmp = super.getListCellRendererComponent(list, value, index, selected, hasFocus);

      if (value instanceof BooleanOptionDescription) {
        final JPanel panel = new JPanel(new BorderLayout());
        panel.setBackground(UIUtil.getListBackground(selected, true));

        final OnOffButton button = new OnOffButton();
        button.setSelected(((BooleanOptionDescription)value).isOptionEnabled());

        panel.add(cmp, BorderLayout.CENTER);
        panel.add(button, BorderLayout.EAST);
        cmp = panel;
      }

      return cmp;
    }
@Override
    public Component getListCellRendererComponent(JList<?> list, Object value, int index, boolean selected, boolean hasFocus)