public function check(ResultCollection $results, \Mage_Core_Model_Store $store)
{
$result = $results->createResult();
$typedParams = array('result' => $result, 'store' => $store);
$paramValues = $this->getParamValues($store, $typedParams);
$name = 'checkSettings';
$method = new \ReflectionMethod($this, $name);
$parameters = $method->getParameters();
$arguments = array();
foreach ($parameters as $parameter) {
$paramName = $parameter->getName();
$paramClass = $parameter->getClass();
// create named parameter from type-hint if applicable
if ($paramClass) {
foreach ($typedParams as $object) {
if ($paramClass->isSubclassOf(get_class($object))) {
$paramValues[$paramName] = $object;
break;
}
}
}
// use named parameter, otherwise null
$paramValues += array($paramName => null);
$arguments[] = $paramValues[$paramName];
}
call_user_func_array(array($this, $name), $arguments);
}