Inheritance: extends BadRequestException
 /**
  * Visit struct returned by controllers.
  *
  * @param \eZ\Publish\Core\REST\Common\Output\Visitor $visitor
  * @param \eZ\Publish\Core\REST\Common\Output\Generator $generator
  * @param \eZ\Publish\Core\REST\Server\Exceptions\ContentFieldValidationException $data
  */
 public function visit(Visitor $visitor, Generator $generator, $data)
 {
     $generator->startObjectElement('ErrorMessage');
     $statusCode = $this->getStatus();
     $visitor->setStatus($statusCode);
     $visitor->setHeader('Content-Type', $generator->getMediaType('ErrorMessage'));
     $generator->startValueElement('errorCode', $statusCode);
     $generator->endValueElement('errorCode');
     $generator->startValueElement('errorMessage', $this->httpStatusCodes[$statusCode]);
     $generator->endValueElement('errorMessage');
     $generator->startValueElement('errorDescription', $data->getMessage());
     $generator->endValueElement('errorDescription');
     $generator->startHashElement('errorDetails');
     $generator->startList('fields');
     foreach ($data->getFieldErrors() as $fieldTypeId => $translations) {
         foreach ($translations as $languageCode => $validationErrors) {
             if (!is_array($validationErrors)) {
                 $validationErrors = [$validationErrors];
             }
             foreach ($validationErrors as $validationError) {
                 $generator->startHashElement('field');
                 $generator->startAttribute('fieldTypeId', $fieldTypeId);
                 $generator->endAttribute('fieldTypeId');
                 $generator->startList('errors');
                 $generator->startHashElement('error');
                 $generator->startValueElement('type', $validationError->getTarget());
                 $generator->endValueElement('type');
                 $translation = $validationError->getTranslatableMessage();
                 $generator->startValueElement('message', $this->translator->trans($this->translationToString($translation), $translation->values, 'repository_exceptions'));
                 $generator->endValueElement('message');
                 $generator->endHashElement('error');
                 $generator->endList('errors');
                 $generator->endHashElement('field');
             }
         }
     }
     $generator->endList('fields');
     $generator->endHashElement('errorDetails');
     if ($this->debug) {
         $generator->startValueElement('trace', $data->getTraceAsString());
         $generator->endValueElement('trace');
         $generator->startValueElement('file', $data->getFile());
         $generator->endValueElement('file');
         $generator->startValueElement('line', $data->getLine());
         $generator->endValueElement('line');
     }
     $generator->endObjectElement('ErrorMessage');
 }