function offsetGet($offset)
    {
        if (empty($this->attributes[$offset])) {
            if ($this->strictScheme) {
                throw new UnexpectedValueException(
                    "Strict Scheme: Attribute $offset is not defined."
                );
            }
            $this->attributes[$offset] = new Attribute($offset, $this);
        }
        return $this->attributes[$offset];
    }