private static PsiDirectory[] suggestMostAppropriateDirectories(PsiPackage psiPackage) { final Project project = psiPackage.getProject(); PsiDirectory[] directories = null; final Editor editor = FileEditorManager.getInstance(project).getSelectedTextEditor(); if (editor != null) { final Document document = editor.getDocument(); final PsiFile psiFile = PsiDocumentManager.getInstance(project).getPsiFile(document); if (psiFile != null) { final Module module = ModuleUtil.findModuleForPsiElement(psiFile); if (module != null) { directories = psiPackage.getDirectories(GlobalSearchScope.moduleWithDependenciesScope(module)); } else { directories = psiPackage.getDirectories( GlobalSearchScope.notScope(GlobalSearchScope.projectScope(project))); } } } if (directories == null || directories.length == 0) { directories = psiPackage.getDirectories(); } return directories; }