public function visit(Visitor $visitor, Generator $generator, $data)
{
$generator->startObjectElement('VersionList');
$visitor->setHeader('Content-Type', $generator->getMediaType('VersionList'));
//@todo Needs refactoring, disabling certain headers should not be done this way
$visitor->setHeader('Accept-Patch', false);
$generator->startAttribute('href', $data->path);
$generator->endAttribute('href');
$generator->startList('VersionItem');
foreach ($data->versions as $version) {
$generator->startHashElement('VersionItem');
$generator->startObjectElement('Version');
$generator->startAttribute('href', $this->router->generate('ezpublish_rest_loadContentInVersion', array('contentId' => $version->getContentInfo()->id, 'versionNumber' => $version->versionNo)));
$generator->endAttribute('href');
$generator->endObjectElement('Version');
$visitor->visitValueObject($version);
$generator->endHashElement('VersionItem');
}
$generator->endList('VersionItem');
$generator->endObjectElement('VersionList');
}