In r1086760, I committed a change to OMElementWrapperHandler.getChildren so that it could handle unwrapping a wrapper with "missing" children, i.e. children with schema def of minOccurs="0" which aren't present as a child of the wrapper.
The code we had would, after not finding a child of given QName, group the wrapper children into like-QName-elements and then allow indexing into this list of groups.
This would prevent the next wrapper child from matching normally in the minOccurs="0" case, so I removed that logic.
However, now I've broken our handling of schema-invalid payloads, as seen in the module:
Will have to think about how to handle both cases.
I don't recall us talking about it in awhile, but I think the handling of XSD-invalid data is a significant feature of Tuscany that we should try not to break.