public function visit(Visitor $visitor, Generator $generator, $data)
{
$generator->startObjectElement('RoleAssignInput');
$visitor->setHeader('Content-Type', $generator->getMediaType('RoleAssignInput'));
$generator->startObjectElement('Role');
$generator->startAttribute('href', $this->requestParser->generate('role', array('role' => $data->getRole()->id)));
$generator->endAttribute('href');
$generator->endObjectElement('Role');
$roleLimitation = $data->getRoleLimitation();
if ($roleLimitation !== null) {
$visitor->visitValueObject($roleLimitation);
}
$generator->endObjectElement('RoleAssignInput');
}