class ForEachModelAction extends BaseStatefulAction {

   @Override
   public void activate(ActionContext context) {
      
      List<String>stillFiring=getVariable(VAR_STILL_FIRING, context, TypeMarker.listOf(String.class)).or(ImmutableList.<String>of());
      
      forEachMatchingModel(context, Predicates.addressExistsIn(stillFiring),new ActionContextModelConsumer() {
         @Override
         public void accept(ActionContext context, Model model) {
            context.logger().debug("activating delegate for model {}",model);
            delegate.activate(context);
         }
      });
      
      this.stillFiring= TypeUtil.INSTANCE.coerceList(Address.class, stillFiring);
   }

   public  ForEachModelAction(
         StatefulAction delegate, 
         Predicate<Model> selector, 
         Predicate<Model> condition, 
         String targetVariable
   );

}