protected override ISortedStream <AggregationResult <TIn, TKey, TAggrRes>, TKey> CreateOutputStream(AggregateSortedArgs <TIn, TAggrRes, TKey> args)
 {
     return(CreateSortedStream(
                args.InputStream.Observable.AggregateGrouped(
                    args.CreateEmptyAggregation,
                    args.InputStream.SortDefinition,
                    args.Aggregate,
                    (i, a) => new AggregationResult <TIn, TKey, TAggrRes>
     {
         FirstValue = i,
         Aggregation = a,
         Key = args.InputStream.SortDefinition.GetKey(i)
     }),
                new SortDefinition <AggregationResult <TIn, TKey, TAggrRes>, TKey>(i => i.Key, args.InputStream.SortDefinition.KeyPosition)));
 }
 public AggregateSortedStreamNode(string name, AggregateSortedArgs <TIn, TAggrRes, TKey> args) : base(name, args)
 {
 }