@Override
  public Component getListCellRendererComponent(JList<? extends T> list, T value, int index, boolean isSelected, boolean cellHasFocus) {
    myPanel.removeAll();
    myLeftText = null;
    myRightText = null;
    myIcon = null;
    myRightForeground = null;
    customize(value);
    Component left = myLeftRenderer.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
    Component right = myRightRenderer.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
    if (!isSelected) {
      left.setForeground(myLeftForeground);
      right.setForeground(myRightForeground);
    }
    myPanel.add(left, BorderLayout.CENTER);
    myPanel.add(right, BorderLayout.EAST);
    return myPanel;
  }
@Override
  public Component getListCellRendererComponent(JList<? extends T> list, T value, int index, boolean isSelected, boolean cellHasFocus)