private static void registerMethodCallIntentions(@NotNull HighlightInfo.Builder builder,
                                                   @NotNull PsiMethodCallExpression methodCall,
                                                   @NotNull PsiExpressionList list,
                                                   @NotNull PsiResolveHelper resolveHelper) {
    TextRange fixRange = getFixRange(methodCall);
    PsiExpression qualifierExpression = methodCall.getMethodExpression().getQualifierExpression();
    if (qualifierExpression instanceof PsiReferenceExpression) {
      PsiElement resolve = ((PsiReferenceExpression)qualifierExpression).resolve();
      if (resolve instanceof PsiClass &&
          ((PsiClass)resolve).getContainingClass() != null &&
          !((PsiClass)resolve).hasModifierProperty(PsiModifier.STATIC)) {
        QuickFixAction.registerQuickFixActions(builder, fixRange, JvmElementActionFactories.createModifierActions((PsiClass)resolve,
                                                                                                                  MemberRequestsKt.modifierRequest(
                                                                                                                    JvmModifier.STATIC,
                                                                                                                    true)));
      }
    }
    else if (qualifierExpression instanceof PsiSuperExpression && ((PsiSuperExpression)qualifierExpression).getQualifier() == null) {
      QualifySuperArgumentFix.registerQuickFixAction((PsiSuperExpression)qualifierExpression, builder);
    }

    CandidateInfo[] methodCandidates = resolveHelper.getReferencedMethodCandidates(methodCall, false);
    IntentionAction action2 = QuickFixFactory.getInstance().createSurroundWithArrayFix(methodCall, null);
    builder.registerFix(action2, null, null, fixRange, null);

    CastMethodArgumentFix.REGISTRAR.registerCastActions(methodCandidates, methodCall, builder, fixRange);
    AddTypeArgumentsFix.REGISTRAR.registerCastActions(methodCandidates, methodCall, builder, fixRange);

    CandidateInfo[] candidates = resolveHelper.getReferencedMethodCandidates(methodCall, true);
    ChangeStringLiteralToCharInMethodCallFix.registerFixes(candidates, methodCall, builder, fixRange);

    WrapWithAdapterMethodCallFix.registerCastActions(methodCandidates, methodCall, builder, fixRange);
    IntentionAction action1 = QuickFixFactory.getInstance().createReplaceAddAllArrayToCollectionFix(methodCall);
    builder.registerFix(action1, null, null, fixRange, null);
    WrapObjectWithOptionalOfNullableFix.REGISTAR.registerCastActions(methodCandidates, methodCall, builder, fixRange);
    MethodReturnFixFactory.INSTANCE.registerCastActions(methodCandidates, methodCall, builder, fixRange);
    WrapExpressionFix.registerWrapAction(methodCandidates, list.getExpressions(), builder, fixRange);
    QualifyThisArgumentFix.registerQuickFixAction(methodCandidates, methodCall, builder, fixRange);
    registerMethodAccessLevelIntentions(methodCandidates, methodCall, list, builder, fixRange);

    if (!PermuteArgumentsFix.registerFix(builder, methodCall, methodCandidates, fixRange) &&
        !MoveParenthesisFix.registerFix(builder, methodCall, methodCandidates, fixRange)) {
      registerChangeMethodSignatureFromUsageIntentions(methodCandidates, list, builder, fixRange);
    }

    for (IntentionAction action : QuickFixFactory.getInstance().getVariableTypeFromCallFixes(methodCall, list)) {
      builder.registerFix(action, null, null, fixRange, null);
    }

    if (methodCandidates.length == 0) {
      registerStaticMethodQualifierFixes(methodCall, builder);
    }

    registerThisSuperFixes(methodCall, builder, fixRange);
    registerUsageFixes(methodCall, builder, fixRange);

    RemoveRedundantArgumentsFix.registerIntentions(methodCandidates, list, builder, fixRange);
    registerChangeParameterClassFix(methodCall, list, builder, fixRange);
  }
private static void registerMethodCallIntentions(@NotNull HighlightInfo.Builder builder,
                                                   @NotNull PsiMethodCallExpression methodCall,
                                                   @NotNull PsiExpressionList list,
                                                   @NotNull PsiResolveHelper resolveHelper)