Passing a List in as varargs [duplicate]

Just pass things.toArray(new Thing[things.size()]).


The variadic argument is internally interpreted as an array. So you should convert it into an array beforehands. Also in your doIt method you should access things-s elements with array indexing.