public function visit(Visitor $visitor, Generator $generator, $data)
{
$generator->startObjectElement('ContentTypeList');
$visitor->setHeader('Content-Type', $generator->getMediaType('ContentTypeList'));
//@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('ContentType');
foreach ($data->contentTypes as $contentType) {
$visitor->visitValueObject(new Values\RestContentType($contentType, $contentType->getFieldDefinitions()));
}
$generator->endList('ContentType');
$generator->endObjectElement('ContentTypeList');
}