public function offsetUnset($key)
{
$keySegments = explode('.', $key);
$firstKeySegment = array_shift($keySegments);
if ($keySegments && $this->offsetExists($firstKeySegment)) {
return parent::offsetGet($firstKeySegment)->items()->offsetUnset(implode('.', $keySegments));
} else {
return parent::offsetUnset($key);
}
}