When you have a condition activity in a Workflow, say after a merge
following two approval processes in parellel, the test the sample
template uses is something like:

(approval_A.getAction()).equals("DENIED") ||

So that is pretty easy, if either approval is Denied, then the condition
is true.

The question I have is, does it wait? I.e. Does it wait until both are
completed? Or does the first one in trigger the condition?

So in the case above, if approval_A finishes in 1 minute, and 10 minutes
later approval_B finishes, when does the condition get evaluated?

After the first completion? Then again after the second? Or only after
the second is finished? Section 8.6 of the Design guide does not offer
any hints at all.

Or is it the Merge that does the holding of state until all branches
report in?