private static DefaultMutableTreeNode getClickInfoNode(MouseEvent me, JComponent component) {
      if (component instanceof UiInspectorPreciseContextProvider contextProvider) {
        MouseEvent componentEvent = MouseEventAdapter.convert(me, component);
        UiInspectorPreciseContextProvider.UiInspectorInfo inspectorInfo = contextProvider.getUiInspectorContext(componentEvent);
        if (inspectorInfo != null) {
          String name = ObjectUtils.chooseNotNull(inspectorInfo.name(), "Click Info");
          HierarchyTree.ComponentNode node = HierarchyTree.ComponentNode.createNamedNode(name, inspectorInfo.component());
          if (inspectorInfo.component() != null) inspectorInfo.component().doLayout();
          node.setUserObject(inspectorInfo.values());
          return node;
        }
      }

      Pair<List<PropertyBean>, @NotNull Component> clickInfo = getClickInfo(me, component);
      if (clickInfo != null) {
        //We present clicked renderer as ComponentNode instead of ClickInfoNode to see inner structure of renderer
        HierarchyTree.ComponentNode node = HierarchyTree.ComponentNode.createComponentNode(clickInfo.second);
        clickInfo.second.doLayout();
        node.setUserObject(clickInfo.first);
        return node;
      }
      return null;
    }
private static DefaultMutableTreeNode getClickInfoNode(MouseEvent me, JComponent component)