private void setupRouteVariables() {
		Integer prevStationIndex = null;
		Station s;
		Double timepersection = 0.0;
		HashSet<String> intersectLineSet;
		for (Integer stationIndex : path) {
			s = mmap.getStationByIndex(stationIndex);
			if (prevStationIndex == null) {
				sectionTime.put(s.getName(), 0.0);
				sectionLines.put("Undecided", "Undecided");
			} else {
				intersectLineSet = Utility.getSetIntersect(mmap.getStationByIndex(stationIndex).getLines(), 
						   								   mmap.getStationByIndex(prevStationIndex).getLines());
				if (intersectLineSet.isEmpty()) {
					sectionLines.put(s.getName(), Connection.SATELITE_CONNECTION_LINE);
					sectionTime.put(s.getName(), 0.0);
				} else {
					for (String lineName : intersectLineSet) {
						if (mmap.getMetroLine(lineName).getLineStationIndexList().contains(stationIndex) &&
							mmap.getMetroLine(lineName).getLineStationIndexList().contains(prevStationIndex)) {
							timepersection = mmap.getMetroLine(lineName).getTimeBetweenStation(stationIndex, prevStationIndex);
							sectionTime.put(s.getName(), timepersection);
							if (timepersection == 0) {
								sectionLines.put(s.getName(), Connection.SATELITE_CONNECTION_LINE);
							} else {
								sectionLines.put(s.getName(), lineName);
							}
							break;
						}
					}
				}
			}
			TotalTime += timepersection;
			prevStationIndex = stationIndex;
		}
	}