Runnable (@NotNull final PsiElement element, @NotNull final String newName, @NotNull final RefactoringElementListener listener) { final Project project = element.getProject(); final PsiPackage psiPackage = (PsiPackage)element; final String newQualifiedName = PsiUtilCore.getQualifiedNameAfterRename(psiPackage.getQualifiedName(), newName); return () -> { final PsiPackage aPackage = JavaPsiFacade.getInstance(project).findPackage(newQualifiedName); if (aPackage == null) { return; //rename failed e.g. when the dir is used by another app } listener.elementRenamed(aPackage); }; }