untilIdentityChanges

Anything inside this block will only run while the identity of the current state remains the same. The identity is determined by the given function and uses equals for the comparison.

When the identity changes anything currently running in the block is cancelled. Afterwards a the blocks are started again for the new identity.