varags creates an array, that is when we call
void x(int...x) {...}
..
x(1);
Compiler replaces last line with this:
x(new int[] {1});
It will not happen if we have an overloaded method with 1 arg:
void x(int...x) {...}
void x(int x) {...}
Then compiler will choose the second method.