@Contract(pure = true)
  public static boolean isVarArgCall(PsiCall call) {
    JavaResolveResult result = call.resolveMethodGenerics();
    PsiMethod method = tryCast(result.getElement(), PsiMethod.class);
    if(method == null || !method.isVarArgs()) return false;
    PsiSubstitutor substitutor = result.getSubstitutor();
    PsiExpressionList argumentList = call.getArgumentList();
    return argumentList != null &&
           MethodCallInstruction
             .isVarArgCall(method, substitutor, argumentList.getExpressions(), method.getParameterList().getParameters());
  }
@Contract(pure = true)
  public static boolean isVarArgCall(PsiCall call)