private boolean runRound(GameContext context) {
		FeedbackHandler.manageFeedBack("New round");

		// list with players that have Blackjack
		List<Player> blackjackPlayers = playersWithBlackJack(context
				.getPlayers());

		// check if a player with blackjack exist
		if (blackjackPlayers.size() > 0) {

			// game finishes
			// find winner with BLACKJACK_SCORE.
			for (Player player : blackjackPlayers) {
				player.win();
			}
			return false;
		}

		// check if all player stick
		if (allPlayersSticks(context.getPlayers())) {

			// game finishes
			// find winner closest to BLACKJACK_SCORE.
			List<Player> winners = closestToThreshhold(context.getPlayers());
			for (Player player : winners) {
				player.win();
			}
			return false;
		}

		List<Player> bustedPlayers = new ArrayList<Player>();

		for (Player p : context.getPlayers()) {

			// if player score is < 17
			if (p.getPlayerHand().getScore() < DECISION_SCORE) {

				// player hit
				p.hit(context.getDeck().draw());

				// check if a player have gone over 21
			} else if (p.getPlayerHand().getScore() > BLACKJACK_SCORE) {
				// player busts
				p.burst();
				bustedPlayers.add(p);
			} else {
				// player sticks
				p.stick();
			}
		}

		// remove the players that have lost
		context.getPlayers().removeAll(bustedPlayers);

		// check if all players but one have been busted
		if (context.getPlayers().size() == 1) {
			context.getPlayers().get(0).win();
			return false;
		}
		return true;
	}