@Override
    public void actionPerformed(@NotNull AnActionEvent e) {
      var inputEvent = e.getInputEvent();
      var list = e.getData(FRAMES_LIST);
      if (inputEvent == null || list == null) {
        return;
      }
      var index = -1;
      var event = ObjectUtils.tryCast(inputEvent, MouseEvent.class);
      if (event != null) {
        if (UIUtil.isActionClick(event, MouseEvent.MOUSE_PRESSED) && XDebuggerFrameListMouseListener.getResetIconHovered(list)) {
          index = XDebuggerFrameListMouseListener.getHoveredIndex(list);
        }
      }
      else {
        index = list.getSelectedIndex();
      }
      var model = list.getModel();
      if (index >= 0 && index < model.getSize()) {
        var handler = findDropFrameHandler(list);
        var frame = ObjectUtils.tryCast(model.getElementAt(index), XStackFrame.class);
        if (frame != null && handler != null && handler.canDrop(frame)) {
          handler.drop(frame);
          inputEvent.consume();
        }
      }
    }
@Override
    public void actionPerformed(@NotNull AnActionEvent e)