public function offsetSet($offset, $value)
    {
        if ( ! $this->magicAssignment) {
            throw new UnassignableAttributeException("Not allowed to assign value by magic with array access");
        }

        $this->checkAttributeAssignable($offset);

        $this->attributes[ $offset ] = $value;
    }