public function getTableOfContent($id)
    {
        if ($this->toc) {
            return $this->toc;
        }

        $key = $this->di->cache->createKey(__CLASS__, 'toc-' . $id);
        $this->toc = $this->di->cache->get($key);

        if (!$this->toc) {
            $this->toc = $this->createTableOfContent();
            $this->di->cache->put($key, $this->toc);
        }

        return $this->toc;
    }