boolean (final GrPullUpDialog dialog) { /* todo */ List<GrMemberInfo> _infos = dialog.getSelectedMemberInfos(); final GrMemberInfo[] infos = _infos.toArray(new GrMemberInfo[0]); final PsiClass superClass = dialog.getSuperClass(); if (!checkWritable(superClass, infos)) return false; final MultiMap<PsiElement, String> conflicts = new MultiMap<>(); if (!ProgressManager.getInstance().runProcessWithProgressSynchronously(() -> ApplicationManager.getApplication().runReadAction(() -> { final PsiDirectory targetDirectory = superClass.getContainingFile().getContainingDirectory(); final PsiPackage targetPackage = targetDirectory != null ? JavaDirectoryService.getInstance().getPackage(targetDirectory) : null; conflicts.putAllValues(GrPullUpConflictsUtil.checkConflicts(infos, mySubclass, superClass, targetPackage, targetDirectory, dialog.getContainmentVerifier())); }), RefactoringBundle.message("detecting.possible.conflicts"), true, myProject)) { return false; } if (!conflicts.isEmpty()) { ConflictsDialog conflictsDialog = new ConflictsDialog(myProject, conflicts); conflictsDialog.show(); final boolean ok = conflictsDialog.isOK(); if (!ok && conflictsDialog.isShowConflicts()) dialog.close(DialogWrapper.CANCEL_EXIT_CODE); return ok; } return true; }