private void doSetTip(@NotNull TipAndTrickBean tip, @NotNull List<? extends TextParagraph> tipContent) {
    saveCurrentTipLikenessState();
    myCurrentLikenessState = getLikenessState(tip);
    myFeedbackToolbar.updateActionsImmediately();
    myCurrentTip = tip;

    if (Registry.is("tips.of.the.day.show.group.label", false)) {
      String groupName = TipUtils.getGroupDisplayNameForTip(tip);
      mySubSystemLabel.setText(ObjectUtils.notNull(groupName, ""));
      mySubSystemLabel.setVisible(groupName != null);
    }
    else {
      mySubSystemLabel.setVisible(false);
    }

    myTextPane.setParagraphs(tipContent);
    adjustTextPaneBorder(tipContent);
    setPromotionForCurrentTip();
    setTopBorder();
    revalidate();
    repaint();

    TipsOfTheDayUsagesCollector.triggerTipShown(tip, myAlgorithm, myAlgorithmVersion);
    TipsUsageManager.getInstance().fireTipShown(myCurrentTip);

    myPreviousTipAction.setEnabled(myTips.indexOf(myCurrentTip) > 0);
    myNextTipAction.setEnabled(myTips.indexOf(myCurrentTip) < myTips.size() - 1);
    ClientProperty.put(this, CURRENT_TIP_KEY, myCurrentTip.fileName);
  }
private void doSetTip(@NotNull TipAndTrickBean tip, @NotNull List<? extends TextParagraph> tipContent)