@Override
 public void stop() {
   if (overdueQueue != null) {
     overdueQueue.stopQueue();
     try {
       notificationQueueService.deleteNotificationQueue(
           overdueQueue.getServiceName(), overdueQueue.getQueueName());
     } catch (NoSuchNotificationQueue e) {
       log.error("Error deleting a queue by its own name - this should never happen", e);
     }
   }
 }
  @VisibleForTesting
  <T extends OverdueCheckNotificationKey>
      Collection<NotificationEventWithMetadata<T>> getFutureNotificationsForAccountInTransaction(
          final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory,
          final NotificationQueue checkOverdueQueue,
          final UUID accountId,
          final Class<T> clazz,
          final InternalCallContext context) {

    final List<NotificationEventWithMetadata<T>> notifications =
        checkOverdueQueue.getFutureNotificationFromTransactionForSearchKey1(
            clazz, context.getAccountRecordId(), entitySqlDaoWrapperFactory.getSqlDao());

    /*
    final Collection<NotificationEventWithMetadata<T>> notificationsFiltered = Collections2.filter(notifications, new Predicate<NotificationEventWithMetadata<T>>() {
        @Override
        public boolean apply(@Nullable final NotificationEventWithMetadata<T> input) {
            final OverdueCheckNotificationKey notificationKey = input.getEvent();
            return (accountId.equals(notificationKey.getUuidKey()));
        }
    });
    return notificationsFiltered;
    */
    return notifications;
  }
 @Override
 public void start() {
   overdueQueue.startQueue();
 }