def reply(workitem)
where = attribute(:where, workitem)
return if where && Condition.false?(where)
wi = h.applied_workitem.dup
if h.lmerge == 'true'
wi['fields'].merge!(workitem['fields'])
elsif h.lmerge == 'override'
wi['fields'] = workitem['fields']
end
if tree_children.any?
i, t = if tree_children.size == 1
[ "#{h.fei['expid']}_0", tree_children[0] ]
else
[ h.fei['expid'], [ 'sequence', {}, tree_children ] ]
end
launch_sub(i, t, :forget => true, :workitem => wi)
else
reply_to_parent(wi)
end
end