@Override
	public Iterable<Integer> pathTo(int v)
	{
		if (!hasPathTo(v))
			return null;

		LinkedList<Integer> path = new LinkedList<Integer>();
		for (int x = v; x != s; x = edgeTo[x])
			path.addFirst(x);

		path.addFirst(s);
		return path;
	}