public AggregationProjection <T> AggregateStreamsWith <T>() where T : class, new()
        {
            var aggregator = _options.Events.AggregateFor <T>();

            IAggregationFinder <T> finder = _options.Events.StreamIdentity == StreamIdentity.AsGuid
                ? (IAggregationFinder <T>) new AggregateFinder <T>()
                : new StringIdentifiedAggregateFinder <T>();

            var projection = new AggregationProjection <T>(finder, aggregator);

            Add(projection);

            return(projection);
        }
 public AggregationProjection(IAggregationFinder <T> finder, IAggregator <T> aggregator)
 {
     _finder     = finder;
     _aggregator = aggregator;
 }