Description
There is a bug with the way parameters are swapped in and out of reusable parameterised messages, if there is a mixture of log statements using varargs and non-varargs overloads.
To reproduce, run the following and observe that the third log statement throws an exception.
logger.info("Test {}", new Object[]
{ 1 });
logger.info("Test {} {}", Unbox.box(1), Unbox.box(2));
logger.info("Test {} {}", Unbox.box(1), Unbox.box(2));