public function offsetExists($offset)
    {
        if (!is_int($offset) && !is_string($offset)) {
            throw new RuntimeException('Invalid array offset type: '. gettype($offset));
        }
        return array_key_exists($offset, $this->items);
    }