class DelinquentInvoiceSpecification extends
      InvoiceSpecification {
   private Date currentDate;
   // Instancja jest tworzona i usuwana w konkretnym dniu

   public DelinquentInvoiceSpecification(Date currentDate) {
     this.currentDate = currentDate;
   }
   
   public boolean isSatisfiedBy(Invoice candidate) {
      int gracePeriod =
         candidate.customer().getPaymentGracePeriod();
      Date firmDeadline =
         DateUtility.addDaysToDate(candidate.dueDate(),
         gracePeriod);
   return currentDate.after(firmDeadline);
   }
}
