@Override
  public void findConflicts(IntroduceParameterData data, UsageInfo[] usages, final MultiMap<PsiElement, @Nls String> conflicts) {
    final PsiMethod method = data.getMethodToReplaceIn();
    final int parametersCount = method.getParameterList().getParametersCount();
    for (UsageInfo usage : usages) {
      final PsiElement element = usage.getElement();
      if (element instanceof PsiMethodReferenceExpression && !ApplicationManager.getApplication().isUnitTestMode()) {
        conflicts.putValue(element, JavaRefactoringBundle.message("expand.method.reference.warning"));
      }
      if (!isMethodUsage(usage)) continue;
      final PsiCall call = RefactoringUtil.getCallExpressionByMethodReference(element);
      final PsiExpressionList argList = call != null ? call.getArgumentList() : null;
      if (argList != null) {
        final int actualParamLength = argList.getExpressionCount();
        if ((method.isVarArgs() && actualParamLength + 1 < parametersCount) ||
            (!method.isVarArgs() && actualParamLength < parametersCount)) {
          conflicts.putValue(call, RefactoringBundle.message("refactoring.introduce.parameter.incomplete.call.less.params",
                                                             call.getText(), parametersCount, actualParamLength));
        }
        data.getParameterListToRemove().forEach((IntConsumer)paramNum -> {
          if (paramNum >= actualParamLength) {
            conflicts.putValue(call, RefactoringBundle.message("refactoring.introduce.parameter.incomplete.call.param.not.found",
                                                                   call.getText(), paramNum, actualParamLength));
          }
        });
      }
    }
  }
@Override
  public void findConflicts(IntroduceParameterData data, UsageInfo[] usages, final MultiMap<PsiElement, @Nls String> conflicts)