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

        int numCards = AbilityFactory.calculateAmount(sa.getSourceCard(), params.get("NumCards"), sa);

        ArrayList<Player> tgtPlayers;

        Target tgt = af.getAbTgt();
        if (tgt != null)
            tgtPlayers = tgt.getTargetPlayers();
        else
            tgtPlayers = AbilityFactory.getDefinedPlayers(sa.getSourceCard(), params.get("Defined"), sa);

        String destination = params.get("Destination");
        if (destination == null)
            destination = Constant.Zone.Graveyard;

        for (Player p : tgtPlayers)
            if (tgt == null || p.canTarget(af.getHostCard()))
                p.mill(numCards, destination);
    }