public static Round parseFirstRound(Reader reader, Hashtable<String, Team> teams) throws Exception {
		Round games = new Round();
		
		CSVReader csvReader = new CSVReader(reader);
		
		List<String[]> lines; 
		try {
			lines = csvReader.readAll();
		} catch (IOException e) {
			System.out.println("Error reading the CSV file.");
			return null;
		}
		
		for (String[] tokens : lines) {
			if (tokens.length == 1 && tokens[0].trim().length() == 0)
				continue;
			
			Team[] gameTeams = new Team[2];
			gameTeams[0] = teams.get(tokens[0]);
			gameTeams[1] = teams.get(tokens[1]);
			
			if (gameTeams[0] == null)
				throw new Exception("Team not found: " + tokens[0]);
			
			if (gameTeams[1] == null)
				throw new Exception("Team not found: " + tokens[1]);
			
			if (tokens.length >= 4) {
				gameTeams[0].seed = Integer.parseInt(tokens[2]);
				gameTeams[1].seed = Integer.parseInt(tokens[3]);
			}
			
			for (int i = 0; i < 2; i++)
				if (gameTeams[i] == null)
					throw new Exception("Team not found: " + tokens[i]);
			
			Game game = new Game(gameTeams);
			game.name = String.format("R0 G%d", games.size());
			games.add(game);		
		}
		
		return games;
	}