private function handleCollections($document, $options)
{
// Collection deletions (deletions of complete collections)
foreach ($this->uow->getScheduledCollections($document) as $coll) {
if ($this->uow->isCollectionScheduledForDeletion($coll)) {
$this->cp->delete($coll, $options);
}
}
// Collection updates (deleteRows, updateRows, insertRows)
foreach ($this->uow->getScheduledCollections($document) as $coll) {
if ($this->uow->isCollectionScheduledForUpdate($coll)) {
$this->cp->update($coll, $options);
}
}
// Take new snapshots from visited collections
foreach ($this->uow->getVisitedCollections($document) as $coll) {
$coll->takeSnapshot();
}
}