List<PsiExpression> (PsiExpression @NotNull [] expressions, PsiSubstitutor substitutor, PsiParameter @NotNull [] parameters, boolean varargs) { List<PsiExpression> result = new ArrayList<>(); for (int i = 0; i < Math.max(parameters.length, expressions.length); i++) { if (parameters.length == 0 || !assignmentCompatible(i, parameters, expressions, substitutor, varargs)) { result.add(i < expressions.length ? expressions[i] : null); } } return result; }