@SuppressWarnings("unused") @Override protected boolean isTransactionInAdvanceOfInstallment(final int currentInstallmentIndex,final List<LoanRepaymentScheduleInstallment> installments,final LocalDate transactionDate,final Money transactionAmount){
  final LoanRepaymentScheduleInstallment currentInstallment=installments.get(currentInstallmentIndex);
  return transactionDate.isBefore(currentInstallment.getDueDate());
}

@ SuppressWarnings ( "unused" ) @ Override protected boolean isTransactionInAdvanceOfInstallment ( final int currentInstallmentIndex , final List < LoanRepaymentScheduleInstallment > installments , final LocalDate transactionDate , final Money transactionAmount ) { final LoanRepaymentScheduleInstallment currentInstallment = installments . get ( currentInstallmentIndex ) ; return transactionDate . isBefore ( currentInstallment . getDueDate ( ) ) ; }
for creocore , early is defined as any date before the installment due date
