@Override
 public DatedCurveParameterMetadata metadata(LocalDate valuationDate) {
   Tenor endTenor = Tenor.of(template.getDepositPeriod());
   ExpandedIborFixingDeposit deposit =
       template.toTrade(valuationDate, BuySell.BUY, 0d, 0d).getProduct().expand();
   return TenorCurveNodeMetadata.of(deposit.getEndDate(), endTenor);
 }
 @Override
 public IborFixingDepositTrade trade(LocalDate valuationDate, ObservableValues marketData) {
   double fixedRate = marketData.getValue(rateKey) + spread;
   return template.toTrade(valuationDate, BuySell.BUY, 1d, fixedRate);
 }