docs: private void storeCollections(Object obj, ClassDescriptor cld, boolean insert) throws PersistenceBrokerException
      {
          // get all members of obj that are collections and store all their elements
          Collection listCods = cld.getCollectionDescriptors();
          // return if nothing to do
          if (listCods.size() == 0)
          {
              return;
          }
          Iterator i = listCods.iterator();
          while (i.hasNext())
          {
              CollectionDescriptor cod = (CollectionDescriptor) i.next();
  
              // if CASCADE_NONE was set, do nothing with referenced objects
              if (cod.getCascadingStore() != ObjectReferenceDescriptor.CASCADE_NONE)
              {
                  Object referencedObjects = cod.getPersistentField().get(obj);
                  if (cod.isMtoNRelation())
                  {
                      storeAndLinkMtoN(false, obj, cod, referencedObjects, insert);
                  }
                  else
                  {
                      storeAndLinkOneToMany(false, obj, cod, referencedObjects, insert);
                  }
  
                  // BRJ: only when auto-update = object (CASCADE_OBJECT)
                  //
                  if ((cod.getCascadingStore() == ObjectReferenceDescriptor.CASCADE_OBJECT)
                          && (referencedObjects instanceof ManageableCollection))
                  {
                      ((ManageableCollection) referencedObjects).afterStore(this);
                  }
              }
          }
      }