public static void displayOpponentPlayerExpeditions(Player player) {
		List<String> lines = new ArrayList<String>();

		int rowCount = 0;
		List<List<String>> cardsStrings = new ArrayList<List<String>>();
		for (ExpeditionCardStack expeditionCardStack : player.getExpeditions()) {
			List<String> expeditionStrings = buildReverseExpedition(expeditionCardStack);
			cardsStrings.add(expeditionStrings);
			if (expeditionStrings.size() > rowCount) {
				rowCount = expeditionStrings.size();
			}
		}

		for (int i = 0; i < rowCount; i++) {
			StringBuilder str = new StringBuilder();
			str.append("  ");
			for (List<String> expeditionStrings : cardsStrings) {
				int offset = rowCount - expeditionStrings.size();
				if (offset == 0 && i < expeditionStrings.size()) {
					str.append(expeditionStrings.get(i));
				} else if (i < offset) {
					str.append("        ");
				} else {
					str.append(expeditionStrings.get(i - offset));
				}
				str.append(" ");
			}
			lines.add(str.toString());
		}

		for (String line : lines) {
			System.out.println(line);
		}
	}