public static final CardGroup<FrenchCard> getDeck(final boolean addJokers) {
		final List<FrenchCard> cards = new ArrayList<FrenchCard>(52);
		
		for (final FrenchSuit suit : EnumSet.range(FrenchSuit.Clubs, FrenchSuit.Spades)) {
			for (int i = 1; i <= 13; i++) {
				cards.add(new FrenchCard(suit, i));
			}
		}
		
		if (addJokers) {
			cards.add(new FrenchCard(FrenchSuit.Joker, 1));
			cards.add(new FrenchCard(FrenchSuit.Joker, 2));
		}
		
		return new CardGroup<FrenchCard>(cards);
	}