JPanel (@NotNull ButtonGroup buttonGroup, @Nullable PluginId plugin) { final JPanel panel = new JPanel(new BorderLayout()); if (!myIsConflictWithPlatform) { assert myRadioButtons != null; final JBRadioButton radioButton = new JBRadioButton(); myRadioButtons.add(radioButton); buttonGroup.add(radioButton); radioButton.addChangeListener(e -> getOKAction().updateText()); panel.add(radioButton, BorderLayout.WEST); panel.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { radioButton.setSelected(true); } }); } final JPanel descriptionPanel; if (plugin != null) { descriptionPanel = getPluginDescriptionPanel(plugin, !myIsConflictWithPlatform); } else { descriptionPanel = getDisableAllPanel(); } descriptionPanel.setBorder(new JBEmptyBorder(10, myIsConflictWithPlatform ? 10 : 0, 10, 20)); panel.add(descriptionPanel, BorderLayout.CENTER); return panel; }