public function find($keyword, $subject, array $arguments)
{
foreach ($this->matchers as $matcher) {
if (true === $matcher->supports($keyword, $subject, $arguments)) {
return $matcher;
}
}
throw new MatcherNotFoundException(sprintf('No %s(%s) matcher found for %s.', $this->presenter->presentString($keyword), $this->presenter->presentValue($arguments), $this->presenter->presentValue($subject)), $keyword, $subject, $arguments);
}