void () { IdeaPluginDescriptor plugin = getDescriptorForActions(); List<? extends HtmlChunk> errors = myOnlyUpdateMode ? List.of() : myPluginModel.getErrors(plugin); boolean hasErrors = !errors.isEmpty(); updateIcon(hasErrors, myPluginModel.isUninstalled(plugin) || !isEnabledState() || !myIsAvailable); if (myAlignButton != null) { myAlignButton.setVisible(myRestartButton != null || myAfterUpdate); } if (hasErrors) { boolean addListeners = myErrorComponent == null && myEventHandler != null; if (myErrorPanel == null) { myErrorPanel = new NonOpaquePanel(); myLayout.addLineComponent(myErrorPanel); } if (myErrorComponent == null) { myErrorComponent = new ErrorComponent(); myErrorComponent.setBorder(JBUI.Borders.emptyTop(5)); myErrorPanel.add(myErrorComponent, BorderLayout.CENTER); } myErrorComponent.setErrors(errors, () -> myPluginModel.enableRequiredPlugins(plugin)); if (addListeners) { myEventHandler.addAll(myErrorPanel); } } else if (myErrorPanel != null) { myLayout.removeLineComponent(myErrorPanel); myErrorPanel = null; myErrorComponent = null; } if (myLicensePanel != null) { myLicensePanel.setVisible(!hasErrors); } if (myUpdateLicensePanel != null) { myUpdateLicensePanel.setVisible(!hasErrors); } }