As heard on programming projects everywhere:
In RefactoringWithComPlusTechnologies, the book's example contains a simple loop in each collection class that drops members from the collection when deletes have been confirmed. "Why go to all the bother, expense and risk of refactoring it into a common subroutine?" I heard, "It's so simple, only a handful lines, what could possibly go wrong?"
Well... The indexing of member numbers to delete is independent of the "for each" looping that checks their status flags... And it's WRONG! Yes, it deletes the wrong objects in some cases. And this bug exists in every business collection class in the entire system. It can hit every object where you might fetch more than one and delete some of them.
Ick!!! -- JeffGrigg
Reminds me of AlarmBellPhrase.