Object (@NotNull DataProvider dataProvider) { final Navigatable navigatable = CommonDataKeys.NAVIGATABLE.getData(dataProvider); if (navigatable instanceof OpenFileDescriptor openFileDescriptor) { if (openFileDescriptor.getFile().isValid()) { return openFileDescriptor; } } final PsiElement element = CommonDataKeys.PSI_ELEMENT.getData(dataProvider); if (element instanceof Navigatable) { return element; } if (element != null) { return EditSourceUtil.getDescriptor(element); } final Object selection = PlatformCoreDataKeys.SELECTED_ITEM.getData(dataProvider); if (selection instanceof Navigatable) { return selection; } return null; }