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); }