public ObservableGroupedOrderedCollection(Func <TItem, IComparable> indexKey, Func <TItem, IComparable> orderingKey, Func <TItem, IComparable> groupingKey, bool descending = false)
 {
     this.indexKey = indexKey;
     collection    = new GroupedOrderedCollection <TItem>(indexKey, orderingKey, groupingKey, descending);
 }