class CouponIborGearing extends CouponFloating {

  @SuppressWarnings("deprecation")
  @Override
  public CouponIborGearing withNotional(final double notional) {
    try {
      return new CouponIborGearing(getCurrency(), getPaymentTime(), getFundingCurveName(), getPaymentYearFraction(), notional, getFixingTime(), _index, _fixingPeriodStartTime, _fixingPeriodEndTime,
          _fixingAccrualFactor, _spread, _factor, _forwardCurveName);
    } catch (final IllegalStateException e) {
      return new CouponIborGearing(getCurrency(), getPaymentTime(), getPaymentYearFraction(), notional, getFixingTime(), _index, _fixingPeriodStartTime, _fixingPeriodEndTime,
          _fixingAccrualFactor, _spread, _factor);
    }
  }

  @Deprecated public  CouponIborGearing(final Currency currency, final double paymentTime, final String discountingCurveName, final double paymentYearFraction,
      final double notional, final double fixingTime, final IborIndex index, final double fixingPeriodStartTime, final double fixingPeriodEndTime,
      final double fixingAccrualFactor, final double spread, final double factor, final String forwardCurveName);
  public  CouponIborGearing(final Currency currency, final double paymentTime, final double paymentYearFraction, final double notional, final double fixingTime, final IborIndex index,
      final double fixingPeriodStartTime, final double fixingPeriodEndTime, final double fixingAccrualFactor, final double spread, final double factor);

}