public function visit(Visitor $visitor, Generator $generator, $data)
{
$content = $data->content;
$versionInfo = $content->getVersionInfo();
$contentType = $data->contentType;
$generator->startObjectElement('Version');
$visitor->setHeader('Content-Type', $generator->getMediaType('Version'));
$visitor->setHeader('Accept-Patch', $generator->getMediaType('VersionUpdate'));
$path = $data->path;
if ($path == null) {
$path = $this->router->generate('ezpublish_rest_loadContentInVersion', array('contentId' => $content->id, 'versionNumber' => $versionInfo->versionNo));
}
$generator->startAttribute('href', $path);
$generator->endAttribute('href');
$visitor->visitValueObject($versionInfo);
$generator->startHashElement('Fields');
$generator->startList('field');
foreach ($content->getFields() as $field) {
$this->visitField($generator, $contentType, $field);
}
$generator->endList('field');
$generator->endHashElement('Fields');
$visitor->visitValueObject(new RelationListValue($data->relations, $content->id, $versionInfo->versionNo));
$generator->endObjectElement('Version');
}