@Override
  protected void perform(XValueNodeImpl node, @NotNull String nodeName, AnActionEvent e) {
    XReferrersProvider referrersProvider = node.getValueContainer().getReferrersProvider();
    if (referrersProvider != null) {
      XDebuggerTree tree = node.getTree();
      XDebugSession session = DebuggerUIUtil.getSession(e);
      if (session != null) {
        XValue referringObjectsRoot = referrersProvider.getReferringObjectsValue();
        DialogWrapper dialog;
        if (referringObjectsRoot instanceof ReferrersTreeCustomizer referrersTreeCustomizer) {
          dialog = referrersTreeCustomizer.getDialog(tree, nodeName, session);
        }
        else {
          dialog = new XInspectDialog(tree.getProject(),
                                      tree.getEditorsProvider(),
                                      tree.getSourcePosition(),
                                      nodeName,
                                      referringObjectsRoot,
                                      tree.getValueMarkers(), session, false);
          dialog.setTitle(XDebuggerBundle.message("showReferring.dialog.title", nodeName));
        }
        dialog.show();
      }
    }
  }
@Override
  protected void perform(XValueNodeImpl node, @NotNull String nodeName, AnActionEvent e)