public function selectTransition(\Traversable $transitions)
{
$bestTransitions = array();
$bestScore = -1;
foreach ($transitions as $transition) {
$score = $this->calculcateScore($transition);
if ($score > $bestScore) {
$bestScore = $score;
$bestTransitions = array($transition);
} elseif ($score == $bestScore) {
$bestTransitions[] = $transition;
}
}
return $this->innerSelector->selectTransition(new \ArrayIterator($bestTransitions));
}