Sometimes you need to keep track of what was added and what was removed
from a collection, and that is what we created TrackingCollection for.
Additionally, since we were implementing lazy-loading of collections of
persistent objects, we introduced a CollectionLoader that is used by the
TrackingCollection when it has to access all of its elements. It is
still possible however to use the TrackingCollection without a loader,
and it will simply start empty and be considered loaded.
Sherpa Solutions is offering the Apache Software Foundation the
attached source code, to be distributed by the projet under the
Apache License terms.