class SendAction extends BaseStatefulAction {

   @Override
   public boolean isSatisfiable(ActionContext context) {
      Address toAddress =to.apply(context);
      Model model = context.getModelByAddress(toAddress);
      String group = toAddress.getGroup()!=null?toAddress.getGroup().toString():"";
      boolean isSatisfiable = false;
      if(toAddress.getId() == null || toAddress.getId().equals(Address.ZERO_UUID)){
         isSatisfiable = true;
      }
      else{
         switch(group){
            case VideoService.NAMESPACE:
               isSatisfiable = true;
               break;
            default:
               isSatisfiable = model != null;
         }
      }
      return isSatisfiable;
   }

   public  SendAction(
         String type,
         @Nullable Function<? super ActionContext, Address> to,
         @Nullable Map<String, Object> staticAttributes
   );
   public  SendAction(
         String type,
         @Nullable Function<? super ActionContext, Address> to,
         @Nullable Map<String, Object> staticAttributes,
         @Nullable Map<String, Function<ActionContext, Object>> dynamicAttributes
   );

}