void (@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); }