public void removeEndOfCombatAbilities() {
   for (Iterator<DelayedTriggeredAbility> it = this.iterator(); it.hasNext(); ) {
     DelayedTriggeredAbility ability = it.next();
     if (ability.getDuration() == Duration.EndOfCombat) {
       it.remove();
     }
   }
 }
 public void checkTriggers(GameEvent event, Game game) {
   if (this.size() > 0) {
     for (Iterator<DelayedTriggeredAbility> it = this.iterator(); it.hasNext(); ) {
       DelayedTriggeredAbility ability = it.next();
       if (ability.getDuration().equals(Duration.Custom)) {
         if (ability.isInactive(game)) {
           it.remove();
           continue;
         }
       }
       if (ability.checkTrigger(event, game)) {
         ability.trigger(game, ability.controllerId);
         if (ability.getTriggerOnlyOnce()) {
           it.remove();
         }
       }
     }
   }
 }