I'm getting this false warning a lot in PHPUnit projects.

The declaration in PHPUnit may or may not be entirely correct, I'm not actually sure?

Interestingly, there's a similar method right next to it, which appears to be more precisely annotated:

However, I get the same warnings for both methods.
So it appears there's something wrong with the way you're handling spreads - the argument list (after any preceding non-rest arguments) should be checked as though they were passed as an array... and probably regardless of whether a param-annotation uses the ... syntax or not, since either way, it's specifying the array type.