void () { ProgressManager.getInstance().runProcessWithProgressSynchronously(() -> ApplicationManager.getApplication().runReadAction(() -> { if (!myTargetSuperClass.isValid()) return; final Query<PsiClass> search = ClassInheritorsSearch.search(myTargetSuperClass); final Set<VirtualFile> hierarchyFiles = new HashSet<>(); for (PsiClass aClass : search) { final PsiFile containingFile = aClass.getContainingFile(); if (containingFile != null) { final VirtualFile virtualFile = containingFile.getVirtualFile(); if (virtualFile != null) { hierarchyFiles.add(virtualFile); } } } final Set<PsiMember> methodsToSearchDuplicates = new HashSet<>(); for (PsiMember psiMember : myMembersAfterMove) { if (psiMember instanceof PsiMethod && psiMember.isValid() && ((PsiMethod)psiMember).getBody() != null) { methodsToSearchDuplicates.add(psiMember); } } MethodDuplicatesHandler.invokeOnScope(myProject, methodsToSearchDuplicates, new AnalysisScope(myProject, hierarchyFiles), true); }), MethodDuplicatesHandler.getRefactoringName(), true, myProject); }