class CouponFixed extends Coupon {

  @SuppressWarnings("deprecation")
  public CouponFixed withRateShifted(final double spread) {
    try {
      return new CouponFixed(getCurrency(), getPaymentTime(), getFundingCurveName(), getPaymentYearFraction(), getNotional(), getFixedRate() + spread, getAccrualStartDate(), getAccrualEndDate());
    } catch (final IllegalStateException e) {
      return new CouponFixed(getCurrency(), getPaymentTime(), getPaymentYearFraction(), getNotional(), getFixedRate() + spread, getAccrualStartDate(), getAccrualEndDate());
    }
  }

  @Deprecated public  CouponFixed(final Currency currency, final double paymentTime, final String fundingCurveName, final double paymentYearFraction, final double notional, final double rate);
  @Deprecated public  CouponFixed(final Currency currency, final double paymentTime, final String fundingCurveName, final double paymentYearFraction, final double notional, final double rate,
      final ZonedDateTime accrualStartDate, final ZonedDateTime accrualEndDate);
  @Deprecated public  CouponFixed(final Currency currency, final double paymentTime, final String fundingCurveName, final double paymentYearFraction, final double rate);
  public  CouponFixed(final Currency currency, final double paymentTime, final double paymentYearFraction, final double notional, final double rate);
  public  CouponFixed(final Currency currency, final double paymentTime, final double paymentYearFraction, final double notional, final double rate,
      final ZonedDateTime accrualStartDate, final ZonedDateTime accrualEndDate);
  public  CouponFixed(final Currency currency, final double paymentTime, final double paymentYearFraction, final double rate);

}