public DiceRoll rerollDice(DiceRoll diceRoll, int times) {
		int limit = 1;
		if (isThree)
			limit = 3;

		for (int i = 0; i < times; i++) {
			ScoreCategory sc = findMax(diceRoll);
			if (sc != null && used.get(sc) < limit) { // oplacalnosc?
				System.out.println("His roll: " + diceRoll.toString());
				this.roll = diceRoll;
				return diceRoll;
			}

			List<Integer> toFreeze = findToFreeze(diceRoll);
			try {
				diceRoll.freeze(toFreeze);
			} catch (GameLogicException e) {
				System.out.print("Caught GameLogicExeption");
			}
			diceRoll.roll();
		}
		System.out.println("His roll: " + diceRoll.toString());
		this.roll = diceRoll;
		return diceRoll;
	}