public function offsetUnset($offset)
{
if ($part = $this[$offset]) {
if ($part->parent === $this) {
if (($k = array_search($part, $this->_parts, true)) !== false) {
unset($this->_parts[$k]);
$this->_parts = array_values($this->_parts);
}
} else {
unset($part->parent[$offset]);
}
$this->_status |= self::STATUS_REINDEX;
}
}