public function resolvePaths(Vertex $start_vertex)
    {
        $this->paths = [];

        /**
         * @var DirectedEdge
         */
        foreach ($start_vertex->incoming_edges as $edge) {
            $this->current_path = [$start_vertex->get_data()];
            $this->getPathsRecursion($edge->get_source(), $edge);
        }

        return $this->paths;
    }