private void collectProperties(@NotNull Component component) {
    addProperties("", component, PROPERTIES);

    myProperties.add(new PropertyBean("baseline", component.getBaseline(component.getWidth(), component.getHeight())));

    Pair<String, String> addedAt = getAddedAtStacktrace(component);
    myProperties.add(new PropertyBean(addedAt.first, addedAt.second, addedAt.second != null));

    // Add properties related to Accessibility support. This is useful for manually
    // inspecting what kind (if any) of accessibility support components expose.
    boolean isAccessible = component instanceof Accessible;
    myProperties.add(new PropertyBean("accessible", isAccessible));
    AccessibleContext context = component.getAccessibleContext();
    myProperties.add(new PropertyBean("accessibleContext", context));
    if (isAccessible) {
      addProperties("  ", component.getAccessibleContext(), ACCESSIBLE_CONTEXT_PROPERTIES);
    }

    if (component instanceof Container) {
      addLayoutProperties((Container)component);
    }
    if (component instanceof TextPanel.WithIconAndArrows) {
      myProperties.add(new PropertyBean("icon", ((TextPanel.WithIconAndArrows)component).getIcon()));
    }
    if (component.getParent() != null) {
      LayoutManager layout = component.getParent().getLayout();
      if (layout instanceof com.intellij.ui.layout.migLayout.patched.MigLayout) {
        CC cc = ((com.intellij.ui.layout.migLayout.patched.MigLayout)layout).getComponentConstraints().get(component);
        if (cc != null) {
          addMigLayoutComponentConstraints(cc);
        }
      }
      else if (layout instanceof com.intellij.ui.dsl.gridLayout.GridLayout && component instanceof JComponent) {
        addGridLayoutComponentConstraints(
          Objects.requireNonNull(((com.intellij.ui.dsl.gridLayout.GridLayout)layout).getConstraints((JComponent)component)));
      }
    }

    if (component instanceof ComponentWithEmptyText) {
      String emptyText = ((ComponentWithEmptyText)component).getEmptyText().toString();
      if (!emptyText.isEmpty()) {
        myProperties.add(new PropertyBean("EmptyText", emptyText));
      }
    }
    if (component instanceof EditorComponentImpl editorComponent) {
      CharSequence placeholder = editorComponent.getEditor().getPlaceholder();
      if (placeholder != null && !placeholder.isEmpty()) {
        myProperties.add(new PropertyBean("Editor Placeholder", placeholder));
      }
    }
  }
private void collectProperties(@NotNull Component component)