@Override
	public Iterable<WeightedDirectedEdge> pathTo(int v)
	{
		if (!hasPathTo(v))
			return null;
		LinkedList<WeightedDirectedEdge> stack = new LinkedList<WeightedDirectedEdge>();
		for (WeightedDirectedEdge e = vertex[v].edgeTo; e != null; e = vertex[e
				.from()].edgeTo)
			stack.addFirst(e);
		return stack;
	}