public function parse(array $data, ParsingDispatcher $parsingDispatcher)
{
$locationUpdateStruct = $this->locationService->newLocationUpdateStruct();
if (array_key_exists('priority', $data)) {
$locationUpdateStruct->priority = (int) $data['priority'];
}
if (array_key_exists('remoteId', $data)) {
$locationUpdateStruct->remoteId = $data['remoteId'];
}
$hidden = null;
if (array_key_exists('hidden', $data)) {
$hidden = $this->parserTools->parseBooleanValue($data['hidden']);
}
if (!array_key_exists('sortField', $data)) {
throw new Exceptions\Parser("Missing 'sortField' element for LocationUpdate.");
}
$locationUpdateStruct->sortField = $this->parserTools->parseDefaultSortField($data['sortField']);
if (!array_key_exists('sortOrder', $data)) {
throw new Exceptions\Parser("Missing 'sortOrder' element for LocationUpdate.");
}
$locationUpdateStruct->sortOrder = $this->parserTools->parseDefaultSortOrder($data['sortOrder']);
return new RestLocationUpdateStruct($locationUpdateStruct, $hidden);
}