class IMMDateLogic {

  public static LocalDate[] getIMMDateSet(final LocalDate baseIMMDate, final Period[] tenors) {
    ArgumentChecker.notNull(baseIMMDate, "startIMMDate");
    ArgumentChecker.noNulls(tenors, "tenors");
    final int n = tenors.length;
    ArgumentChecker.isTrue(isIMMDate(baseIMMDate), "start is not an IMM date");
    final LocalDate nextIMM = baseIMMDate;
    final LocalDate[] res = new LocalDate[n];
    for (int i = 0; i < n; i++) {
      res[i] = nextIMM.plus(tenors[i]);
    }
    return res;
  }

}