}
}
if (aggregateRoot == null) {
logger.debug("Aggregate {} not in first level cache, loading fresh one from Event Store",
aggregateIdentifier);
DomainEventStream events = null;
try {
events = decorator.decorateForRead(typeIdentifier, aggregateIdentifier,
eventStore.readEvents(typeIdentifier, aggregateIdentifier));
if (events.hasNext()) {
aggregateRoot = aggregateFactory.createAggregate(aggregateIdentifier, events.peek());
aggregateRoot.initializeState(events);
}
} catch (EventStreamNotFoundException e) {
throw new AggregateNotFoundException(
aggregateIdentifier,