void ReloadItems(NSOutlineView outlineView, IReactiveList <T> _items, Func <T, string> groupBy, Func <T, string> iconExtractor, Func <T, string> titleExtractor) { this.items = _items .GroupBy(groupBy) .Select(group => { var children = group.Select(item => new GenericOutlineItemWrapper(iconExtractor(item), titleExtractor(item))).ToList(); return(new GenericOutlineItemWrapper("", group.Key, children, true)); }) .ToList(); outlineView.ReloadData(); }