perCustomerUsageLimitReached()) { throw new CouponUsageLimitReachedException; } return $next($coupon); } }