public void Handle() { int orderId = 1254; Order order = _orderRepository.Get(orderId); ISpecification <Order> orderSpecification = GetOrdersSpecification(); if (!orderSpecification.IsSatisfiedBy(order)) { throw new OrderAcceptationExcpetion("Order doesn't meet specification"); } order.AcceptOrder(); _orderRepository.Save(order); }