@Override
    public @NotNull List<PropertyBean> getUiInspectorContext(@NotNull JTree tree, @Nullable Object value, int row) {
      MyNode node = extractNode(value);
      if (node == null) return Collections.emptyList();

      Configurable wrapper = node.myConfigurable;
      UnnamedConfigurable configurable = ConfigurableWrapper.cast(UnnamedConfigurable.class, wrapper);
      if (configurable == null) return Collections.emptyList();

      List<PropertyBean> result = new ArrayList<>();
      result.add(new PropertyBean("Configurable class", UiInspectorUtil.getClassPresentation(configurable), true));

      if (wrapper instanceof SearchableConfigurable searchableConfigurable) {
        String configurableId = searchableConfigurable.getId();
        result.add(new PropertyBean("Configurable ID", configurableId, true));
        if (configurableId.startsWith(ConfigurableExtensionPointUtil.CONFIGURABLE_ID_PREFIX)) {
          String realConfigurableId = configurableId.substring(ConfigurableExtensionPointUtil.CONFIGURABLE_ID_PREFIX.length());
          result.add(new PropertyBean("Configurable ID (groupId)", realConfigurableId, true));
        }
      }
      if (wrapper.getHelpTopic() != null) {
        result.add(new PropertyBean("Configurable HelpTopic", wrapper.getHelpTopic(), true));
      }
      if (wrapper instanceof Weighted weightedConfigurable && weightedConfigurable.getWeight() != 0) {
        result.add(new PropertyBean("Configurable Weight", weightedConfigurable.getWeight(), true));
      }
      if (wrapper instanceof ConfigurableMarkerProvider markerProvider && markerProvider.getMarkerText() != null) {
        result.add(new PropertyBean("Configurable Marker", markerProvider.getMarkerText(), true));
      }

      return result;
    }
@Override
    public @NotNull List<PropertyBean> getUiInspectorContext(@NotNull JTree tree, @Nullable Object value, int row)