private List<AggregateEvent> asList(AggregateEventStream AggregateEventStream) {
   List<AggregateEvent> unseenEvents = new ArrayList<AggregateEvent>();
   while (AggregateEventStream.hasNext()) {
     unseenEvents.add(AggregateEventStream.next());
   }
   return unseenEvents;
 }
 @Override
 public boolean hasNext() {
   return eventStream.hasNext();
 }