public function set($key, $value)
    {
        if ($this->isProtected($key)) {

            throw new \UnexpectedValueException("Cannot set value in protected '$key' item");
        }

        return parent::set($key, $value);
    }