public void showdown(int currentPlayer, ArrayList<Card> holeCards, ArrayList<Card> sharedCards) throws Exception {
		for (OpponentEntry entry : histories.get(currentPlayer).getHistory()) {
			double handStrength;
			if(entry.getStage() == STAGE.PREFLOP) {
				handStrength = preFlops.get(entry.getNumberOfPlayers() - 2).getStrength(holeCards);
			} else { // flop, turn or river
				ArrayList<Card> currentSharedCards = new ArrayList<Card>();
				currentSharedCards.addAll(sharedCards.subList(0, entry.getStage().ordinal() + 2));
				handStrength = new Rollout().simulateHandWithSharedCards(holeCards, currentSharedCards, entry.getNumberOfPlayers());
			}
			model.get(currentPlayer).addEntry(entry, handStrength);
		}
	}