/** @see CollectionValueModelWrapper#engageModel() */
 protected void engageModel() {
   super.engageModel();
   // synch our cache *after* we start listening to the wrapped collection,
   // since its value might change when a listener is added;
   // the following will trigger the firing of a number of unnecessary events
   // (since we don't have any listeners yet),
   // but it reduces the amount of duplicate code
   this.addComponentSources((Iterator) this.collectionHolder.getValue());
 }