// only deliver if session is still live
if (!session.isLive()) {
return;
}
// check if filtered iterator has at least one event
EventIterator it = new FilteredEventIterator(
session, events.iterator(), events.getTimestamp(),
events.getUserData(), filter, denied, false);
if (it.hasNext()) {
long time = System.currentTimeMillis();
listener.onEvent(it);
time = System.currentTimeMillis() - time;
if (log.isDebugEnabled()) {
log.debug("listener {} processed events in {} ms.",