> That would work fine as long as the invariant is maintained accurately.
> However, there are at least two cases where the existing code fails to
> maintain the invariant:
Hmm. Didn't catch that during development.
> Thoughts?
Give me some time to play around it. Will think.
--
Teodor Sigaev E-mail: teodor(at)sigaev(dot)ru
WWW: http://www.sigaev.ru/