boolean () { PsiFileSystemItem[] items; if (myElement instanceof PsiDirectory) { final PsiPackage aPackage = JavaDirectoryService.getInstance().getPackage((PsiDirectory)myElement); if (aPackage == null) return false; items = aPackage.getDirectories(GlobalSearchScope.everythingScope(myProject)); } else if (myElement instanceof PsiPackage pkg) { items = pkg.getDirectories(GlobalSearchScope.everythingScope(myProject)); } else { if (myElement == null || myElement.getNavigationElement() == null) return false; PsiFile containingFile = myElement.getNavigationElement().getContainingFile(); if (containingFile == null) return false; items = new PsiFileSystemItem[]{containingFile}; } ProjectFileIndex projectFileIndex = ProjectFileIndex.getInstance(myProject); for (PsiFileSystemItem item : items) { VirtualFile file = item.getVirtualFile(); if (file != null && projectFileIndex.isInSource(file)) return true; } return false; }