private static void upkeep_Barren_Glory() {
        final Player player = AllZone.getPhase().getPlayerTurn();
        PlayerZone handZone = AllZone.getZone(Constant.Zone.Hand, player);

        CardList list = AllZoneUtil.getPlayerCardsInPlay(player);
        CardList playList = AllZoneUtil.getPlayerCardsInPlay(player);
        playList = playList.filter(new CardListFilter() {
            public boolean addCard(Card c) {
                return !c.getName().equals("Mana Pool");
            }
        });

        list = list.getName("Barren Glory");

        if (playList.size() == 1 && list.size() == 1 && handZone.size() == 0) {
            final Card source = list.get(0);
            Ability ability = new Ability(source, "0") {
                @Override
                public void resolve() {
                    CardList handList = AllZoneUtil.getCardsInZone(Constant.Zone.Hand, player);
                    CardList playList = AllZoneUtil.getCardsInZone(Constant.Zone.Battlefield, player);
                    playList = playList.getValidCards("Permanents".split(","), source.getController(), source);
                    playList.remove(source);

                    if (playList.size() == 0 && handList.size() == 0)
                        player.altWinConditionMet(source.getName());
                }
            };// Ability

            StringBuilder sb = new StringBuilder();
            sb.append("Barren Glory - ").append(player).append(" wins the game");
            ability.setStackDescription(sb.toString());

            AllZone.getStack().addSimultaneousStackEntry(ability);

        }// if
    }