Call activity – conceptual question regarding non-interrupting boundary events

Hello!

How to manage the process data for the individual cases of non-interrupting boundary events triggered from called process.

If called process would trigger by intermediate escalation throw event the boundary event several times how to manage the related process data in the calling process.

(like in Subprocess hosting Mitigate activity).

Seem that process variables (using in/out mapping) are only written to the scope of the process/subprocess hosting the Call Activity.

Same issue also for called process (only variables from the process main scope can be transferred to calling process it seems).

As a hack one might use global variable to transfer the data and then write to local in calling process but not sure if a race condition could risk data integrity.
Maybe Object process variable on global scope with a list that carries the data from the individual escalation instances.

I was wondering if there is a good method to deal with this scenario?

Thanks for comments and ideas.

Ingo