protected boolean isTransactionALateRepaymentOnInstallment(final int installmentIndex,final List<LoanRepaymentScheduleInstallment> installments,final LocalDate transactionDate){
  final LoanRepaymentScheduleInstallment currentInstallment=installments.get(installmentIndex);
  return transactionDate.isAfter(currentInstallment.getDueDate());
}

protected boolean isTransactionALateRepaymentOnInstallment ( final int installmentIndex , final List < LoanRepaymentScheduleInstallment > installments , final LocalDate transactionDate ) { final LoanRepaymentScheduleInstallment currentInstallment = installments . get ( installmentIndex ) ; return transactionDate . isAfter ( currentInstallment . getDueDate ( ) ) ; }
this method is responsible for checking if the current transaction is ' an advance / early payment ' based on the details passed through . default implementation simply processes transactions as ' late ' if the transaction date is after the installment due date .
