public void resolve() {
                        CardList libraryList = AllZoneUtil.getPlayerCardsInLibrary(player);
                        PlayerZone battlefield = AllZone.getZone(Constant.Zone.Battlefield, player);
                        boolean oathFlag = true;

                        if (AllZoneUtil.compareTypeAmountInPlay(player, "Creature") < 0) {
                            if (player.isHuman()) {
                                StringBuilder question = new StringBuilder();
                                question.append("Reveal cards from the top of your library and place ");
                                question.append("the first creature revealed onto the battlefield?");
                                if (!GameActionUtil.showYesNoDialog(oath, question.toString())) {
                                    oathFlag = false;
                                }
                            } else {    // if player == Computer
                                CardList creaturesInLibrary = AllZoneUtil.getPlayerTypeInLibrary(player, "Creature");
                                CardList creaturesInBattlefield = AllZoneUtil.getPlayerTypeInPlay(player, "Creature");

                                // if there are at least 3 creatures in library, or none in play with one in library, oath
                                if (creaturesInLibrary.size() > 2
                                        || (creaturesInBattlefield.size() == 0 && creaturesInLibrary.size() > 0))
                                    oathFlag = true;
                                else
                                    oathFlag = false;
                            }

                            if (oathFlag) {
                                CardList cardsToReveal = new CardList();
                                int max = libraryList.size();
                                for (int i = 0; i < max; i++) {
                                    Card c = libraryList.get(i);
                                    cardsToReveal.add(c);
                                    if (c.isCreature()) {
                                        AllZone.getGameAction().moveTo(battlefield, c);
                                        break;
                                    } else {
                                        AllZone.getGameAction().moveToGraveyard(c);
                                    }
                                }// for loop
                                if (cardsToReveal.size() > 0)
                                    GuiUtils.getChoice("Revealed cards", cardsToReveal.toArray());
                            }
                        }
                    }