public function dispatchCriterion($criterionName, $criterionData, ParsingDispatcher $parsingDispatcher) { $mediaType = $this->getCriterionMediaType($criterionName); try { return $parsingDispatcher->parse(array($criterionName => $criterionData), $mediaType); } catch (Exceptions\Parser $e) { throw new Exceptions\Parser("Invalid Criterion id <{$criterionName}> in <AND>", 0, $e); } }