private static Expression <Func <TResult> > getValueExpression( INotifyCollectionChanged source) { Expression <Func <TSourceItem> > summarizingExpression = () => source.Summarizing <TSourceItem>().Value; Expression <Func <int> > countExpression = () => ((IList)source).Count; return(getExpression(summarizingExpression, countExpression)); }