class PaymentFixedDefinition extends PaymentDefinition {

  @Override
  public PaymentFixed toDerivative(final ZonedDateTime date) {
    ArgumentChecker.notNull(date, "date");
    ArgumentChecker.isTrue(!date.isAfter(getPaymentDate()), "date {} is after payment date {}", date, getPaymentDate());
    final double paymentTime = TimeCalculator.getTimeBetween(date, getPaymentDate());
    return new PaymentFixed(getCurrency(), paymentTime, _amount);
  }

  public  PaymentFixedDefinition(final Currency currency, final ZonedDateTime paymentDate, final double amount);

}