class VariableNotionalProvider implements NotionalProvider {

  public VariableNotionalProvider withZonedDateTime(List<ZonedDateTime> dateList) {
    ArgumentChecker.notEmpty(dateList, "dates");
    int nDates = dateList.size();
    ArgumentChecker.isTrue(_notionals.length == nDates, "zonedDates and notionals should have the same length");
    LocalDate[] dates = new LocalDate[nDates];
    for (int i = 0; i < nDates; ++i) {
      dates[i] = dateList.get(i).toLocalDate();
    }
    return new VariableNotionalProvider(dates, _notionals);
  }

  public  VariableNotionalProvider(LocalDate[] dates, double[] notionals);
  public  VariableNotionalProvider(double[] notionals);

}