void (@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(); } } }