class ForexDefinition implements InstrumentDefinition<InstrumentDerivative> {

  @Override
  public Forex toDerivative(final ZonedDateTime date) {
    ArgumentChecker.notNull(date, "date");
    final PaymentFixed payment1 = _paymentCurrency1.toDerivative(date);
    final PaymentFixed payment2 = _paymentCurrency2.toDerivative(date);
    return new Forex(payment1, payment2);
  }

  public  ForexDefinition(final Currency currency1, final Currency currency2, final ZonedDateTime exchangeDate, final double amountCurrency1, final double fxRate);
  public  ForexDefinition(final PaymentFixedDefinition paymentCurrency1, final PaymentFixedDefinition paymentCurrency2);

}