I looked into the patch and to me it looks very good. It was missing some of the mentioned functionality:
- condition on expression was not supported
- verifying number of transition for foreach activity - exactly one transition must be given
- troubles with evaluating expressions on child executions (wrong context)
- if no transition conditions evaluated to true no exception was reported but for each activity was simple ended - bit different to what was described in the first post
I have done required fixes and the patch can be found in jira. In addition I have added several test cases to check verify the implementation.
Comments are more than welcome.