@Override
  public Object getData(@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;
  }
@Override
  public Object getData(@NotNull DataProvider dataProvider)