@Named doesn't seem to do its job, and parameter ordering in the method declaration seems to confuse the assignment code. For instance:
"Given a $var1 with $var2 and $var3"
void testVars(@Named("var3") String var3, @Named("var1") String var1, @Named("var2") String var2)
When executing testVars, it assigns var3=$var3, var1=$var1, but var2=$var3
Clearly, the correct assignment is var2=$var2