PsiPackage (PsiDirectory dir) { final VirtualFile file = dir.getVirtualFile(); for (VirtualFile root : myClasspath) { if (VfsUtilCore.isAncestor(root, file, false)) { String relativePath = FileUtil.getRelativePath(root.getPath(), file.getPath(), '/'); if (relativePath == null) continue; return new PsiPackageImpl(myPsiManager, relativePath.replace('/', '.')); } } return null; }