public function remove($key)
{
$this->initialize();
$removed = $this->coll->remove($key);
if ($removed) {
$this->changed();
if ($this->mapping !== null && isset($this->mapping['embedded'])) {
$this->dm->getUnitOfWork()->scheduleOrphanRemoval($removed);
}
}
return $removed;
}