void (final Project project, final Editor editor, final PsiElement psiElement) { final PsiClass psiClass = psiElement instanceof PsiMethod ? ((PsiMethod) psiElement).getContainingClass() : (PsiClass) psiElement; PsiCall callToInline = findCallToInline(editor); final PsiClassType superType = InlineToAnonymousClassProcessor.getSuperType(psiClass); if (superType == null) { CommonRefactoringUtil.showErrorHint(project, editor, JavaBundle.message("class.not.found.error.message", CommonClassNames.JAVA_LANG_OBJECT), JavaRefactoringBundle.message("inline.to.anonymous.refactoring"), null); return; } final Ref<@Nls String> errorMessage = new Ref<>(); if (!ProgressManager.getInstance().runProcessWithProgressSynchronously( () -> ApplicationManager.getApplication().runReadAction( () -> errorMessage.set(getCannotInlineMessage((PsiClass)psiClass.getNavigationElement()))), JavaRefactoringBundle.message( "inline.conflicts.progress"), true, project)) return; if (errorMessage.get() != null) { CommonRefactoringUtil.showErrorHint(project, editor, errorMessage.get(), JavaRefactoringBundle.message("inline.to.anonymous.refactoring"), null); return; } new InlineToAnonymousClassDialog(project, psiClass, callToInline, canBeInvokedOnReference(callToInline, superType)).show(); }