public function getShortestPath()
{
$path = array();
$vertex = $this->getEndingVertex();
while ($vertex->getId() != $this->getStartingVertex()->getId()) {
$path[] = $vertex;
$vertex = $vertex->getPotentialFrom();
}
$path[] = $this->getStartingVertex();
return array_reverse($path);
}