public void Confirm() { if (!_status.CanAdvance) { return; // or throw an exception } _status = ReservationStatus.Confirmed(); _reservedQuantity = _requestedQuantity; }