void (final RadComponent component, final ArrayList<Property> result) { if (component instanceof RadRootContainer){ addProperty(result, myClassToBindProperty); } else { if (!(component instanceof RadVSpacer || component instanceof RadHSpacer)){ addProperty(result, myBindingProperty); addProperty(result, CustomCreateProperty.getInstance(myProject)); } if(component instanceof RadContainer container){ if (container.getLayoutManager().getName() != null) { addProperty(result, myLayoutManagerProperty); } addProperty(result, myBorderProperty); final Property[] containerProperties = container.getLayoutManager().getContainerProperties(myProject); addApplicableProperties(containerProperties, container, result); } final RadContainer parent = component.getParent(); if (parent != null) { final Property[] properties = parent.getLayoutManager().getComponentProperties(myProject, component); addApplicableProperties(properties, component, result); } if (component.getDelegee() instanceof AbstractButton && !(component.getDelegee() instanceof JButton)) { addProperty(result, myButtonGroupProperty); } if (!(component instanceof RadVSpacer || component instanceof RadHSpacer)) { addProperty(result, ClientPropertiesProperty.getInstance(myProject)); } if (component.hasIntrospectedProperties()) { final Class componentClass = component.getComponentClass(); final IntrospectedProperty[] introspectedProperties = Palette.getInstance(myEditor.getProject()).getIntrospectedProperties(component); final Properties properties = Properties.getInstance(); for (final IntrospectedProperty property: introspectedProperties) { if (!property.appliesTo(component)) continue; if (!myShowExpertProperties && properties.isExpertProperty(component.getModule(), componentClass, property.getName()) && !isModifiedForSelection(property)) { continue; } addProperty(result, property); } } } }