public static void collectConflictsFromExtensions(@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);
  }
public static void collectConflictsFromExtensions(@NotNull final Ref<UsageInfo[]> refUsages,
                                                    final MultiMap<PsiElement, @DialogMessage String> conflictDescriptions,
                                                    final ChangeInfo changeInfo)