void () { RecentsManager.getInstance(myProject).registerRecentEntry(RECENT_KEYS, myTargetDirectoryField.getChildComponent().getText()); if (!isDumb) { RefactoringSettings.getInstance().MOVE_SEARCH_FOR_REFERENCES_FOR_FILE = myCbSearchForReferences.isSelected(); } CommandProcessor.getInstance().executeCommand(myProject, () -> { String directoryName = myTargetDirectoryField.getChildComponent().getText().replace(File.separatorChar, '/'); PsiDirectory directory = DirectoryUtil.findLongestExistingDirectory(PsiManager.getInstance(myProject), directoryName); PsiDirectory targetDirectory = directory == null || !CommonRefactoringUtil.checkReadOnlyStatus(myProject, Collections.singletonList(directory), false) ? null : ApplicationManager.getApplication().runWriteAction((Computable<PsiDirectory>)() -> { try { return DirectoryUtil.mkdirs(PsiManager.getInstance(myProject), directoryName); } catch (IncorrectOperationException ignored) { return null; } }); if (targetDirectory == null) { CommonRefactoringUtil.showErrorMessage(getTitle(), RefactoringBundle.message("cannot.create.directory"), getHelpId(), myProject); } else { performMove(targetDirectory); } }, RefactoringBundle.message("move.title"), null); }