JComponent () { if (rootComponent == null) { if (root == null) { root = createRootUi(); } buildConfigurables(); if (isChildrenMerged()) { if (root == null) { rootComponent = children[0].createComponent(); } else { JPanel panel = new JPanel(new VerticalFlowLayout(0, 0)); if (root != null) { JComponent c = root.getComponent(); c.setBorder(MergedCompositeConfigurable.BOTTOM_INSETS); panel.add(c); } for (Configurable configurable : children) { JComponent component = configurable.createComponent(); if (component != null) { if (children[0] != configurable || !MergedCompositeConfigurable.isTargetedToProduct(configurable)) { component.setBorder(IdeBorderFactory.createTitledBorder(configurable.getDisplayName(), false)); } panel.add(component); } } rootComponent = panel; } } else { rootComponent = root == null ? null : root.getComponent(); } } return rootComponent; }