void (Project project, PsiElement[] elements, PsiElement targetContainer, MoveCallback callback) { final PsiElement[] adjustedElements = MoveClassesOrPackagesImpl.adjustForMove(project, elements, targetContainer); if (adjustedElements == null) return; if (targetContainer instanceof PsiDirectory) { if (CommonRefactoringUtil.checkReadOnlyStatusRecursively(project, Arrays.asList(adjustedElements), true)) { if (!packageHasMultipleDirectoriesInModule(project, (PsiDirectory)targetContainer)) { createMoveClassesOrPackagesToNewDirectoryDialog((PsiDirectory)targetContainer, adjustedElements, callback).show(); return; } } } doMoveWithMoveClassesDialog(project, adjustedElements, targetContainer, callback); }