public static void handleRemembering(AbilityFactory AF) {
        HashMap<String, String> params = AF.getMapParams();
        Card host;

        if (!params.containsKey("RememberTargets") && !params.containsKey("Imprint")) {
            return;
        }

        host = AF.getHostCard();

        if (params.containsKey("ForgetOtherTargets")) {
            host.clearRemembered();
        }
        if (params.containsKey("Unimprint")) {
            host.clearImprinted();
        }

        Target tgt = AF.getAbTgt();

        if (params.containsKey("RememberTargets")) {
            ArrayList<Object> tgts = (tgt == null) ? new ArrayList<Object>() : tgt.getTargets();
            for (Object o : tgts) {
                host.addRemembered(o);
            }
        }
        if (params.containsKey("Imprint")) {
            ArrayList<Card> tgts = (tgt == null) ? new ArrayList<Card>() : tgt.getTargetCards();
            host.addImprinted(tgts);
        }
    }