boolean (@NotNull Ref<UsageInfo[]> refUsages) { final UsageInfo[] usageInfos = refUsages.get(); MultiMap<PsiElement, @DialogMessage String> conflicts = new MultiMap<>(); myDelegate.collectConflicts(conflicts, usageInfos, myMethod, myClassDescriptor); List<UsageInfo> changeSignatureUsages = new ArrayList<>(); Set<PsiFile> filesWithUsages = new HashSet<>(); for (UsageInfo usageInfo : usageInfos) { if (usageInfo instanceof ChangeSignatureUsageWrapper) { final UsageInfo info = ((ChangeSignatureUsageWrapper)usageInfo).getInfo(); final PsiElement element = info.getElement(); if (element != null && IntroduceParameterObjectDelegate.findDelegate(element) == null) { final PsiFile containingFile = element.getContainingFile(); if (filesWithUsages.add(containingFile)) { String message = RefactoringBundle.message("dialog.message.method.overridden.in.language.that.doesn.t.support.this.refactoring", RefactoringUIUtil.getDescription(myMethod, false), element.getLanguage().getDisplayName()); conflicts.putValue(element, StringUtil.capitalize(message)); } } changeSignatureUsages.add(info); } else if (usageInfo instanceof FixableUsageInfo) { final String conflictMessage = ((FixableUsageInfo)usageInfo).getConflictMessage(); if (conflictMessage != null) { conflicts.putValue(usageInfo.getElement(), conflictMessage); } } } ChangeSignatureProcessorBase.collectConflictsFromExtensions( new Ref<>(changeSignatureUsages.toArray(UsageInfo.EMPTY_ARRAY)), conflicts, myChangeInfo); return showConflicts(conflicts, usageInfos); }