public function visit(Visitor $visitor, Generator $generator, $data)
{
$generator->startObjectElement('PolicyCreate');
$visitor->setHeader('Content-Type', $generator->getMediaType('PolicyCreate'));
$generator->startValueElement('module', $data->module);
$generator->endValueElement('module');
$generator->startValueElement('function', $data->function);
$generator->endValueElement('function');
$limitations = $data->getLimitations();
if (!empty($limitations)) {
$generator->startObjectElement('limitations');
$generator->startList('limitations');
foreach ($limitations as $limitation) {
$visitor->visitValueObject($limitation);
}
$generator->endList('limitations');
$generator->endObjectElement('limitations');
}
$generator->endObjectElement('PolicyCreate');
}