@Override
public Collection<EventBatchCursor> apply(ConcurrentLinkedQueue<EventBatchCursor> queue) {
ArrayList<EventBatchCursor> results = new ArrayList<EventBatchCursor>();
while(queue.size() > 0) {
EventBatchCursor c = queue.peek();
if(c != null) {
long diff = System.currentTimeMillis() - c.getHeader().getCompletionTime();
if(diff > _timeMillis) {
c = queue.poll();
results.add(c);
} else {
break;