public function invoke($method, $args)
{
$method = strtolower($method);
$step = $this->getCallCount($method);
$this->addCall($method, $args);
$this->checkExpectations($method, $args, $step);
$was = $this->disableEStrict();
try {
$result = $this->emulateCall($method, $args, $step);
} catch (Exception $e) {
$this->restoreEStrict($was);
throw $e;
}
$this->restoreEStrict($was);
return $result;
}