@Override
  public TermDepositTrade toTrade(
      LocalDate tradeDate,
      LocalDate startDate,
      LocalDate endDate,
      BuySell buySell,
      double notional,
      double rate) {

    ArgChecker.inOrderOrEqual(tradeDate, startDate, "tradeDate", "startDate");
    return TermDepositTrade.builder()
        .tradeInfo(TradeInfo.builder().tradeDate(tradeDate).build())
        .product(
            TermDeposit.builder()
                .buySell(buySell)
                .currency(currency)
                .notional(notional)
                .startDate(startDate)
                .endDate(endDate)
                .businessDayAdjustment(businessDayAdjustment)
                .rate(rate)
                .dayCount(dayCount)
                .build())
        .build();
  }