public function matches(Request $request, array $requestMatchers)
{
foreach ($requestMatchers as $matcher) {
if (!is_callable($matcher)) {
throw new \BadFunctionCallException('Matcher could not be executed. ' . print_r($matcher, true));
}
if (call_user_func_array($matcher, array($this, $request)) === false) {
return false;
}
}
return true;
}