invalid()) { throw new InvalidCouponException; } return $next($coupon); } }