Primitive widening uses the "smallest" method argument possible.
Used individually, boxing and var-args are compatible with overloading.
You CANNOT widen from one wrapper type to another. (IS-A fails.)
You CANNOT widen and then box. (An int can't become a Long.)
You can box and then widen. (An int can become an Object, via Integer.)
You can combine var-args with either widening or boxing.
8.10.Boxing Unboxing
8.10.1.
Rules for overloading methods using widening, boxing, and var-args