PsiElement (@NotNull final PsiElement psiElement) { final ProjectFileIndex index = ProjectRootManager.getInstance(psiElement.getProject()).getFileIndex(); final PsiFile containingFile = psiElement.getContainingFile(); if (containingFile != null) { final VirtualFile file = containingFile.getVirtualFile(); if (file != null && (index.isUnderSourceRootOfType(file, JavaModuleSourceRootTypes.SOURCES) || index.isInLibrary(file))) { if (psiElement instanceof PsiJavaFile psiJavaFile && psiJavaFile.getViewProvider().getBaseLanguage() == JavaLanguage.INSTANCE) { final PsiClass[] psiClasses = psiJavaFile.getClasses(); if (psiClasses.length == 1) { return psiClasses[0]; } } if (!UISettings.getInstance().getShowMembersInNavigationBar() && psiElement instanceof PsiClass) { return psiElement; } } if (!UISettings.getInstance().getShowMembersInNavigationBar()) { return containingFile; } } return psiElement; }