private static INotifyCollectionChanged getSource( INotifyCollectionChanged source1, IReadScalar <INotifyCollectionChanged> source2Scalar, IEqualityComparer <TSourceItem> equalityComparer) { return(source1 .GroupJoining <TSourceItem, TSourceItem, TSourceItem>( source2Scalar, item1 => item1, item2 => item2, equalityComparer) .Filtering(jg => jg.Count > 0) .Selecting(jg => jg.OuterItem)); }