void (@NotNull final Ref<UsageInfo[]> refUsages, final MultiMap<PsiElement, @DialogMessage String> conflictDescriptions, final ChangeInfo changeInfo) { Computable<Boolean> computable = () -> { for (ChangeSignatureUsageProcessor usageProcessor : ChangeSignatureUsageProcessor.EP_NAME.getExtensions()) { final MultiMap<PsiElement, @DialogMessage String> conflicts = usageProcessor.findConflicts(changeInfo, refUsages); for (PsiElement key : conflicts.keySet()) { Collection<String> collection = conflictDescriptions.get(key); if (collection.isEmpty()) collection = new HashSet<>(); collection.addAll(conflicts.get(key)); conflictDescriptions.put(key, collection); } } return true; }; ActionUtil.underModalProgress(changeInfo.getMethod().getProject(), RefactoringBundle.message("detecting.possible.conflicts"), computable); }