CellAppearanceEx (@NotNull SdkTypeId sdkType, @NotNull String name, @Nullable String versionString, boolean hasValidPath, boolean isInComboBox, boolean selected) { CompositeAppearance appearance = new CompositeAppearance(); if (sdkType instanceof SdkType) { appearance.setIcon(((SdkType)sdkType).getIcon()); } SimpleTextAttributes attributes = getTextAttributes(hasValidPath, selected); CompositeAppearance.DequeEnd ending = appearance.getEnding(); ending.addText(StringUtil.shortenTextWithEllipsis(name, 50, 0), attributes); if (versionString != null && !versionString.equals(name) && !StringUtil.isEmptyOrSpaces(versionString)) { SimpleTextAttributes textAttributes = isInComboBox && !selected ? SimpleTextAttributes.SYNTHETIC_ATTRIBUTES : SystemInfo.isMac && selected ? new SimpleTextAttributes(STYLE_PLAIN, JBColor.WHITE) : GRAY_ATTRIBUTES; @NlsSafe String shortVersion = StringUtil.shortenTextWithEllipsis(versionString, 30, 0); ending.addComment(shortVersion, textAttributes); } return ending.getAppearance(); }