public function render(Graph $graph, Query $query)
 {
     $paths = [];
     /** @var Path $path */
     foreach ($query->getPaths() as $path) {
         $results = $this->edgeRepository->getPaths($graph->getId(), $path->getStart(), $path->getEnd());
         $paths[] = ['path' => $path, 'results' => $results];
     }
     $cheapest = [];
     /** @var Path $path */
     foreach ($query->getCheapest() as $path) {
         $results = $this->edgeRepository->getPaths($graph->getId(), $path->getStart(), $path->getEnd());
         $cheapest[] = ['path' => $path, 'result' => array_shift($results)];
     }
     return $this->templateEngine->render($this->template(), ['paths' => $paths, 'cheapest' => $cheapest]);
 }