Why are the varargs necessary?