public function set($index, $element)
    {
        if (false === array_key_exists($index, $this->elements)) {
            throw new \OutOfBoundsException();
        }
        $this->elements[$index] = $element;
        foreach ($this->subLists as $subList) {
            $subList->set($index, $element, true);
        }
        return $this;
    }