public function offsetSet($key, $value)
    {
        if ($key !== null) {
            $this->data[$key] = $value;
        } else {
            $this->data[] = $value;
        }

        return $this;
    }