private ImmutableList<SwapPaymentEvent> createEvents( List<NotionalPaymentPeriod> adjPaymentPeriods, DateAdjuster paymentDateAdjuster, ReferenceData refData) { ImmutableList.Builder<SwapPaymentEvent> events = ImmutableList.builder(); LocalDate initialExchangeDate = paymentDateAdjuster.adjust(adjPaymentPeriods.get(0).getStartDate()); events.addAll(NotionalSchedule.createEvents( adjPaymentPeriods, initialExchangeDate, initialExchange, intermediateExchange, finalExchange, refData)); paymentEvents.forEach(pe -> events.add(pe.adjustPaymentDate(paymentDateAdjuster))); return events.build(); }