public function remove($key)
{
if (!$this->_r) {
if (isset($this->_d[$key]) || array_key_exists($key, $this->_d)) {
$value = $this->_d[$key];
unset($this->_d[$key]);
return $value;
} else {
return null;
}
} else {
throw new TInvalidOperationException('map_readonly', get_class($this));
}
}