PsiPackage (PsiElement position) { PsiFile file = position.getContainingFile(); if (file == null) return null; PsiFile originalFile = file.getOriginalFile(); while (true) { PsiElement context = originalFile.getContext(); if (context == null) { PsiDirectory parent = originalFile.getParent(); if (parent != null) { return JavaDirectoryService.getInstance().getPackage(parent); } return null; } PsiFile containingFile = context.getContainingFile(); if (containingFile == null) return null; originalFile = containingFile.getOriginalFile(); } }