private void buildVertexPath(RoutePath inRoute, boolean randomStart) {
		mPath.clear();

		ListIterator ti = inRoute.getPath().listIterator();

		while (ti.hasNext()) {
			Trip t = (Trip) ti.next();
			if (!mPath.isEmpty()
					&& mPath.get(mPath.size() - 1).getRawDistance(
							t.getVertices().get(0)) == 0.0) {
				mPath.remove(mPath.size() - 1);
			}

			if (randomStart) {
				int start = (int) (Math.random() * t.getVertices().size());
				ListIterator vi = t.getVertices().listIterator();
				while (start > 0) {
					vi.next();
					start--;
				}

				while (vi.hasNext()) {
					mPath.add((Vertex) vi.next());
					Vertex v = new Vertex();
				}
			} else {
				if (!mPath.isEmpty()) {
					mPath.remove(mPath.size() - 1);
				}
				mPath.addAll(t.getVertices());
			}
		}
		addStopsToVertexList(mPath, inRoute.getStops());
	}