private function runEngine()
{
$engine = reset($this->runTestMethods);
if ($engine !== false) {
$this->currentMethod = key($this->runTestMethods);
if ($this->canRunEngine($engine) === true) {
unset($this->runTestMethods[$this->currentMethod]);
$this->engines[$this->currentMethod] = $engine->run($this->callObservers(self::beforeTestMethod));
if ($engine->isAsynchronous() === true) {
$this->asynchronousEngines++;
}
}
$this->currentMethod = null;
}
return $this;
}