private List<List<Player>> createAllCombos(int playersToAdd,
			List<Player> participatingPlayers, 
			List<List<Player>> combosList) {
		ArrayList<List<Player>> combos = new ArrayList<List<Player>>();
		for (List<Player> comboPrefix : combosList) {
			Player lastPlayerChosen = null;
			boolean passedLastPlayer;
			if (comboPrefix.isEmpty()) {
				passedLastPlayer = true;
			} else {
				lastPlayerChosen = comboPrefix.get(comboPrefix.size() - 1);
				passedLastPlayer = false;
			}
			for (int i=0; i<participatingPlayers.size(); i++) {
				if (passedLastPlayer) {
					ArrayList<Player> combo = new ArrayList<Player>();
					combo.addAll(comboPrefix);
					combo.add(participatingPlayers.get(i));
					combos.add(combo);
				} else if (!comboPrefix.isEmpty() 
						&& lastPlayerChosen == participatingPlayers.get(i)) {
					passedLastPlayer = true;
				}
			}
		}
		if (playersToAdd <= 1)
			return combos;
		else
			return createAllCombos(playersToAdd - 1, participatingPlayers, combos);
	}