class CouponCMS extends CouponFloating {

  @SuppressWarnings("deprecation")
  @Override
  public CouponCMS withNotional(final double notional) {
    try {
      return new CouponCMS(getCurrency(), getPaymentTime(), getFundingCurveName(), getPaymentYearFraction(), notional,
          getFixingTime(), _underlyingSwap, _settlementTime);
    } catch (final IllegalStateException e) {
      return new CouponCMS(getCurrency(), getPaymentTime(), getPaymentYearFraction(), notional, getFixingTime(), _underlyingSwap, _settlementTime);
    }
  }

  @Deprecated public  CouponCMS(final Currency currency, final double paymentTime, final String fundingCurveName, final double paymentYearFraction, final double notional,
      final double fixingTime, final SwapFixedCoupon<? extends Payment> underlyingSwap, final double settlementTime);
  public  CouponCMS(final Currency currency, final double paymentTime, final double paymentYearFraction, final double notional,
      final double fixingTime, final SwapFixedCoupon<? extends Payment> underlyingSwap, final double settlementTime);

}