oslc bug fix for initializing array elements inside a param that's a struct

Went the wrong way down an 'if', needed one more test to make sure this corner
case got directed to the right place where it should be handled.

I've also added a regression test that covers it.