@Override
	protected Menu<?> getMenu(int i, Factory factory) {
		Menu<?> menu;

		switch (i) {

		case 1:
			menu = factory.newMenuChooseFromList(ChooseFromListMenuName.CHOOSE_ORDER_TO_EXECUTE, executableOrders, player);
			break;

		case 2:
			if (choices.getOrderChosen().getType() == OrderType.RESEARCH
					&& choices.getOrderChosen().getPlanet().hasBaseOnPlanet(player)) {

				menu = factory.newMenuStaticChoices(StaticChoicesMenuName.EXECUTE_OR_CARD,
						new ArrayList<StaticChoice>(Arrays.asList(StaticChoice.EXECUTE_OR_CARD_EXECUTE)), player, this);

			} else {
				menu = factory.newMenuStaticChoices(StaticChoicesMenuName.EXECUTE_OR_CARD, player);
			}
			break;

		default:
			throw new IllegalArgumentException("No such menu in this multi menu.");
		}

		return menu;
	}