protected static Deck buildDeck() { String selectedColors = genDialog.getSelectedColors(); List<ColoredManaSymbol> allowedColors = new ArrayList<>(); selectedColors = selectedColors != null ? selectedColors.toUpperCase() : getRandomColors("X"); String format = genDialog.getSelectedFormat(); List<String> setsToUse = ConstructedFormats.getSetsByFormat(format); if (setsToUse.isEmpty()) { // Default to using all sets setsToUse = ExpansionRepository.instance.getSetCodes(); } int deckSize = genDialog.getDeckSize(); if (selectedColors.contains("X")) { selectedColors = getRandomColors(selectedColors); } for (int i = 0; i < selectedColors.length(); i++) { char c = selectedColors.charAt(i); allowedColors.add(ColoredManaSymbol.lookup(c)); } return generateDeck(deckSize, allowedColors, setsToUse); }