public function parse(array $data, ParsingDispatcher $parsingDispatcher)
{
if (!array_key_exists('VisibilityCriterion', $data)) {
throw new Exceptions\Parser('Invalid <VisibilityCriterion> format');
}
if ($data['VisibilityCriterion'] != VisibilityCriterion::VISIBLE && $data['VisibilityCriterion'] != VisibilityCriterion::HIDDEN) {
throw new Exceptions\Parser('Invalid <VisibilityCriterion> format');
}
return new VisibilityCriterion((int) $data['VisibilityCriterion']);
}