private ArrayList<City> createCityPath() {
		node currentNode = this.lastGoalNode;
		ArrayList<City> path = new ArrayList<City>();

		if(currentNode != null) { 
			City currentCity = currentNode.getCity();
			path.add(currentCity);

			while(currentNode.getParent() != null) {
				City nextCity = currentNode.getParent().getCity();
				for(City city : currentCity.pathTo(nextCity)) {
					path.add(city);
				}
				currentNode = currentNode.getParent();
			}

			Collections.reverse(path);
		}
		return path;
	}