void (JList list, Object value, boolean isSelected) { MoreAction more = getSpecificAction(value, MoreAction.class); if (more != null) { myTextLabel.setForeground(JBColor.gray); } super.customizeComponent(list, value, isSelected); if (mySeparatorComponent.isVisible()) { boolean hideLineAboveCaption = !ExperimentalUI.isNewUI() && StringUtil.isNotEmpty(mySeparatorComponent.getCaption()); ((GroupHeaderSeparator)mySeparatorComponent).setHideLine(myCurrentIndex == 0 || hideLineAboveCaption); } CustomIconProvider actionWithIconProvider = getSpecificAction(value, CustomIconProvider.class); myTextLabel.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); myTextLabel.setIcon(actionWithIconProvider != null ? actionWithIconProvider.getRightIcon() : null); PopupElementWithAdditionalInfo additionalInfoAction = getSpecificAction(value, PopupElementWithAdditionalInfo.class); updateInfoComponent(myInfoLabel, additionalInfoAction != null ? additionalInfoAction.getInfoText() : null, isSelected); }