boolean (@NotNull VirtualFile file) { VirtualFile dir = file.isDirectory() ? file : file.getParent(); if (!myIncludeSubpackages) { if (myDirs.contains(dir)) return true; } else { while (dir != null) { if (myDirs.contains(dir)) return true; dir = dir.getParent(); } } if (myPartOfPackagePrefix && myIncludeSubpackages) { final PsiFile psiFile = myPackage.getManager().findFile(file); if (psiFile instanceof PsiClassOwner) { final String packageName = ((PsiClassOwner)psiFile).getPackageName(); if (myPackageQualifiedName.equals(packageName) || packageName.startsWith(myPackageQNamePrefix)) { return true; } } } return false; }