public void writeResultFile() {
		try {
			FileWriter fstream = new FileWriter(resultFile);
			StringBuilder sb = new StringBuilder();
			BufferedWriter out = new BufferedWriter(fstream);
			sb.append("StartNr; Namn; ");
			if(!(driverAttributes == null) && !driverAttributes.isEmpty()){
				for(int i = 0; i < driverAttributes.size(); i++){
						sb.append(driverAttributes.get(i) + "; ");
				}
			}
			sb.append("Totaltid; ");
			sb.append("#Etapper; ");
			for (int i = 0; i < stages; i++) {
				sb.append("Etapp" + (i + 1) + "; ");
			}
			for (int i = 0; i < stages - 1; i++) {
				sb.append("Start" + (i + 1) + "; Mål" + (i + 1) + "; ");
			}
			sb.append("Start" + (stages) + "; Mål" + stages);
			// Vi antar att vi har alla starttime och finishtime för alla
			// ettapper i index TreeMap.
			// dvs finishtime[0] - starttime[0] = etapp[1], finishtime[1] -
			// starttime[1] = etapp[2], Mål = etapp[0]+etapp[1]...
			Driver tDriver;
			mapOfDiffRaceClasses = new HashMap<String, TreeMap<Integer, Driver>>();
			ArrayList<Driver> notSortedDrivers = new ArrayList<Driver>();
			for (Integer i : index.keySet()) {
				tDriver = index.get(i);
				String classes = tDriver.getRaceClass();

				mapOfDiffRaceClasses.put(classes, addTreeMap(classes, i,
						tDriver));
				notSortedDrivers.add(tDriver);
			}
			
			//Skriver ut till fil
			//Hämtar TreeMap med className som key så att vi får ut alla som tillhör klassen.
			for (String className : mapOfDiffRaceClasses.keySet()) {
				TreeMap<Integer, Driver> tm = mapOfDiffRaceClasses.get(className);
				out.write(className + "\n");
				out.write(sb.toString());
				for (Integer i : tm.keySet()) {
					tDriver = tm.get(i);
					out.write(checkErrorStageRace(i, tDriver));
				}
			}
			out.close();

		} catch (Exception e) {
			System.err.println("Error: Misslyckades med att skriva resultatfilen för etapplopp");
			System.exit(1);
		}

	}