public function visit(Visitor $visitor, Generator $generator, $data)
{
$generator->startObjectElement('ObjectStateList');
$visitor->setHeader('Content-Type', $generator->getMediaType('ObjectStateList'));
//@todo Needs refactoring, disabling certain headers should not be done this way
$visitor->setHeader('Accept-Patch', false);
$generator->startAttribute('href', $this->router->generate('ezpublish_rest_loadObjectStates', array('objectStateGroupId' => $data->groupId)));
$generator->endAttribute('href');
$generator->startList('ObjectState');
foreach ($data->states as $state) {
$visitor->visitValueObject(new RestObjectStateValue($state, $data->groupId));
}
$generator->endList('ObjectState');
$generator->endObjectElement('ObjectStateList');
}