@Override
  public @NotNull CellAppearanceEx forSdk(@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();
  }
@Override
  public @NotNull CellAppearanceEx forSdk(@NotNull SdkTypeId sdkType,
                                          @NotNull String name,
                                          @Nullable String versionString,
                                          boolean hasValidPath,
                                          boolean isInComboBox,
                                          boolean selected)