private static void tapOrUntapResolve(final AbilityFactory af, final SpellAbility sa) {
        HashMap<String, String> params = af.getMapParams();
        Card card = sa.getSourceCard();

        ArrayList<Card> tgtCards;
        Target tgt = af.getAbTgt();
        if (tgt != null)
            tgtCards = tgt.getTargetCards();
        else {
            tgtCards = AbilityFactory.getDefinedCards(card, params.get("Defined"), sa);
        }

        for (Card tgtC : tgtCards) {
            if (AllZoneUtil.isCardInPlay(tgtC) && (tgt == null || CardFactoryUtil.canTarget(af.getHostCard(), tgtC))) {
            	if(sa.getActivatingPlayer().isHuman()) {
            		String[] tapOrUntap = new String[]{"Tap", "Untap"};
            		Object z = GuiUtils.getChoiceOptional("Tap or Untap " + tgtC + "?", tapOrUntap);
            		if (null == z) continue;
            		boolean tap = (z.equals("Tap")) ? true : false;

            		if (tap) tgtC.tap();
            		else tgtC.untap();
            	}
            	else {
            		//computer
            		tgtC.tap();
            	}
            }
        }
    }