void (@NotNull ListPopup popup, @NotNull AnActionEvent event, @NotNull DataContext dataContext) { if (event.getInputEvent() instanceof MouseEvent) { if (!event.getPlace().equals(ActionPlaces.UPDATE_POPUP)) { popup.show(new RelativePoint((MouseEvent)event.getInputEvent())); } else { // quick fix for invoking from the context menu: coordinates are calculated incorrectly there. popup.showInBestPositionFor(dataContext); } } else { popup.showInBestPositionFor(dataContext); } }