@Override
	List<Player> determineWinners() {
		// TODO Implement the winner stuff and distribute the pot...
		List<Player> winners = new ArrayList<Player>();
		// Is there a tie?
//		boolean tie = false;
		
		// Get the first player who did not fold
		int firstPlayerWhoDidNotFold = 0;
		for (int i = 0; i < players.size(); i++) {
			if (!players.get(i).isFold()) {
				firstPlayerWhoDidNotFold = i;
				break;
			}
		}
		// Set the winner temporarily to the first player who is still in the
		// game
		winners.add(players.get(firstPlayerWhoDidNotFold));
		
		// Temporarily store the winners card combinations
		List<CardCombination> winnersCardCombinations = winners.get(0).getHighestCardCombinationsWithRiver(getRiver());
		
		//TODO Remove the test output
		System.out.println();
		System.out.println(winners.get(0).showHighestCardCombinationsWithRiver());
		
		// Compare the players hands to determine a or more winners
		for (int i = firstPlayerWhoDidNotFold + 1; i < players.size(); i++) {
			// Is the player still active in that game (so he did not fold)?
			if (!players.get(i).isFold()) {
				// Set the new/old winners card combinations to the ones computed before
				winnersCardCombinations = winners.get(0).getHighestCardCombinationsWithRiver();
				
				List<CardCombination> currentPlayersCardCombinations = players
						.get(i).getHighestCardCombinationsWithRiver(getRiver());
				
				//TODO Remove the test output
				System.out.println(players.get(i).showHighestCardCombinationsWithRiver());

				CardCombinationsComparator cardCombinationsComparator = new CardCombinationsComparator();
				int compareCardCombinationsResult = cardCombinationsComparator.compare(winnersCardCombinations, currentPlayersCardCombinations);
				
				switch(compareCardCombinationsResult){
				case -1:
					// Is the old winners hand smaller than the current players
					// hand?
					// Somebody won against the current winner and so also
					// against the other possible winners
					winners.clear();
					// Add the new winner to the newly emptied list
					winners.add(players.get(i));
					break;
				case 0: // There was a tie
//					tie = true;
					// Add the player to the winners list
					winners.add(players.get(i));
					break;
				case 1:
					// The winner won again
					// Do nothing
					break;
				}
			}
		}
		return winners;
	}