Create a new instance, set the test variable.
Answer whether the condition will block or not (boolean).
Wait until the condition is true and signalled. This only works in a Routine. This method yields a symbol (\hang), so that the clock doesn't reschedule the Routine.
Wait for value time, regardless of test. This only works in a Routine. This method yields a symbol (\hang), so that the clock doesn't reschedule the Routine.
If -test is true, reschedule blocked threads.
Resume threads.
Waiting for Synths to end (waitForFree) uses a Condition implicitly: