private function getEntry(string $id): EntryInterface
    {
        if (isset($this->entryCache[$id])) {
            return $this->entryCache[$id];
        }

        if (!isset($this->entries[$id])) {
            throw new NotFoundException("No entry was found for the identifier '$id'");
        }

        /** @var EntryInterface $class */
        [$class, $parameters] = $this->entries[$id];
        return $class::createFromCacheParameters($parameters);
    }