void () { if (myProject == null || myProject.isDisposed()) return; if (myCurrentPromotion != null) { remove(myCurrentPromotion); myCurrentPromotion = null; } List<JPanel> promotions = ContainerUtil.mapNotNull(TipAndTrickPromotionFactory.getEP_NAME().getExtensionList(), factory -> factory.createPromotionPanel(myProject, myCurrentTip)); if (!promotions.isEmpty()) { if (promotions.size() > 1) { LOG.warn("Found more than one promotion for tip " + myCurrentTip); } myCurrentPromotion = promotions.get(0); add(myCurrentPromotion, BorderLayout.NORTH); } }