private T LoadFromSnapshot <T>(Guid aggregateId) where T : IAggregateRoot { var aggregateSnapshot = snapshotStore.GetSnapshotFromAggreate(aggregateId); if (aggregateSnapshot == null) { return(default(T)); } var history = eventStore.GetEventsFromAggregateAfterVersion(aggregateSnapshot.Id, aggregateSnapshot.Version); return(CreateAggregateFromSnapshotAndHistory <T>(aggregateSnapshot, history)); }