@Override
 protected boolean shouldHandleEvent(final OrderPlacedEvent event) {
   final OrderModel order = event.getProcess().getOrder();
   ServicesUtil.validateParameterNotNullStandardMessage("event.order", order);
   final BaseSiteModel site = order.getSite();
   ServicesUtil.validateParameterNotNullStandardMessage("event.order.site", site);
   return SiteChannel.B2C.equals(site.getChannel());
 }
 @Override
 protected void onSiteEvent(final OrderPlacedEvent orderPlacedEvent) {
   final OrderModel orderModel = orderPlacedEvent.getProcess().getOrder();
   final OrderProcessModel orderProcessModel =
       (OrderProcessModel)
           getBusinessProcessService()
               .createProcess(
                   "orderConfirmationEmailProcess-"
                       + orderModel.getCode()
                       + "-"
                       + System.currentTimeMillis(),
                   "orderConfirmationEmailProcess");
   orderProcessModel.setOrder(orderModel);
   getModelService().save(orderProcessModel);
   getBusinessProcessService().startProcess(orderProcessModel);
 }