public function loadVersions(ContentInfo $contentInfo)
    {
        if (!$this->repository->canUser('content', 'versionread', $contentInfo)) {
            throw new UnauthorizedException('content', 'versionread', array('contentId' => $contentInfo->id));
        }

        $spiVersionInfoList = $this->persistenceHandler->contentHandler()->listVersions($contentInfo->id);

        $versions = array();
        foreach ($spiVersionInfoList as $spiVersionInfo) {
            $versionInfo = $this->domainMapper->buildVersionInfoDomainObject($spiVersionInfo);
            if (!$this->repository->canUser('content', 'versionread', $versionInfo)) {
                throw new UnauthorizedException('content', 'versionread', array('versionId' => $versionInfo->id));
            }

            $versions[] = $versionInfo;
        }

        return $versions;
    }