Ahh, now I see how this works.  You are copying to the output parameter provisionally so you don't have to know whether this is the actual expected call that will be selected (if any is selected).  If it's not selected, it will get overwritten by a later actual call.

However... I don't think this will work.  I see two issues:
1) This will only copy to the first expectation in the list that has the specified output parameter.  If this expectation gets pruned later, the data will not actually be written to the matched expected output parameter!
2) We can address #1 by copying to every single matching output parameter, but this is not safe either.  We use a generic data access interface where a void * is provided and a data ID.  The type (and thus size of the data) provided as a void * is dependent upon the ID.  If we were to use this implementation, we would get data corruption because the output parameter could be matched before the data's ID.