I was just using the same pattern as in PersistentCollection. Anyway, I think the LazyCollection on Doctrine common should really be needed, it would remove all the duplicated code :).