public function Unmap($Instance)
{
if (!is_object($Instance)) {
return;
}
if (!$this->Storage->contains($Instance) && !$this->InversedStorage->contains($Instance)) {
return;
}
if ($this->Storage->contains($Instance)) {
$ToInstance = $this->Storage[$Instance];
$this->Detach($Instance, $ToInstance);
}
if ($this->InversedStorage->contains($Instance)) {
$ToInstance = $Instance;
$Instance = $this->InversedStorage[$ToInstance];
$this->Detach($Instance, $ToInstance);
}
return $this;
}