If there is no total 'idle' state, it does not matter.
I mean ... if each object for sure has state A, B, or C, needing actions for each state.
If you really want to squeeze out the last possible iteration, then use Browser object to log an (local variable) iteration counter.
But, watch the logic. The 'foreach char' is not always needed, when things are not personal.
Example.
foreach char < ------- unnecessary
state = A (is dead)
____destroy
state = A (is dead)
foreach char < ------- unnecessary
__destroy