private ArrayList<PokerHandEvaluation> getWinners(ArrayList<PokerHandEvaluation> potentialWinners) {
		PokerHandEvaluation firstPlayerEvaluation = potentialWinners.get(0);
		
		int rank = firstPlayerEvaluation.getRank();

		ArrayList<PokerHandEvaluation> winners = new ArrayList<PokerHandEvaluation>();
		
		for(int i = 0; i < potentialWinners.size() -1; i++) {
			PokerHandEvaluation firstPotentialWinner = potentialWinners.get(i);
			PokerHandEvaluation secondPotentialWinner = potentialWinners.get(i + 1);
			
			ArrayList<PokerCard> firstPotentialWinnerBestHand = firstPotentialWinner.getBestHand();
			ArrayList<PokerCard> secondPotentialWinnerBestHand = secondPotentialWinner.getBestHand();

			PokerHandComparer handComparer = PokerHandTieEvaluator.resolveTieHand(firstPotentialWinnerBestHand, secondPotentialWinnerBestHand, rank);
			
			if (handComparer == PokerHandComparer.FirstHandIsBetter && !winners.contains(firstPotentialWinner)) {
				winners = new ArrayList<PokerHandEvaluation>();
				winners.add(firstPotentialWinner);
			}
			else if (handComparer == PokerHandComparer.SecondHandIsBetter && !winners.contains(secondPotentialWinner)) {
				winners = new ArrayList<PokerHandEvaluation>();
				winners.add(secondPotentialWinner);
			}
			else if (handComparer  == PokerHandComparer.BothAreEqual) {				
				if (!winners.contains(firstPotentialWinner)) {
					winners.add(firstPotentialWinner);
				}
				
				if (!winners.contains(secondPotentialWinner)) {
					winners.add(secondPotentialWinner);
				}
			}
		}		
		
		return winners;
	}