According to this source code for the Arrays class, the method asList passes an array to the constructor of new ArrayList. But there is no such constructor. Doesn't varargs generate an array, so how is this possible?