public static CardStack createFromFile(String fileName) {
		InputStreamReader inStream;
		try { inStream = new InputStreamReader(new FileInputStream(fileName), CHARSET); }
		catch(IOException e) { return null; }
		BufferedReader bufferedReader = new BufferedReader(inStream);

		ArrayList<Card> newStack = new ArrayList<Card>();
		for(;;) {
			Card card = Card.createFromFile(bufferedReader);
			if(card == null) break;
			newStack.add(card);
		}

		try {
			bufferedReader.close();
			inStream.close(); // just in case
		} catch(IOException e) { /* don't care */ }

		return new CardStack(newStack);
	}