private static void upkeep_Drop_of_Honey() {
        /*
		 * At the beginning of your upkeep, destroy the creature with the
		 * least power. It can't be regenerated. If two or more creatures
		 * are tied for least power, you choose one of them.
		 */
        final Player player = AllZone.getPhase().getPlayerTurn();
        CardList drops = AllZoneUtil.getPlayerCardsInPlay(player, "Drop of Honey");
        drops.addAll(AllZoneUtil.getPlayerCardsInPlay(player, "Porphyry Nodes"));
        final CardList cards = drops;

        for (int i = 0; i < cards.size(); i++) {
            final Card c = cards.get(i);

            final Ability ability = new Ability(c, "") {
                @Override
                public void resolve() {
                    CardList creatures = AllZoneUtil.getCreaturesInPlay();
                    if (creatures.size() > 0) {
                        CardListUtil.sortAttackLowFirst(creatures);
                        int power = creatures.get(0).getNetAttack();
                        if (player.isHuman()) {
                            AllZone.getInputControl().setInput(CardFactoryUtil.input_destroyNoRegeneration(getLowestPowerList(creatures), "Select creature with power: " + power + " to sacrifice."));
                        } else { //computer
                            Card compyTarget = getCompyCardToDestroy(creatures);
                            AllZone.getGameAction().destroyNoRegeneration(compyTarget);
                        }
                    }
                }//resolve

                private CardList getLowestPowerList(CardList original) {
                    CardList lowestPower = new CardList();
                    int power = original.get(0).getNetAttack();
                    int i = 0;
                    while (i < original.size() && original.get(i).getNetAttack() == power) {
                        lowestPower.add(original.get(i));
                        i++;
                    }
                    return lowestPower;
                }

                private Card getCompyCardToDestroy(CardList original) {
                    CardList options = getLowestPowerList(original);
                    CardList humanCreatures = options.filter(new CardListFilter() {
                        public boolean addCard(Card c) {
                            return c.getController().isHuman();
                        }
                    });
                    if (humanCreatures.isEmpty()) {
                        options.shuffle();
                        return options.get(0);
                    } else {
                        humanCreatures.shuffle();
                        return humanCreatures.get(0);
                    }
                }
            };// Ability

            StringBuilder sb = new StringBuilder();
            sb.append(c.getName()).append(" - destroy 1 creature with lowest power.");
            ability.setStackDescription(sb.toString());

            AllZone.getStack().addSimultaneousStackEntry(ability);

        }//end for
    }