static @Nullable DfaCallArguments fromCall(DfaValueFactory factory, PsiCallExpression call) {
    PsiMethod method = call.resolveMethod();
    if (method == null) return null;
    PsiExpressionList argumentList = call.getArgumentList();
    if (argumentList == null) return null;
    DfaValue qualifierValue = null;
    if (call instanceof PsiMethodCallExpression) {
      PsiExpression qualifier = ((PsiMethodCallExpression)call).getMethodExpression().getQualifierExpression();
      qualifierValue = JavaDfaValueFactory.getExpressionDfaValue(factory, qualifier);
    }
    if (qualifierValue == null) {
      qualifierValue = factory.getUnknown();
    }
    boolean varArgCall = MethodCallUtils.isVarArgCall(call);
    PsiExpression[] args = argumentList.getExpressions();
    PsiParameterList parameterList = method.getParameterList();
    if (parameterList.isEmpty()) {
      return new DfaCallArguments(qualifierValue, DfaValue.EMPTY_ARRAY, MutationSignature.fromCall(call)); 
    }
    PsiParameter[] parameters = parameterList.getParameters();
    DfaValue[] argValues = new DfaValue[parameters.length];
    for (int i = 0; i < parameters.length; i++) {
      DfaValue argValue = null;
      if (i < args.length && (!varArgCall || i < parameters.length - 1)) {
        argValue = JavaDfaValueFactory.getExpressionDfaValue(factory, args[i]);
      }
      if (argValue == null) {
        argValue = factory.getUnknown();
      }
      argValues[i] = argValue;
    }
    return new DfaCallArguments(qualifierValue, argValues, MutationSignature.fromCall(call));
  }
static @Nullable DfaCallArguments fromCall(DfaValueFactory factory, PsiCallExpression call)