I take back the comment above -- you do claim co-ownership in your iterator class, which I hadn't seen yet