<?xml version="1.0"?>
<doc>
    <assembly>
        <name>DynamicData</name>
    </assembly>
    <members>
        <member name="T:DynamicData.Aggregation.AggregateItem`1">
            <summary>
            An object representing added and removed items in a continuous aggregation stream.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
        </member>
        <member name="M:DynamicData.Aggregation.AggregateItem`1.#ctor(DynamicData.Aggregation.AggregateType,`0)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Aggregation.AggregateItem`1"/> struct.
            </summary>
            <param name="type">The type.</param>
            <param name="item">The item.</param>
        </member>
        <member name="P:DynamicData.Aggregation.AggregateItem`1.Type">
            <summary>
            Gets the type.
            </summary>
        </member>
        <member name="P:DynamicData.Aggregation.AggregateItem`1.Item">
            <summary>
            Gets the item.
            </summary>
        </member>
        <member name="M:DynamicData.Aggregation.AggregateItem`1.Equals(System.Object)">
            <inheritdoc/>
        </member>
        <member name="M:DynamicData.Aggregation.AggregateItem`1.Equals(DynamicData.Aggregation.AggregateItem{`0})">
            <inheritdoc/>
        </member>
        <member name="M:DynamicData.Aggregation.AggregateItem`1.GetHashCode">
            <inheritdoc/>
        </member>
        <member name="T:DynamicData.Aggregation.AggregateType">
            <summary>
            The type of aggregation.
            </summary>
        </member>
        <member name="F:DynamicData.Aggregation.AggregateType.Add">
            <summary>
            The add.
            </summary>
        </member>
        <member name="F:DynamicData.Aggregation.AggregateType.Remove">
            <summary>
            The remove.
            </summary>
        </member>
        <member name="T:DynamicData.Aggregation.AggregationEx">
            <summary>
            Aggregation extensions.
            </summary>
        </member>
        <member name="M:DynamicData.Aggregation.AggregationEx.ForAggregation``2(System.IObservable{DynamicData.IChangeSet{``0,``1}})">
            <summary>
            Transforms the change set into an enumerable which is suitable for high performing aggregations.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <returns>The aggregated change set.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.AggregationEx.ForAggregation``1(System.IObservable{DynamicData.IChangeSet{``0}})">
            <summary>
            Transforms the change set into an enumerable which is suitable for high performing aggregations.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <returns>The aggregated change set.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.AggregationEx.InvalidateWhen``1(System.IObservable{``0},System.IObservable{System.Reactive.Unit})">
            <summary>
            Used to invalidate an aggregating stream. Used when there has been an inline change
            i.e. a property changed or meta data has changed.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="invalidate">The invalidate.</param>
            <returns>An observable which emits the value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.AggregationEx.InvalidateWhen``2(System.IObservable{``0},System.IObservable{``1})">
            <summary>
            Used to invalidate an aggregating stream. Used when there has been an inline change.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <typeparam name="TTrigger">The type of the trigger.</typeparam>
            <param name="source">The source.</param>
            <param name="invalidate">The invalidate.</param>
            <returns>An observable which emits the value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.AggregationEx.Accumulate``2(System.IObservable{DynamicData.IChangeSet{``0}},``1,System.Func{``0,``1},System.Func{``1,``1,``1},System.Func{``1,``1,``1})">
            <summary>
            Applies an accumulator when items are added to and removed from specified stream,
            starting with the initial seed.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="source">The source.</param>
            <param name="seed">The seed.</param>
            <param name="accessor">The accessor.</param>
            <param name="addAction">The add action.</param>
            <param name="removeAction">The remove action.</param>
            <returns>An observable with the accumulated value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.AggregationEx.Accumulate``3(System.IObservable{DynamicData.IChangeSet{``0,``1}},``2,System.Func{``0,``2},System.Func{``2,``2,``2},System.Func{``2,``2,``2})">
            <summary>
            Applies an accumulator when items are added to and removed from specified stream,
            starting with the initial seed.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="source">The source.</param>
            <param name="seed">The seed.</param>
            <param name="accessor">The accessor.</param>
            <param name="addAction">The add action.</param>
            <param name="removeAction">The remove action.</param>
            <returns>An observable with the accumulated value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.AggregationEx.Accumulate``2(System.IObservable{DynamicData.Aggregation.IAggregateChangeSet{``0}},``1,System.Func{``0,``1},System.Func{``1,``1,``1},System.Func{``1,``1,``1})">
            <summary>
            Applies an accumulator when items are added to and removed from specified stream,
            starting with the initial seed.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="source">The source.</param>
            <param name="seed">The seed.</param>
            <param name="accessor">The accessor.</param>
            <param name="addAction">The add action.</param>
            <param name="removeAction">The remove action.</param>
            <returns>An observable with the accumulated value.</returns>
        </member>
        <member name="T:DynamicData.Aggregation.AvgEx">
            <summary>
            Average extensions.
            </summary>
        </member>
        <member name="M:DynamicData.Aggregation.AvgEx.Avg``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.Int32},System.Int32)">
            <summary>
            Continuous calculation of the average of the underlying data source.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source observable.</param>
            <param name="valueSelector">The function which returns the value.</param>
            <param name="emptyValue">The resulting average value when there is no data.</param>
            <returns>
            An observable of averages.
            </returns>
        </member>
        <member name="M:DynamicData.Aggregation.AvgEx.Avg``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.Nullable{System.Int32}},System.Int32)">
            <summary>
            Continuous calculation of the average of the underlying data source.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source observable.</param>
            <param name="valueSelector">The function which returns the value.</param>
            <param name="emptyValue">The resulting average value when there is no data.</param>
            <returns>
            An observable of averages.
            </returns>
        </member>
        <member name="M:DynamicData.Aggregation.AvgEx.Avg``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.Int64},System.Int64)">
            <summary>
            Continuous calculation of the average of the underlying data source.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source observable.</param>
            <param name="valueSelector">The function which returns the value.</param>
            <param name="emptyValue">The resulting average value when there is no data.</param>
            <returns>
            An observable of averages.
            </returns>
        </member>
        <member name="M:DynamicData.Aggregation.AvgEx.Avg``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.Nullable{System.Int64}},System.Int64)">
            <summary>
            Continuous calculation of the average of the underlying data source.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source observable.</param>
            <param name="valueSelector">The function which returns the value.</param>
            <param name="emptyValue">The resulting average value when there is no data.</param>
            <returns>
            An observable of averages.
            </returns>
        </member>
        <member name="M:DynamicData.Aggregation.AvgEx.Avg``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.Double},System.Double)">
            <summary>
            Continuous calculation of the average of the underlying data source.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source observable.</param>
            <param name="valueSelector">The function which returns the value.</param>
            <param name="emptyValue">The resulting average value when there is no data.</param>
            <returns>
            An observable of averages.
            </returns>
        </member>
        <member name="M:DynamicData.Aggregation.AvgEx.Avg``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.Nullable{System.Double}},System.Double)">
            <summary>
            Continuous calculation of the average of the underlying data source.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source observable.</param>
            <param name="valueSelector">The function which returns the value.</param>
            <param name="emptyValue">The resulting average value when there is no data.</param>
            <returns>
            An observable of averages.
            </returns>
        </member>
        <member name="M:DynamicData.Aggregation.AvgEx.Avg``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.Decimal},System.Decimal)">
            <summary>
            Continuous calculation of the average of the underlying data source.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source observable.</param>
            <param name="valueSelector">The function which returns the value.</param>
            <param name="emptyValue">The resulting average value when there is no data.</param>
            <returns>
            An observable of averages.
            </returns>
        </member>
        <member name="M:DynamicData.Aggregation.AvgEx.Avg``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.Nullable{System.Decimal}},System.Decimal)">
            <summary>
            Continuous calculation of the average of the underlying data source.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source observable.</param>
            <param name="valueSelector">The function which returns the value.</param>
            <param name="emptyValue">The resulting average value when there is no data.</param>
            <returns>
            An observable of averages.
            </returns>
        </member>
        <member name="M:DynamicData.Aggregation.AvgEx.Avg``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.Single},System.Single)">
            <summary>
            Continuous calculation of the average of the underlying data source.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source observable.</param>
            <param name="valueSelector">The function which returns the value.</param>
            <param name="emptyValue">The resulting average value when there is no data.</param>
            <returns>
            An observable of averages.
            </returns>
        </member>
        <member name="M:DynamicData.Aggregation.AvgEx.Avg``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.Nullable{System.Single}},System.Single)">
            <summary>
            Continuous calculation of the average of the underlying data source.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source observable.</param>
            <param name="valueSelector">The function which returns the value.</param>
            <param name="emptyValue">The resulting average value when there is no data.</param>
            <returns>
            An observable of averages.
            </returns>
        </member>
        <member name="M:DynamicData.Aggregation.AvgEx.Avg``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,System.Int32},System.Int32)">
            <summary>
            Continuous calculation of the average of the underlying data source.
            </summary>
            <typeparam name="T">The type to average.</typeparam>
            <param name="source">The source observable.</param>
            <param name="valueSelector">The function which returns the value.</param>
            <param name="emptyValue">The resulting average value when there is no data.</param>
            <returns>
            An observable of averages.
            </returns>
        </member>
        <member name="M:DynamicData.Aggregation.AvgEx.Avg``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,System.Nullable{System.Int32}},System.Int32)">
            <summary>
            Continuous calculation of the average of the underlying data source.
            </summary>
            <typeparam name="T">The type to average.</typeparam>
            <param name="source">The source observable.</param>
            <param name="valueSelector">The function which returns the value.</param>
            <param name="emptyValue">The resulting average value when there is no data.</param>
            <returns>
            An observable of averages.
            </returns>
        </member>
        <member name="M:DynamicData.Aggregation.AvgEx.Avg``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,System.Int64},System.Int64)">
            <summary>
            Continuous calculation of the average of the underlying data source.
            </summary>
            <typeparam name="T">The type to average.</typeparam>
            <param name="source">The source observable.</param>
            <param name="valueSelector">The function which returns the value.</param>
            <param name="emptyValue">The resulting average value when there is no data.</param>
            <returns>
            An observable of averages.
            </returns>
        </member>
        <member name="M:DynamicData.Aggregation.AvgEx.Avg``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,System.Nullable{System.Int64}},System.Int64)">
            <summary>
            Continuous calculation of the average of the underlying data source.
            </summary>
            <typeparam name="T">The type to average.</typeparam>
            <param name="source">The source observable.</param>
            <param name="valueSelector">The function which returns the value.</param>
            <param name="emptyValue">The resulting average value when there is no data.</param>
            <returns>
            An observable of averages.
            </returns>
        </member>
        <member name="M:DynamicData.Aggregation.AvgEx.Avg``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,System.Double},System.Double)">
            <summary>
            Continuous calculation of the average of the underlying data source.
            </summary>
            <typeparam name="T">The type to average.</typeparam>
            <param name="source">The source observable.</param>
            <param name="valueSelector">The function which returns the value.</param>
            <param name="emptyValue">The resulting average value when there is no data.</param>
            <returns>
            An observable of averages.
            </returns>
        </member>
        <member name="M:DynamicData.Aggregation.AvgEx.Avg``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,System.Nullable{System.Double}},System.Double)">
            <summary>
            Continuous calculation of the average of the underlying data source.
            </summary>
            <typeparam name="T">The type to average.</typeparam>
            <param name="source">The source observable.</param>
            <param name="valueSelector">The function which returns the value.</param>
            <param name="emptyValue">The resulting average value when there is no data.</param>
            <returns>
            An observable of averages.
            </returns>
        </member>
        <member name="M:DynamicData.Aggregation.AvgEx.Avg``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,System.Decimal},System.Decimal)">
            <summary>
            Continuous calculation of the average of the underlying data source.
            </summary>
            <typeparam name="T">The type to average.</typeparam>
            <param name="source">The source observable.</param>
            <param name="valueSelector">The function which returns the value.</param>
            <param name="emptyValue">The resulting average value when there is no data.</param>
            <returns>
            An observable of averages.
            </returns>
        </member>
        <member name="M:DynamicData.Aggregation.AvgEx.Avg``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,System.Nullable{System.Decimal}},System.Decimal)">
            <summary>
            Continuous calculation of the average of the underlying data source.
            </summary>
            <typeparam name="T">The type to average.</typeparam>
            <param name="source">The source observable.</param>
            <param name="valueSelector">The function which returns the value.</param>
            <param name="emptyValue">The resulting average value when there is no data.</param>
            <returns>
            An observable of averages.
            </returns>
        </member>
        <member name="M:DynamicData.Aggregation.AvgEx.Avg``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,System.Single},System.Single)">
            <summary>
            Continuous calculation of the average of the underlying data source.
            </summary>
            <typeparam name="T">The type to average.</typeparam>
            <param name="source">The source observable.</param>
            <param name="valueSelector">The function which returns the value.</param>
            <param name="emptyValue">The resulting average value when there is no data.</param>
            <returns>
            An observable of averages.
            </returns>
        </member>
        <member name="M:DynamicData.Aggregation.AvgEx.Avg``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,System.Nullable{System.Single}},System.Single)">
            <summary>
            Continuous calculation of the average of the underlying data source.
            </summary>
            <typeparam name="T">The type to average.</typeparam>
            <param name="source">The source observable.</param>
            <param name="valueSelector">The function which returns the value.</param>
            <param name="emptyValue">The resulting average value when there is no data.</param>
            <returns>
            An observable of averages.
            </returns>
        </member>
        <member name="M:DynamicData.Aggregation.AvgEx.Avg``1(System.IObservable{DynamicData.Aggregation.IAggregateChangeSet{``0}},System.Func{``0,System.Int32},System.Int32)">
            <summary>
            Continuous calculation of the average of the underlying data source.
            </summary>
            <typeparam name="T">The type to average.</typeparam>
            <param name="source">The source observable.</param>
            <param name="valueSelector">The function which returns the value.</param>
            <param name="emptyValue">The resulting average value when there is no data.</param>
            <returns>
            An observable of averages.
            </returns>
        </member>
        <member name="M:DynamicData.Aggregation.AvgEx.Avg``1(System.IObservable{DynamicData.Aggregation.IAggregateChangeSet{``0}},System.Func{``0,System.Nullable{System.Int32}},System.Int32)">
            <summary>
            Continuous calculation of the average of the underlying data source.
            </summary>
            <typeparam name="T">The type to average.</typeparam>
            <param name="source">The source observable.</param>
            <param name="valueSelector">The function which returns the value.</param>
            <param name="emptyValue">The resulting average value when there is no data.</param>
            <returns>
            An observable of averages.
            </returns>
        </member>
        <member name="M:DynamicData.Aggregation.AvgEx.Avg``1(System.IObservable{DynamicData.Aggregation.IAggregateChangeSet{``0}},System.Func{``0,System.Int64},System.Int64)">
            <summary>
            Averages the specified value selector.
            </summary>
            <typeparam name="T">The type to average.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <param name="emptyValue">The empty value.</param>
            <returns>An observable of averages as a double value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.AvgEx.Avg``1(System.IObservable{DynamicData.Aggregation.IAggregateChangeSet{``0}},System.Func{``0,System.Nullable{System.Int64}},System.Int64)">
            <summary>
            Continuous calculation of the average of the underlying data source.
            </summary>
            <typeparam name="T">The type to average.</typeparam>
            <param name="source">The source observable.</param>
            <param name="valueSelector">The function which returns the value.</param>
            <param name="emptyValue">The resulting average value when there is no data.</param>
            <returns>
            An observable of averages.
            </returns>
        </member>
        <member name="M:DynamicData.Aggregation.AvgEx.Avg``1(System.IObservable{DynamicData.Aggregation.IAggregateChangeSet{``0}},System.Func{``0,System.Double},System.Double)">
            <summary>
            Continuous calculation of the average of the underlying data source.
            </summary>
            <typeparam name="T">The type to average.</typeparam>
            <param name="source">The source observable.</param>
            <param name="valueSelector">The function which returns the value.</param>
            <param name="emptyValue">The resulting average value when there is no data.</param>
            <returns>
            An observable of averages.
            </returns>
        </member>
        <member name="M:DynamicData.Aggregation.AvgEx.Avg``1(System.IObservable{DynamicData.Aggregation.IAggregateChangeSet{``0}},System.Func{``0,System.Nullable{System.Double}},System.Double)">
            <summary>
            Continuous calculation of the average of the underlying data source.
            </summary>
            <typeparam name="T">The type to average.</typeparam>
            <param name="source">The source observable.</param>
            <param name="valueSelector">The function which returns the value.</param>
            <param name="emptyValue">The resulting average value when there is no data.</param>
            <returns>
            An observable of averages.
            </returns>
        </member>
        <member name="M:DynamicData.Aggregation.AvgEx.Avg``1(System.IObservable{DynamicData.Aggregation.IAggregateChangeSet{``0}},System.Func{``0,System.Decimal},System.Decimal)">
            <summary>
            Continuous calculation of the average of the underlying data source.
            </summary>
            <typeparam name="T">The type to average.</typeparam>
            <param name="source">The source observable.</param>
            <param name="valueSelector">The function which returns the value.</param>
            <param name="emptyValue">The resulting average value when there is no data.</param>
            <returns>
            An observable of averages.
            </returns>
        </member>
        <member name="M:DynamicData.Aggregation.AvgEx.Avg``1(System.IObservable{DynamicData.Aggregation.IAggregateChangeSet{``0}},System.Func{``0,System.Nullable{System.Decimal}},System.Decimal)">
            <summary>
            Averages the specified value selector.
            </summary>
            <typeparam name="T">The type to average.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <param name="emptyValue">The empty value.</param>
            <returns>An observable of decimals with the averaged values.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.AvgEx.Avg``1(System.IObservable{DynamicData.Aggregation.IAggregateChangeSet{``0}},System.Func{``0,System.Single},System.Single)">
            <summary>
            Continuous calculation of the average of the underlying data source.
            </summary>
            <typeparam name="T">The type to average.</typeparam>
            <param name="source">The source observable.</param>
            <param name="valueSelector">The function which returns the value.</param>
            <param name="emptyValue">The resulting average value when there is no data.</param>
            <returns>
            An observable of averages.
            </returns>
        </member>
        <member name="M:DynamicData.Aggregation.AvgEx.Avg``1(System.IObservable{DynamicData.Aggregation.IAggregateChangeSet{``0}},System.Func{``0,System.Nullable{System.Single}},System.Single)">
            <summary>
            Continuous calculation of the average of the underlying data source.
            </summary>
            <typeparam name="T">The type to average.</typeparam>
            <param name="source">The source observable.</param>
            <param name="valueSelector">The function which returns the value.</param>
            <param name="emptyValue">The resulting average value when there is no data.</param>
            <returns>
            An observable of averages.
            </returns>
        </member>
        <member name="T:DynamicData.Aggregation.CountEx">
            <summary>
            Count extensions.
            </summary>
        </member>
        <member name="M:DynamicData.Aggregation.CountEx.Count``2(System.IObservable{DynamicData.IChangeSet{``0,``1}})">
            <summary>
            Counts the total number of items in the underlying data source.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable which emits the count.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.CountEx.Count``1(System.IObservable{DynamicData.IChangeSet{``0}})">
            <summary>
            Counts the total number of items in the underlying data source.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable which emits the count.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.CountEx.Count``1(System.IObservable{DynamicData.Aggregation.IAggregateChangeSet{``0}})">
            <summary>
            Counts the total number of items in the underlying data source.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable which emits the count.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.CountEx.Count``1(System.IObservable{DynamicData.IDistinctChangeSet{``0}})">
            <summary>
            Counts the total number of items in the underlying data source.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable which emits the count.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.CountEx.IsEmpty``2(System.IObservable{DynamicData.IChangeSet{``0,``1}})">
            <summary>
            Counts the total number of items in the underlying data source
            and return true if the number of items == 0.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable which emits the count.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.CountEx.IsEmpty``1(System.IObservable{DynamicData.IChangeSet{``0}})">
            <summary>
            Counts the total number of items in the underlying data source
            and return true if the number of items == 0.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable which emits the count.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.CountEx.IsNotEmpty``2(System.IObservable{DynamicData.IChangeSet{``0,``1}})">
            <summary>
            Counts the total number of items in the underlying data source
            and returns true if the number of items is greater than 0.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable which emits the count.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.CountEx.IsNotEmpty``1(System.IObservable{DynamicData.IChangeSet{``0}})">
            <summary>
            Counts the total number of items in the underlying data source
            and returns true if the number of items is greater than 0.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable which emits the count.</returns>
        </member>
        <member name="T:DynamicData.Aggregation.IAggregateChangeSet`1">
            <summary>
            A change set which has been shaped for rapid online aggregations.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
        </member>
        <member name="T:DynamicData.Aggregation.MaxEx">
            <summary>
            Maximum and minimum value extensions.
            </summary>
        </member>
        <member name="M:DynamicData.Aggregation.MaxEx.Maximum``2(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,``1},``1)">
            <summary>
            Continually calculates the maximum value from the underlying data source.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <param name="emptyValue">The value to use when the underlying collection is empty.</param>
            <returns>
            A distinct observable of the maximum item.
            </returns>
        </member>
        <member name="M:DynamicData.Aggregation.MaxEx.Maximum``3(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,``2},``2)">
            <summary>
            Continually calculates the maximum value from the underlying data source.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <param name="emptyValue">The value to use when the underlying collection is empty.</param>
            <returns>
            A distinct observable of the maximum item.
            </returns>
        </member>
        <member name="M:DynamicData.Aggregation.MaxEx.Minimum``2(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,``1},``1)">
            <summary>
            Continually calculates the minimum value from the underlying data source.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <param name="emptyValue">The value to use when the underlying collection is empty.</param>
            <returns>A distinct observable of the minimums item.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.MaxEx.Minimum``3(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,``2},``2)">
            <summary>
            Continually calculates the minimum value from the underlying data source.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <param name="emptyValue">The value to use when the underlying collection is empty.</param>
            <returns>
            A distinct observable of the minimums item.
            </returns>
        </member>
        <member name="T:DynamicData.Aggregation.StdDevEx">
            <summary>
            Extensions for calculating standard deviation.
            </summary>
        </member>
        <member name="M:DynamicData.Aggregation.StdDevEx.StdDev``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,System.Int32},System.Int32)">
            <summary>
            Continual computation of the standard deviation of the  values in the underlying data source.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <param name="fallbackValue">The fallback value.</param>
            <returns>An observable which emits the standard deviation value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.StdDevEx.StdDev``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,System.Int64},System.Int64)">
            <summary>
            Continual computation of the standard deviation of the  values in the underlying data source.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <param name="fallbackValue">The fallback value.</param>
            <returns>An observable which emits the standard deviation value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.StdDevEx.StdDev``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,System.Double},System.Double)">
            <summary>
            Continual computation of the standard deviation of the  values in the underlying data source.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <param name="fallbackValue">The fallback value.</param>
            <returns>An observable which emits the standard deviation value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.StdDevEx.StdDev``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,System.Decimal},System.Decimal)">
            <summary>
            Continual computation of the standard deviation of the  values in the underlying data source.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <param name="fallbackValue">The fallback value.</param>
            <returns>An observable which emits the standard deviation value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.StdDevEx.StdDev``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,System.Single},System.Single)">
            <summary>
            Continual computation of the standard deviation of the  values in the underlying data source.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <param name="fallbackValue">The fallback value.</param>
            <returns>An observable which emits the standard deviation value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.StdDevEx.StdDev``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.Int32},System.Int32)">
            <summary>
            Continual computation of the standard deviation of the  values in the underlying data source.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <param name="fallbackValue">The fallback value.</param>
            <returns>An observable which emits the standard deviation value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.StdDevEx.StdDev``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.Int64},System.Int64)">
            <summary>
            Continual computation of the standard deviation of the  values in the underlying data source.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <param name="fallbackValue">The fallback value.</param>
            <returns>An observable which emits the standard deviation value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.StdDevEx.StdDev``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.Double},System.Double)">
            <summary>
            Continual computation of the standard deviation of the  values in the underlying data source.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <param name="fallbackValue">The fallback value.</param>
            <returns>An observable which emits the standard deviation value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.StdDevEx.StdDev``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.Decimal},System.Decimal)">
            <summary>
            Continual computation of the standard deviation of the  values in the underlying data source.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <param name="fallbackValue">The fallback value.</param>
            <returns>An observable which emits the standard deviation value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.StdDevEx.StdDev``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.Single},System.Single)">
            <summary>
            Continual computation of the standard deviation of the  values in the underlying data source.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <param name="fallbackValue">The fallback value.</param>
            <returns>An observable which emits the standard deviation value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.StdDevEx.StdDev``1(System.IObservable{DynamicData.Aggregation.IAggregateChangeSet{``0}},System.Func{``0,System.Int32},System.Int32)">
            <summary>
            Continual computation of the standard deviation of the  values in the underlying data source.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <param name="fallbackValue">The fallback value.</param>
            <returns>An observable which emits the standard deviation value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.StdDevEx.StdDev``1(System.IObservable{DynamicData.Aggregation.IAggregateChangeSet{``0}},System.Func{``0,System.Int64},System.Int64)">
            <summary>
            Continual computation of the standard deviation of the  values in the underlying data source.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <param name="fallbackValue">The fallback value.</param>
            <returns>An observable which emits the standard deviation value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.StdDevEx.StdDev``1(System.IObservable{DynamicData.Aggregation.IAggregateChangeSet{``0}},System.Func{``0,System.Decimal},System.Decimal)">
            <summary>
            Continual computation of the standard deviation of the  values in the underlying data source.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <param name="fallbackValue">The fallback value.</param>
            <returns>An observable which emits the standard deviation value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.StdDevEx.StdDev``1(System.IObservable{DynamicData.Aggregation.IAggregateChangeSet{``0}},System.Func{``0,System.Double},System.Double)">
            <summary>
            Continual computation of the standard deviation of the  values in the underlying data source.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <param name="fallbackValue">The fallback value.</param>
            <returns>An observable which emits the standard deviation value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.StdDevEx.StdDev``1(System.IObservable{DynamicData.Aggregation.IAggregateChangeSet{``0}},System.Func{``0,System.Single},System.Single)">
            <summary>
            Continual computation of the standard deviation of the  values in the underlying data source.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <param name="fallbackValue">The fallback value.</param>
            <returns>An observable which emits the standard deviation value.</returns>
        </member>
        <member name="T:DynamicData.Aggregation.SumEx">
            <summary>
            Aggregation extensions.
            </summary>
        </member>
        <member name="M:DynamicData.Aggregation.SumEx.Sum``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.Int32})">
            <summary>
            Continual computes the sum of values matching the value selector.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <returns>An observable which emits the summed value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.SumEx.Sum``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.Nullable{System.Int32}})">
            <summary>
            Continual computes the sum of values matching the value selector.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <returns>An observable which emits the summed value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.SumEx.Sum``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.Int64})">
            <summary>
            Continual computes the sum of values matching the value selector.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <returns>An observable which emits the summed value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.SumEx.Sum``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.Nullable{System.Int64}})">
            <summary>
            Continual computes the sum of values matching the value selector.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <returns>An observable which emits the summed value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.SumEx.Sum``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.Double})">
            <summary>
            Continual computes the sum of values matching the value selector.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <returns>An observable which emits the summed value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.SumEx.Sum``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.Nullable{System.Double}})">
            <summary>
            Continual computes the sum of values matching the value selector.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <returns>An observable which emits the summed value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.SumEx.Sum``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.Decimal})">
            <summary>
            Continual computes the sum of values matching the value selector.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <returns>An observable which emits the summed value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.SumEx.Sum``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.Nullable{System.Decimal}})">
            <summary>
            Continual computes the sum of values matching the value selector.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <returns>An observable which emits the summed value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.SumEx.Sum``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.Single})">
            <summary>
            Continual computes the sum of values matching the value selector.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <returns>An observable which emits the summed value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.SumEx.Sum``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.Nullable{System.Single}})">
            <summary>
            Continual computes the sum of values matching the value selector.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <returns>An observable which emits the summed value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.SumEx.Sum``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,System.Int32})">
            <summary>
            Continual computes the sum of values matching the value selector.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <returns>An observable which emits the summed value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.SumEx.Sum``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,System.Nullable{System.Int32}})">
            <summary>
            Continual computes the sum of values matching the value selector.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <returns>An observable which emits the summed value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.SumEx.Sum``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,System.Int64})">
            <summary>
            Continual computes the sum of values matching the value selector.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <returns>An observable which emits the summed value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.SumEx.Sum``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,System.Nullable{System.Int64}})">
            <summary>
            Continual computes the sum of values matching the value selector.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <returns>An observable which emits the summed value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.SumEx.Sum``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,System.Double})">
            <summary>
            Continual computes the sum of values matching the value selector.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <returns>An observable which emits the summed value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.SumEx.Sum``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,System.Nullable{System.Double}})">
            <summary>
            Continual computes the sum of values matching the value selector.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <returns>An observable which emits the summed value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.SumEx.Sum``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,System.Decimal})">
            <summary>
            Continual computes the sum of values matching the value selector.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <returns>An observable which emits the summed value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.SumEx.Sum``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,System.Nullable{System.Decimal}})">
            <summary>
            Continual computes the sum of values matching the value selector.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <returns>An observable which emits the summed value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.SumEx.Sum``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,System.Single})">
            <summary>
            Continual computes the sum of values matching the value selector.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <returns>An observable which emits the summed value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.SumEx.Sum``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,System.Nullable{System.Single}})">
            <summary>
            Continual computes the sum of values matching the value selector.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <returns>An observable which emits the summed value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.SumEx.Sum``1(System.IObservable{DynamicData.Aggregation.IAggregateChangeSet{``0}},System.Func{``0,System.Int32})">
            <summary>
            Continual computes the sum of values matching the value selector.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <returns>An observable which emits the summed value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.SumEx.Sum``1(System.IObservable{DynamicData.Aggregation.IAggregateChangeSet{``0}},System.Func{``0,System.Nullable{System.Int32}})">
            <summary>
            Continual computes the sum of values matching the value selector.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <returns>An observable which emits the summed value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.SumEx.Sum``1(System.IObservable{DynamicData.Aggregation.IAggregateChangeSet{``0}},System.Func{``0,System.Int64})">
            <summary>
            Continual computes the sum of values matching the value selector.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <returns>An observable which emits the summed value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.SumEx.Sum``1(System.IObservable{DynamicData.Aggregation.IAggregateChangeSet{``0}},System.Func{``0,System.Nullable{System.Int64}})">
            <summary>
            Continual computes the sum of values matching the value selector.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <returns>An observable which emits the summed value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.SumEx.Sum``1(System.IObservable{DynamicData.Aggregation.IAggregateChangeSet{``0}},System.Func{``0,System.Double})">
            <summary>
            Continual computes the sum of values matching the value selector.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <returns>An observable which emits the summed value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.SumEx.Sum``1(System.IObservable{DynamicData.Aggregation.IAggregateChangeSet{``0}},System.Func{``0,System.Nullable{System.Double}})">
            <summary>
            Continual computes the sum of values matching the value selector.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <returns>An observable which emits the summed value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.SumEx.Sum``1(System.IObservable{DynamicData.Aggregation.IAggregateChangeSet{``0}},System.Func{``0,System.Decimal})">
            <summary>
            Continual computes the sum of values matching the value selector.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <returns>An observable which emits the summed value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.SumEx.Sum``1(System.IObservable{DynamicData.Aggregation.IAggregateChangeSet{``0}},System.Func{``0,System.Nullable{System.Decimal}})">
            <summary>
            Continual computes the sum of values matching the value selector.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <returns>An observable which emits the summed value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.SumEx.Sum``1(System.IObservable{DynamicData.Aggregation.IAggregateChangeSet{``0}},System.Func{``0,System.Single})">
            <summary>
            Continual computes the sum of values matching the value selector.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <returns>An observable which emits the summed value.</returns>
        </member>
        <member name="M:DynamicData.Aggregation.SumEx.Sum``1(System.IObservable{DynamicData.Aggregation.IAggregateChangeSet{``0}},System.Func{``0,System.Nullable{System.Single}})">
            <summary>
            Continual computes the sum of values matching the value selector.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <returns>An observable which emits the summed value.</returns>
        </member>
        <member name="T:DynamicData.Alias.ObservableCacheAlias">
            <summary>
            Observable cache alias names.
            </summary>
        </member>
        <member name="M:DynamicData.Alias.ObservableCacheAlias.Select``3(System.IObservable{DynamicData.IChangeSet{``1,``2}},System.Func{``1,``2,``0},System.IObservable{System.Reactive.Unit})">
            <summary>
            Projects each update item to a new form using the specified transform function.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="forceTransform">Invoke to force a new transform for all items.</param>#
            <returns>
            A transformed update collection.
            </returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            transformFactory.</exception>
        </member>
        <member name="M:DynamicData.Alias.ObservableCacheAlias.Select``3(System.IObservable{DynamicData.IChangeSet{``1,``2}},System.Func{``1,``2,``0},System.IObservable{System.Func{``1,``2,System.Boolean}})">
            <summary>
            Projects each update item to a new form using the specified transform function.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="forceTransform">Invoke to force a new transform for items matching the selected objects.</param>
            <returns>
            A transformed update collection.
            </returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            transformFactory.</exception>
        </member>
        <member name="M:DynamicData.Alias.ObservableCacheAlias.Select``3(System.IObservable{DynamicData.IChangeSet{``1,``2}},System.Func{``1,``0},System.IObservable{System.Reactive.Unit})">
            <summary>
            Projects each update item to a new form using the specified transform function.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="forceTransform">Invoke to force a new transform for all items.</param>
            <returns>
            A transformed update collection.
            </returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            transformFactory.</exception>
        </member>
        <member name="M:DynamicData.Alias.ObservableCacheAlias.Select``3(System.IObservable{DynamicData.IChangeSet{``1,``2}},System.Func{``1,``0},System.IObservable{System.Func{``1,System.Boolean}})">
            <summary>
            Projects each update item to a new form using the specified transform function.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="forceTransform">Invoke to force a new transform for items matching the selected objects.</param>
            <returns>
            A transformed update collection.
            </returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            transformFactory.</exception>
        </member>
        <member name="M:DynamicData.Alias.ObservableCacheAlias.SelectMany``4(System.IObservable{DynamicData.IChangeSet{``2,``3}},System.Func{``2,System.Collections.Generic.IEnumerable{``0}},System.Func{``0,``1})">
            <summary>
            Equivalent to a select many transform. To work, the key must individually identify each child.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TDestinationKey">The type of the destination key.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TSourceKey">The type of the source key.</typeparam>
            <param name="source">The source.</param>
            <param name="manySelector">The selector for selecting the enumerable.</param>
            <param name="keySelector">The key selector which must be unique across all.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.Alias.ObservableCacheAlias.SelectSafe``3(System.IObservable{DynamicData.IChangeSet{``1,``2}},System.Func{``1,``0},System.Action{DynamicData.Kernel.Error{``1,``2}},System.IObservable{System.Reactive.Unit})">
            <summary>
            Projects each update item to a new form using the specified transform function,
            providing an error handling action to safely handle transform errors without killing the stream.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="errorHandler">Provides the option to safely handle errors without killing the stream.
             If not specified the stream will terminate as per rx convention.
            </param>
            <param name="forceTransform">Invoke to force a new transform for items matching the selected objects.</param>
            <returns>
            A transformed update collection.
            </returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            transformFactory.</exception>
        </member>
        <member name="M:DynamicData.Alias.ObservableCacheAlias.SelectSafe``3(System.IObservable{DynamicData.IChangeSet{``1,``2}},System.Func{``1,``0},System.Action{DynamicData.Kernel.Error{``1,``2}},System.IObservable{System.Func{``1,System.Boolean}})">
            <summary>
            Projects each update item to a new form using the specified transform function,
            providing an error handling action to safely handle transform errors without killing the stream.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="errorHandler">Provides the option to safely handle errors without killing the stream.
             If not specified the stream will terminate as per rx convention.
            </param>
            <param name="forceTransform">Invoke to force a new transform for items matching the selected objects.</param>
            <returns>
            A transformed update collection.
            </returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            transformFactory.</exception>
        </member>
        <member name="M:DynamicData.Alias.ObservableCacheAlias.SelectSafe``3(System.IObservable{DynamicData.IChangeSet{``1,``2}},System.Func{``1,``2,``0},System.Action{DynamicData.Kernel.Error{``1,``2}},System.IObservable{System.Func{``1,``2,System.Boolean}})">
            <summary>
            Projects each update item to a new form using the specified transform function,
            providing an error handling action to safely handle transform errors without killing the stream.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="errorHandler">Provides the option to safely handle errors without killing the stream.
             If not specified the stream will terminate as per rx convention.
            </param>
            <param name="forceTransform">Invoke to force a new transform for items matching the selected objects.</param>
            <returns>
            A transformed update collection.
            </returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            transformFactory.</exception>
        </member>
        <member name="M:DynamicData.Alias.ObservableCacheAlias.SelectSafe``3(System.IObservable{DynamicData.IChangeSet{``1,``2}},System.Func{``1,``2,``0},System.Action{DynamicData.Kernel.Error{``1,``2}},System.IObservable{System.Reactive.Unit})">
            <summary>
            Projects each update item to a new form using the specified transform function,
            providing an error handling action to safely handle transform errors without killing the stream.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="errorHandler">Provides the option to safely handle errors without killing the stream.
             If not specified the stream will terminate as per rx convention.
            </param>
            <param name="forceTransform">Invoke to force a new transform for all items.</param>
            <returns>
            A transformed update collection.
            </returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            transformFactory.</exception>
        </member>
        <member name="M:DynamicData.Alias.ObservableCacheAlias.SelectTree``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,``1})">
            <summary>
            Transforms the object to a fully recursive tree, create a hierarchy based on the pivot function.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="pivotOn">The pivot on.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.Alias.ObservableCacheAlias.Where``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.Boolean})">
            <summary>
            Filters the specified source.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="filter">The filter.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.Alias.ObservableCacheAlias.Where``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.IObservable{System.Func{``0,System.Boolean}})">
            <summary>
            Creates a filtered stream which can be dynamically filtered.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="predicateChanged">Observable to change the underlying predicate.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.Alias.ObservableCacheAlias.Where``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.IObservable{System.Reactive.Unit})">
            <summary>
            Creates a filtered stream which can be dynamically filtered.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="reapplyFilter">Observable to re-evaluate whether the filter still matches items. Use when filtering on mutable values.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.Alias.ObservableCacheAlias.Where``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.IObservable{System.Func{``0,System.Boolean}},System.IObservable{System.Reactive.Unit})">
            <summary>
            Creates a filtered stream which can be dynamically filtered.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="predicateChanged">Observable to change the underlying predicate.</param>
            <param name="reapplyFilter">Observable to re-evaluate whether the filter still matches items. Use when filtering on mutable values.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="T:DynamicData.Alias.ObservableListAlias">
            <summary>
            Observable cache alias names.
            </summary>
        </member>
        <member name="M:DynamicData.Alias.ObservableListAlias.Select``2(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,``1})">
            <summary>
            Projects each update item to a new form using the specified transform function.
            </summary>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <returns>An observable which emits the change set.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            valueSelector.
            </exception>
        </member>
        <member name="M:DynamicData.Alias.ObservableListAlias.SelectMany``2(System.IObservable{DynamicData.IChangeSet{``1}},System.Func{``1,System.Collections.Generic.IEnumerable{``0}})">
            <summary>
            Equivalent to a select many transform. To work, the key must individually identify each child.
            **** Assumes each child can only have one parent - support for children with multiple parents is a work in progresses.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <param name="source">The source.</param>
            <param name="manySelector">The selector for the enumerable.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.Alias.ObservableListAlias.Where``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,System.Boolean})">
            <summary>
            Filters the source using the specified valueSelector.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="predicate">The valueSelector.</param>
            <returns>An observable which emits the change set.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.Alias.ObservableListAlias.Where``1(System.IObservable{DynamicData.IChangeSet{``0}},System.IObservable{System.Func{``0,System.Boolean}})">
            <summary>
            Filters source using the specified filter observable predicate.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="predicate">The predict for deciding on items to filter.</param>
            <returns>An observable which emits the change set.</returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            filterController.</exception>
        </member>
        <member name="T:DynamicData.Binding.AbstractNotifyPropertyChanged">
            <summary>
            Base class for implementing notify property changes.
            </summary>
        </member>
        <member name="E:DynamicData.Binding.AbstractNotifyPropertyChanged.PropertyChanged">
            <summary>
            Occurs when a property value has changed.
            </summary>
        </member>
        <member name="M:DynamicData.Binding.AbstractNotifyPropertyChanged.SuspendNotifications(System.Boolean)">
            <summary>
            Suspends notifications. When disposed, a reset notification is fired.
            </summary>
            <param name="invokePropertyChangeEventWhenDisposed">If the property changed event should be invoked when disposed.</param>
            <returns>A disposable to indicate to stop suspending the notifications.</returns>
        </member>
        <member name="M:DynamicData.Binding.AbstractNotifyPropertyChanged.OnPropertyChanged(System.String)">
            <summary>
            Invokes on property changed.
            </summary>
            <param name="propertyName">Name of the property.</param>
        </member>
        <member name="M:DynamicData.Binding.AbstractNotifyPropertyChanged.SetAndRaise``1(``0@,``0,System.String)">
            <summary>
            If the value has changed, sets referenced backing field and raise notify property changed.
            </summary>
            <typeparam name="T">The type to set and raise.</typeparam>
            <param name="backingField">The backing field.</param>
            <param name="newValue">The new value.</param>
            <param name="propertyName">Name of the property.</param>
        </member>
        <member name="M:DynamicData.Binding.AbstractNotifyPropertyChanged.SetAndRaise``1(``0@,``0,System.Collections.Generic.IEqualityComparer{``0},System.String)">
            <summary>
            If the value has changed, sets referenced backing field and raise notify property changed.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="backingField">The backing field.</param>
            <param name="newValue">The new value.</param>
            <param name="comparer">The comparer.</param>
            <param name="propertyName">Name of the property.</param>
        </member>
        <member name="T:DynamicData.Binding.BindingListAdaptor`1">
            <summary>
            Adaptor to reflect a change set into a binding list.
            </summary>
            <typeparam name="T">The type of items.</typeparam>
        </member>
        <member name="M:DynamicData.Binding.BindingListAdaptor`1.#ctor(System.ComponentModel.BindingList{`0},System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Binding.BindingListAdaptor`1"/> class.
            </summary>
            <param name="list">The list of items to add to the adapter.</param>
            <param name="refreshThreshold">The threshold before a reset is issued.</param>
        </member>
        <member name="M:DynamicData.Binding.BindingListAdaptor`1.Adapt(DynamicData.IChangeSet{`0})">
            <inheritdoc />
        </member>
        <member name="T:DynamicData.Binding.BindingListAdaptor`2">
            <summary>
            Adaptor to reflect a change set into a binding list.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
        </member>
        <member name="M:DynamicData.Binding.BindingListAdaptor`2.#ctor(System.ComponentModel.BindingList{`0},System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Binding.BindingListAdaptor`2"/> class.
            </summary>
            <param name="list">The list of items to adapt.</param>
            <param name="refreshThreshold">The threshold before the refresh is triggered.</param>
        </member>
        <member name="M:DynamicData.Binding.BindingListAdaptor`2.Adapt(DynamicData.IChangeSet{`0,`1})">
            <inheritdoc />
        </member>
        <member name="T:DynamicData.Binding.BindingListEx">
            <summary>
            Extensions to convert an binding list into a dynamic stream.
            </summary>
        </member>
        <member name="M:DynamicData.Binding.BindingListEx.ObserveCollectionChanges(System.ComponentModel.IBindingList)">
            <summary>
            Observes list changed args.
            </summary>
            <param name="source">The source list.</param>
            <returns>An observable which emits event pattern changed event args.</returns>
        </member>
        <member name="M:DynamicData.Binding.BindingListEx.ToObservableChangeSet``1(System.ComponentModel.BindingList{``0})">
            <summary>
            Convert a binding list into an observable change set.
            Change set observes list change events.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable which emits change set values.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.Binding.BindingListEx.ToObservableChangeSet``2(System.ComponentModel.BindingList{``0},System.Func{``0,``1})">
            <summary>
            Convert a binding list into an observable change set.
            Change set observes list change events.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="keySelector">The key selector.</param>
            <returns>An observable which emits change set values.</returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            keySelector.</exception>
        </member>
        <member name="M:DynamicData.Binding.BindingListEx.ToObservableChangeSet``2(``0)">
            <summary>
            Convert a binding list into an observable change set.
            Change set observes list change events.
            </summary>
            <typeparam name="TCollection">The collection type.</typeparam>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable which emits change set values.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="T:DynamicData.Binding.IEvaluateAware">
            <summary>
            Implement on an object and use in conjunction with InvokeEvaluate operator
            to make an object aware of any evaluates.
            </summary>
        </member>
        <member name="M:DynamicData.Binding.IEvaluateAware.Evaluate">
            <summary>
            Refresh method.
            </summary>
        </member>
        <member name="T:DynamicData.Binding.IIndexAware">
            <summary>
            Implement on an object and use in conjunction with UpdateIndex operator
            to make an object aware of it's sorted index.
            </summary>
        </member>
        <member name="P:DynamicData.Binding.IIndexAware.Index">
            <summary>
            Gets or sets the index.
            </summary>
            <value>
            The index.
            </value>
        </member>
        <member name="T:DynamicData.Binding.INotifyCollectionChangedSuspender">
            <summary>
            Represents an observable collection where collection changed and count notifications can be suspended.
            </summary>
        </member>
        <member name="M:DynamicData.Binding.INotifyCollectionChangedSuspender.SuspendCount">
            <summary>
            Suspends count notifications.
            </summary>
            <returns>A disposable which when disposed re-activates count notifications.</returns>
        </member>
        <member name="M:DynamicData.Binding.INotifyCollectionChangedSuspender.SuspendNotifications">
            <summary>
            Suspends notifications. When disposed, a reset notification is fired.
            </summary>
            <returns>A disposable which when disposed re-activates notifications.</returns>
        </member>
        <member name="T:DynamicData.Binding.IObservableCollection`1">
            <summary>
            An override of observable collection which allows the suspension of notifications.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
        </member>
        <member name="M:DynamicData.Binding.IObservableCollection`1.Load(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Clears the list and Loads the specified items.
            </summary>
            <param name="items">The items.</param>
        </member>
        <member name="M:DynamicData.Binding.IObservableCollection`1.Move(System.Int32,System.Int32)">
            <summary>
            Moves the item at the specified index to a new location in the collection.
            </summary>
            <param name="oldIndex">The zero-based index specifying the location of the item to be moved.</param>
            <param name="newIndex">The zero-based index specifying the new location of the item.</param>
        </member>
        <member name="T:DynamicData.Binding.IObservableCollectionAdaptor`2">
            <summary>
            Represents an adaptor which is used to update observable collection from
            a change set stream.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
        </member>
        <member name="M:DynamicData.Binding.IObservableCollectionAdaptor`2.Adapt(DynamicData.IChangeSet{`0,`1},DynamicData.Binding.IObservableCollection{`0})">
            <summary>
            Maintains the specified collection from the changes.
            </summary>
            <param name="changes">The changes.</param>
            <param name="collection">The collection.</param>
        </member>
        <member name="T:DynamicData.Binding.IObservableListEx">
            <summary>
            Extensions to convert a dynamic stream out to an <see cref="T:DynamicData.IObservableList`1"/>.
            </summary>
        </member>
        <member name="M:DynamicData.Binding.IObservableListEx.BindToObservableList``1(System.IObservable{DynamicData.IChangeSet{``0}},DynamicData.IObservableList{``0}@)">
            <summary>
            Binds the results to the specified <see cref="T:DynamicData.IObservableList`1"/>. Unlike
            binding to a <see cref="T:System.Collections.ObjectModel.ReadOnlyObservableCollection`1"/> which loses the
            ability to refresh items, binding to an <see cref="T:DynamicData.IObservableList`1"/>.
            allows for refresh changes to be preserved and keeps the list read-only.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <param name="observableList">The output observable list.</param>
            <returns>The <paramref name="source"/> change set for continued chaining.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.Binding.IObservableListEx.BindToObservableList``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},DynamicData.IObservableList{``0}@)">
            <summary>
            Binds the results to the specified <see cref="T:DynamicData.IObservableList`1"/>. Unlike
            binding to a <see cref="T:System.Collections.ObjectModel.ReadOnlyObservableCollection`1"/> which loses the
            ability to refresh items, binding to an <see cref="T:DynamicData.IObservableList`1"/>.
            allows for refresh changes to be preserved and keeps the list read-only.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="observableList">The observable list which is the output.</param>
            <returns>The <paramref name="source"/> change set for continued chaining.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.Binding.IObservableListEx.BindToObservableList``2(System.IObservable{DynamicData.ISortedChangeSet{``0,``1}},DynamicData.IObservableList{``0}@)">
            <summary>
            Binds the results to the specified <see cref="T:DynamicData.IObservableList`1"/>. Unlike
            binding to a <see cref="T:System.Collections.ObjectModel.ReadOnlyObservableCollection`1"/> which loses the
            ability to refresh items, binding to an <see cref="T:DynamicData.IObservableList`1"/>.
            allows for refresh changes to be preserved and keeps the list read-only.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="observableList">The output observable list.</param>
            <returns>The <paramref name="source"/> change set for continued chaining.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.Binding.IObservableListEx.RemoveKey``2(DynamicData.IChangeSet{``0,``1},DynamicData.IExtendedList{``0})">
            <summary>
            Converts a <see cref="T:DynamicData.IChangeSet`2"/> to <see cref="T:DynamicData.IChangeSet`1"/>
            which allows for binding a cache to a list.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="changeSetWithKey">The source change set.</param>
            <param name="list">The list needed to support refresh.</param>
            <returns>The down casted <see cref="T:DynamicData.IChangeSet`1"/>.</returns>
        </member>
        <member name="T:DynamicData.Binding.ISortedObservableCollectionAdaptor`2">
            <summary>
            Represents an adaptor which is used to update observable collection from
            a sorted change set stream.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
        </member>
        <member name="M:DynamicData.Binding.ISortedObservableCollectionAdaptor`2.Adapt(DynamicData.ISortedChangeSet{`0,`1},DynamicData.Binding.IObservableCollection{`0})">
            <summary>
            Maintains the specified collection from the changes.
            </summary>
            <param name="changes">The changes.</param>
            <param name="collection">The collection.</param>
        </member>
        <member name="T:DynamicData.Binding.NotifyPropertyChangedEx">
            <summary>
            Property changes notification.
            </summary>
        </member>
        <member name="M:DynamicData.Binding.NotifyPropertyChangedEx.WhenAnyPropertyChanged``1(``0,System.String[])">
            <summary>
            Notifies when any property on the object has changed.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <param name="propertiesToMonitor">specify properties to Monitor, or omit to monitor all property changes.</param>
            <returns>A observable which includes notifying on any property.</returns>
        </member>
        <member name="M:DynamicData.Binding.NotifyPropertyChangedEx.WhenChanged``3(``0,System.Linq.Expressions.Expression{System.Func{``0,``2}},System.Func{``0,``2,``1},System.Func{``2})">
            <summary>
            Produces an observable based on the combined values of the specified properties, including the initial value.
            ** A fallback value may be specified to ensure a notification is received when a value is unobtainable.
            For example when observing Parent.Child.Age, if Child is null the value is unobtainable as Age is a struct and cannot be set to Null.
            For an object like Parent.Child.Sibling, sibling is an object so if Child is null, the value null and obtainable and is returned as null.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TResult">The type of the result.</typeparam>
            <typeparam name="TProperty1">The type of the first property.</typeparam>
            <param name="source">The source object.</param>
            <param name="p1">An expression to the first property.</param>
            <param name="resultSelector">A function which will select the result from the properties and the source.</param>
            <param name="p1Fallback">Provides a fall back value for the first property in case of the property value cannot be obtained.</param>
            <returns>An observable which emits the results.</returns>
        </member>
        <member name="M:DynamicData.Binding.NotifyPropertyChangedEx.WhenChanged``4(``0,System.Linq.Expressions.Expression{System.Func{``0,``2}},System.Linq.Expressions.Expression{System.Func{``0,``3}},System.Func{``0,``2,``3,``1},System.Func{``2},System.Func{``3})">
            <summary>
            Produces an observable based on the combined values of the specified properties, including the initial value.
            ** A fallback value may be specified to ensure a notification is received when a value is unobtainable.
            For example when observing Parent.Child.Age, if Child is null the value is unobtainable as Age is a struct and cannot be set to Null.
            For an object like Parent.Child.Sibling, sibling is an object so if Child is null, the value null and obtainable and is returned as null.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TResult">The type of the result.</typeparam>
            <typeparam name="TProperty1">The type of the first property.</typeparam>
            <typeparam name="TProperty2">The type of the second property.</typeparam>
            <param name="source">The source object.</param>
            <param name="p1">An expression to the first property.</param>
            <param name="p2">An expression to the second property.</param>
            <param name="resultSelector">A function which will select the result from the properties and the source.</param>
            <param name="p1Fallback">Provides a fall back value for the first property in case of the property value cannot be obtained.</param>
            <param name="p2Fallback">Provides a fall back value for the second property in case of the property value cannot be obtained.</param>
            <returns>An observable which emits the results.</returns>
        </member>
        <member name="M:DynamicData.Binding.NotifyPropertyChangedEx.WhenChanged``5(``0,System.Linq.Expressions.Expression{System.Func{``0,``2}},System.Linq.Expressions.Expression{System.Func{``0,``3}},System.Linq.Expressions.Expression{System.Func{``0,``4}},System.Func{``0,``2,``3,``4,``1},System.Func{``2},System.Func{``3},System.Func{``4})">
            <summary>
            Produces an observable based on the combined values of the specified properties, including the initial value.
            ** A fallback value may be specified to ensure a notification is received when a value is unobtainable.
            For example when observing Parent.Child.Age, if Child is null the value is unobtainable as Age is a struct and cannot be set to Null.
            For an object like Parent.Child.Sibling, sibling is an object so if Child is null, the value null and obtainable and is returned as null.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TResult">The type of the result.</typeparam>
            <typeparam name="TProperty1">The type of the first property.</typeparam>
            <typeparam name="TProperty2">The type of the second property.</typeparam>
            <typeparam name="TProperty3">The type of the third property.</typeparam>
            <param name="source">The source object.</param>
            <param name="p1">An expression to the first property.</param>
            <param name="p2">An expression to the second property.</param>
            <param name="p3">An expression to the third property.</param>
            <param name="resultSelector">A function which will select the result from the properties and the source.</param>
            <param name="p1Fallback">Provides a fall back value for the first property in case of the property value cannot be obtained.</param>
            <param name="p2Fallback">Provides a fall back value for the second property in case of the property value cannot be obtained.</param>
            <param name="p3Fallback">Provides a fall back value for the third property in case of the property value cannot be obtained.</param>
            <returns>An observable which emits the results.</returns>
        </member>
        <member name="M:DynamicData.Binding.NotifyPropertyChangedEx.WhenChanged``6(``0,System.Linq.Expressions.Expression{System.Func{``0,``2}},System.Linq.Expressions.Expression{System.Func{``0,``3}},System.Linq.Expressions.Expression{System.Func{``0,``4}},System.Linq.Expressions.Expression{System.Func{``0,``5}},System.Func{``0,``2,``3,``4,``5,``1},System.Func{``2},System.Func{``3},System.Func{``4},System.Func{``5})">
            <summary>
            Produces an observable based on the combined values of the specified properties, including the initial value.
            ** A fallback value may be specified to ensure a notification is received when a value is unobtainable.
            For example when observing Parent.Child.Age, if Child is null the value is unobtainable as Age is a struct and cannot be set to Null.
            For an object like Parent.Child.Sibling, sibling is an object so if Child is null, the value null and obtainable and is returned as null.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TResult">The type of the result.</typeparam>
            <typeparam name="TProperty1">The type of the first property.</typeparam>
            <typeparam name="TProperty2">The type of the second property.</typeparam>
            <typeparam name="TProperty3">The type of the third property.</typeparam>
            <typeparam name="TProperty4">The type of the fourth property.</typeparam>
            <param name="source">The source object.</param>
            <param name="p1">An expression to the first property.</param>
            <param name="p2">An expression to the second property.</param>
            <param name="p3">An expression to the third property.</param>
            <param name="p4">An expression to the fourth property.</param>
            <param name="resultSelector">A function which will select the result from the properties and the source.</param>
            <param name="p1Fallback">Provides a fall back value for the first property in case of the property value cannot be obtained.</param>
            <param name="p2Fallback">Provides a fall back value for the second property in case of the property value cannot be obtained.</param>
            <param name="p3Fallback">Provides a fall back value for the third property in case of the property value cannot be obtained.</param>
            <param name="p4Fallback">Provides a fall back value for the fourth property in case of the property value cannot be obtained.</param>
            <returns>An observable which emits the results.</returns>
        </member>
        <member name="M:DynamicData.Binding.NotifyPropertyChangedEx.WhenChanged``7(``0,System.Linq.Expressions.Expression{System.Func{``0,``2}},System.Linq.Expressions.Expression{System.Func{``0,``3}},System.Linq.Expressions.Expression{System.Func{``0,``4}},System.Linq.Expressions.Expression{System.Func{``0,``5}},System.Linq.Expressions.Expression{System.Func{``0,``6}},System.Func{``0,``2,``3,``4,``5,``6,``1},System.Func{``2},System.Func{``3},System.Func{``4},System.Func{``5},System.Func{``6})">
            <summary>
            Produces an observable based on the combined values of the specified properties, including the initial value.
            ** A fallback value may be specified to ensure a notification is received when a value is unobtainable.
            For example when observing Parent.Child.Age, if Child is null the value is unobtainable as Age is a struct and cannot be set to Null.
            For an object like Parent.Child.Sibling, sibling is an object so if Child is null, the value null and obtainable and is returned as null.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TResult">The type of the result.</typeparam>
            <typeparam name="TProperty1">The type of the first property.</typeparam>
            <typeparam name="TProperty2">The type of the second property.</typeparam>
            <typeparam name="TProperty3">The type of the third property.</typeparam>
            <typeparam name="TProperty4">The type of the fourth property.</typeparam>
            <typeparam name="TProperty5">The type of the fifth property.</typeparam>
            <param name="source">The source object.</param>
            <param name="p1">An expression to the first property.</param>
            <param name="p2">An expression to the second property.</param>
            <param name="p3">An expression to the third property.</param>
            <param name="p4">An expression to the fourth property.</param>
            <param name="p5">An expression to the fifth property.</param>
            <param name="resultSelector">A function which will select the result from the properties and the source.</param>
            <param name="p1Fallback">Provides a fall back value for the first property in case of the property value cannot be obtained.</param>
            <param name="p2Fallback">Provides a fall back value for the second property in case of the property value cannot be obtained.</param>
            <param name="p3Fallback">Provides a fall back value for the third property in case of the property value cannot be obtained.</param>
            <param name="p4Fallback">Provides a fall back value for the fourth property in case of the property value cannot be obtained.</param>
            <param name="p5Fallback">Provides a fall back value for the fifth property in case of the property value cannot be obtained.</param>
            <returns>An observable which emits the results.</returns>
        </member>
        <member name="M:DynamicData.Binding.NotifyPropertyChangedEx.WhenChanged``8(``0,System.Linq.Expressions.Expression{System.Func{``0,``2}},System.Linq.Expressions.Expression{System.Func{``0,``3}},System.Linq.Expressions.Expression{System.Func{``0,``4}},System.Linq.Expressions.Expression{System.Func{``0,``5}},System.Linq.Expressions.Expression{System.Func{``0,``6}},System.Linq.Expressions.Expression{System.Func{``0,``7}},System.Func{``0,``2,``3,``4,``5,``6,``7,``1},System.Func{``2},System.Func{``3},System.Func{``4},System.Func{``5},System.Func{``6},System.Func{``7})">
            <summary>
            Produces an observable based on the combined values of the specified properties, including the initial value.
            ** A fallback value may be specified to ensure a notification is received when a value is unobtainable.
            For example when observing Parent.Child.Age, if Child is null the value is unobtainable as Age is a struct and cannot be set to Null.
            For an object like Parent.Child.Sibling, sibling is an object so if Child is null, the value null and obtainable and is returned as null.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TResult">The type of the result.</typeparam>
            <typeparam name="TProperty1">The type of the first property.</typeparam>
            <typeparam name="TProperty2">The type of the second property.</typeparam>
            <typeparam name="TProperty3">The type of the third property.</typeparam>
            <typeparam name="TProperty4">The type of the fourth property.</typeparam>
            <typeparam name="TProperty5">The type of the fifth property.</typeparam>
            <typeparam name="TProperty6">The type of the sixth property.</typeparam>
            <param name="source">The source object.</param>
            <param name="p1">An expression to the first property.</param>
            <param name="p2">An expression to the second property.</param>
            <param name="p3">An expression to the third property.</param>
            <param name="p4">An expression to the fourth property.</param>
            <param name="p5">An expression to the fifth property.</param>
            <param name="p6">An expression to the sixth property.</param>
            <param name="resultSelector">A function which will select the result from the properties and the source.</param>
            <param name="p1Fallback">Provides a fall back value for the first property in case of the property value cannot be obtained.</param>
            <param name="p2Fallback">Provides a fall back value for the second property in case of the property value cannot be obtained.</param>
            <param name="p3Fallback">Provides a fall back value for the third property in case of the property value cannot be obtained.</param>
            <param name="p4Fallback">Provides a fall back value for the fourth property in case of the property value cannot be obtained.</param>
            <param name="p5Fallback">Provides a fall back value for the fifth property in case of the property value cannot be obtained.</param>
            <param name="p6Fallback">Provides a fall back value for the sixth property in case of the property value cannot be obtained.</param>
            <returns>An observable which emits the results.</returns>
        </member>
        <member name="M:DynamicData.Binding.NotifyPropertyChangedEx.WhenPropertyChanged``2(``0,System.Linq.Expressions.Expression{System.Func{``0,``1}},System.Boolean,System.Func{``1})">
            <summary>
            Observes property changes for the specified property, starting with the current value.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TProperty">The type of the value.</typeparam>
            <param name="source">The source.</param>
            <param name="propertyAccessor">The property to observe.</param>
            <param name="notifyOnInitialValue">If true the resulting observable includes the initial value.</param>
            <param name="fallbackValue"> A fallback value may be specified to ensure a notification is received when a value is unobtainable.
            For example when observing Parent.Child.Age, if Child is null the value is unobtainable as Age is a struct and cannot be set to Null.
            For an object like Parent.Child.Sibling, sibling is an object so if Child is null, the value null and obtainable and is returned as null.</param>
            <returns>A observable which also notifies when the property value changes.</returns>
            <exception cref="T:System.ArgumentNullException">propertyAccessor.</exception>
        </member>
        <member name="M:DynamicData.Binding.NotifyPropertyChangedEx.WhenValueChanged``2(``0,System.Linq.Expressions.Expression{System.Func{``0,``1}},System.Boolean,System.Func{``1})">
            <summary>
            Observes property changes for the specified property, starting with the current value.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TProperty">The type of the first property.</typeparam>
            <param name="source">The source.</param>
            <param name="propertyAccessor">The property to observe.</param>
            <param name="notifyOnInitialValue">If true the resulting observable includes the initial value.</param>
            <param name="fallbackValue"> A fallback value may be specified to ensure a notification is received when a value is unobtainable.
            For example when observing Parent.Child.Age, if Child is null the value is unobtainable as Age is a struct and cannot be set to Null.
            For an object like Parent.Child.Sibling, sibling is an object so if Child is null, the value null and obtainable and is returned as null.</param>
            <returns>An observable which emits the results.</returns>
        </member>
        <member name="T:DynamicData.Binding.ObservableCollectionAdaptor`1">
            <summary>
            Adaptor to reflect a change set into an observable list.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
        </member>
        <member name="M:DynamicData.Binding.ObservableCollectionAdaptor`1.#ctor(DynamicData.Binding.IObservableCollection{`0},System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Binding.ObservableCollectionAdaptor`1"/> class.
            </summary>
            <param name="collection">The collection.</param>
            <param name="refreshThreshold">The refresh threshold.</param>
            <exception cref="T:System.ArgumentNullException">collection.</exception>
        </member>
        <member name="M:DynamicData.Binding.ObservableCollectionAdaptor`1.Adapt(DynamicData.IChangeSet{`0})">
            <summary>
            Maintains the specified collection from the changes.
            </summary>
            <param name="changes">The changes.</param>
        </member>
        <member name="T:DynamicData.Binding.ObservableCollectionAdaptor`2">
            <summary>
            Represents an adaptor which is used to update observable collection from
            a change set stream.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
        </member>
        <member name="M:DynamicData.Binding.ObservableCollectionAdaptor`2.#ctor(System.Int32,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Binding.ObservableCollectionAdaptor`2"/> class.
            </summary>
            <param name="refreshThreshold">The threshold before a reset notification is triggered.</param>
            <param name="useReplaceForUpdates"> Use replace instead of remove / add for updates. </param>
        </member>
        <member name="M:DynamicData.Binding.ObservableCollectionAdaptor`2.Adapt(DynamicData.IChangeSet{`0,`1},DynamicData.Binding.IObservableCollection{`0})">
            <summary>
            Maintains the specified collection from the changes.
            </summary>
            <param name="changes">The changes.</param>
            <param name="collection">The collection.</param>
        </member>
        <member name="T:DynamicData.Binding.ObservableCollectionEx">
            <summary>
            Extensions to convert an observable collection into a dynamic stream.
            </summary>
        </member>
        <member name="M:DynamicData.Binding.ObservableCollectionEx.ObserveCollectionChanges(System.Collections.Specialized.INotifyCollectionChanged)">
            <summary>
            Observes notify collection changed args.
            </summary>
            <param name="source">The source collection.</param>
            <returns>An observable that emits the event patterns.</returns>
        </member>
        <member name="M:DynamicData.Binding.ObservableCollectionEx.ToObservableChangeSet``1(System.Collections.ObjectModel.ObservableCollection{``0})">
            <summary>
            Convert an observable collection into an observable change set.
            Change set observes collection change events.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable that emits the change set.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.Binding.ObservableCollectionEx.ToObservableChangeSet``2(System.Collections.ObjectModel.ObservableCollection{``0},System.Func{``0,``1})">
            <summary>
            Convert an observable collection into an observable change set.
            Change set observes collection change events.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="keySelector">The key selector.</param>
            <returns>An observable that emits the change set.</returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            keySelector.</exception>
        </member>
        <member name="M:DynamicData.Binding.ObservableCollectionEx.ToObservableChangeSet``1(System.Collections.ObjectModel.ReadOnlyObservableCollection{``0})">
            <summary>
            Convert the readonly observable collection into an observable change set.
            Change set observes collection change events.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable that emits the change set.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.Binding.ObservableCollectionEx.ToObservableChangeSet``2(System.Collections.ObjectModel.ReadOnlyObservableCollection{``0},System.Func{``0,``1})">
            <summary>
            Convert the readonly observable collection into an observable change set.
            Change set observes collection change events.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="keySelector">The key selector.</param>
            <returns>An observable that emits the change set.</returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            keySelector.</exception>
        </member>
        <member name="M:DynamicData.Binding.ObservableCollectionEx.ToObservableChangeSet``2(``0)">
            <summary>
            Convert an observable collection into an observable change set.
            Change set observes collection change events.
            </summary>
            <typeparam name="TCollection">The type of collection.</typeparam>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable that emits the change set.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="T:DynamicData.Binding.ObservableCollectionExtended`1">
            <summary>
            An override of observable collection which allows the suspension of notifications.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
        </member>
        <member name="M:DynamicData.Binding.ObservableCollectionExtended`1.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Binding.ObservableCollectionExtended`1"/> class.
            </summary>
        </member>
        <member name="M:DynamicData.Binding.ObservableCollectionExtended`1.#ctor(System.Collections.Generic.List{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Binding.ObservableCollectionExtended`1"/> class that contains elements copied from the specified list.
            </summary>
            <param name="list">The list from which the elements are copied.</param><exception cref="T:System.ArgumentNullException">The <paramref name="list"/> parameter cannot be null.</exception>
        </member>
        <member name="M:DynamicData.Binding.ObservableCollectionExtended`1.#ctor(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Binding.ObservableCollectionExtended`1"/> class that contains elements copied from the specified collection.
            </summary>
            <param name="collection">The collection from which the elements are copied.</param><exception cref="T:System.ArgumentNullException">The <paramref name="collection"/> parameter cannot be null.</exception>
        </member>
        <member name="M:DynamicData.Binding.ObservableCollectionExtended`1.AddRange(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Adds the elements of the specified collection to the end of the collection.
            </summary>
            <param name="collection">The collection whose elements should be added to the end of the List. The collection itself cannot be null, but it can contain elements that are null.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="collection" /> is null.</exception>
        </member>
        <member name="M:DynamicData.Binding.ObservableCollectionExtended`1.InsertRange(System.Collections.Generic.IEnumerable{`0},System.Int32)">
            <summary>
            Inserts the elements of a collection into the <see cref="T:DynamicData.Binding.ObservableCollectionExtended`1" /> at the specified index.
            </summary>
            <param name="collection">Inserts the items at the specified index.</param>
            <param name="index">The zero-based index at which the new elements should be inserted.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="collection" /> is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index" /> is less than 0.-or-<paramref name="index" /> is greater than Count.</exception>
        </member>
        <member name="M:DynamicData.Binding.ObservableCollectionExtended`1.Load(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Clears the list and Loads the specified items.
            </summary>
            <param name="items">The items.</param>
        </member>
        <member name="M:DynamicData.Binding.ObservableCollectionExtended`1.RemoveRange(System.Int32,System.Int32)">
            <summary>
            Removes a range of elements from the <see cref="T:DynamicData.Binding.ObservableCollectionExtended`1"/>.
            </summary>
            <param name="index">The zero-based starting index of the range of elements to remove.</param><param name="count">The number of elements to remove.</param><exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is less than 0.-or-<paramref name="count"/> is less than 0.</exception><exception cref="T:System.ArgumentException"><paramref name="index"/> and <paramref name="count"/> do not denote a valid range of elements in the <see cref="T:System.Collections.Generic.List`1"/>.</exception>
        </member>
        <member name="M:DynamicData.Binding.ObservableCollectionExtended`1.SuspendCount">
            <summary>
            Suspends count notifications.
            </summary>
            <returns>A disposable when disposed will reset the count.</returns>
        </member>
        <member name="M:DynamicData.Binding.ObservableCollectionExtended`1.SuspendNotifications">
            <summary>
            Suspends notifications. When disposed, a reset notification is fired.
            </summary>
            <returns>A disposable when disposed will reset notifications.</returns>
        </member>
        <member name="M:DynamicData.Binding.ObservableCollectionExtended`1.OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs)">
            <summary>
            Raises the <see cref="E:System.Collections.Specialized.INotifyCollectionChanged.CollectionChanged" /> event.
            </summary>
            <param name="e">The <see cref="T:System.Collections.Specialized.NotifyCollectionChangedEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:DynamicData.Binding.ObservableCollectionExtended`1.OnPropertyChanged(System.ComponentModel.PropertyChangedEventArgs)">
            <summary>
            Raises the <see cref="E:System.ComponentModel.INotifyPropertyChanged.PropertyChanged" /> event.
            </summary>
            <param name="e">The <see cref="T:System.ComponentModel.PropertyChangedEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="T:DynamicData.Binding.PropertyValue`2">
            <summary>
            Container holding sender and latest property value.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TValue">The type of the value.</typeparam>
        </member>
        <member name="M:DynamicData.Binding.PropertyValue`2.#ctor(`0,`1)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Binding.PropertyValue`2"/> class.
            </summary>
            <param name="sender">The sender.</param>
            <param name="value">The value.</param>
        </member>
        <member name="P:DynamicData.Binding.PropertyValue`2.Sender">
            <summary>
            Gets the Sender.
            </summary>
        </member>
        <member name="P:DynamicData.Binding.PropertyValue`2.Value">
            <summary>
            Gets latest observed value.
            </summary>
        </member>
        <member name="P:DynamicData.Binding.PropertyValue`2.UnobtainableValue">
            <summary>
            Gets a value indicating whether flag to indicated that the value was unobtainable when observing a deeply nested struct.
            </summary>
        </member>
        <member name="M:DynamicData.Binding.PropertyValue`2.op_Equality(DynamicData.Binding.PropertyValue{`0,`1},DynamicData.Binding.PropertyValue{`0,`1})">
            <summary>
            Implements the operator ==.
            </summary>
            <param name="left">The left.</param>
            <param name="right">The right.</param>
            <returns>
            The result of the operator.
            </returns>
        </member>
        <member name="M:DynamicData.Binding.PropertyValue`2.op_Inequality(DynamicData.Binding.PropertyValue{`0,`1},DynamicData.Binding.PropertyValue{`0,`1})">
            <summary>
            Implements the operator !=.
            </summary>
            <param name="left">The left.</param>
            <param name="right">The right.</param>
            <returns>
            The result of the operator.
            </returns>
        </member>
        <member name="M:DynamicData.Binding.PropertyValue`2.Equals(DynamicData.Binding.PropertyValue{`0,`1})">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Binding.PropertyValue`2.Equals(System.Object)">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Binding.PropertyValue`2.GetHashCode">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Binding.PropertyValue`2.ToString">
            <inheritdoc />
        </member>
        <member name="T:DynamicData.Binding.SortDirection">
            <summary>
            Sort direction.
            </summary>
        </member>
        <member name="F:DynamicData.Binding.SortDirection.Ascending">
            <summary>
            Sort items ascending.
            </summary>
        </member>
        <member name="F:DynamicData.Binding.SortDirection.Descending">
            <summary>
            Sort items descending.
            </summary>
        </member>
        <member name="T:DynamicData.Binding.SortedBindingListAdaptor`2">
            <summary>
            Represents an adaptor which is used to update a binding list from
            a sorted change set.
            </summary>
            <typeparam name="TObject">The type of object.</typeparam>
            <typeparam name="TKey">The type of key.</typeparam>
        </member>
        <member name="M:DynamicData.Binding.SortedBindingListAdaptor`2.#ctor(System.ComponentModel.BindingList{`0},System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Binding.SortedBindingListAdaptor`2"/> class.
            </summary>
            <param name="list">The source list.</param>
            <param name="refreshThreshold">The threshold before a refresh is triggered.</param>
        </member>
        <member name="M:DynamicData.Binding.SortedBindingListAdaptor`2.Adapt(DynamicData.ISortedChangeSet{`0,`1})">
            <inheritdoc />
        </member>
        <member name="T:DynamicData.Binding.SortedObservableCollectionAdaptor`2">
            <summary>
            Represents an adaptor which is used to update observable collection from
            a sorted change set stream.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
        </member>
        <member name="M:DynamicData.Binding.SortedObservableCollectionAdaptor`2.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Binding.SortedObservableCollectionAdaptor`2"/> class.
            </summary>
            <param name="refreshThreshold">The number of changes before a Reset event is used.</param>
        </member>
        <member name="M:DynamicData.Binding.SortedObservableCollectionAdaptor`2.Adapt(DynamicData.ISortedChangeSet{`0,`1},DynamicData.Binding.IObservableCollection{`0})">
            <summary>
            Maintains the specified collection from the changes.
            </summary>
            <param name="changes">The changes.</param>
            <param name="collection">The collection.</param>
        </member>
        <member name="T:DynamicData.Binding.SortExpression`1">
            <summary>
            A value expression with sort direction.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
        </member>
        <member name="M:DynamicData.Binding.SortExpression`1.#ctor(System.Func{`0,System.IComparable},DynamicData.Binding.SortDirection)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Binding.SortExpression`1"/> class.
            </summary>
            <param name="expression">The expression.</param>
            <param name="direction">The direction.</param>
        </member>
        <member name="P:DynamicData.Binding.SortExpression`1.Direction">
            <summary>
            Gets the direction.
            </summary>
        </member>
        <member name="P:DynamicData.Binding.SortExpression`1.Expression">
            <summary>
            Gets the expression.
            </summary>
        </member>
        <member name="T:DynamicData.Binding.SortExpressionComparer`1">
            <summary>
            Generic sort expression to help create inline sorting for the .Sort(IComparer comparer) operator.
            </summary>
            <typeparam name="T">The item to sort against.</typeparam>
        </member>
        <member name="M:DynamicData.Binding.SortExpressionComparer`1.Ascending(System.Func{`0,System.IComparable})">
            <summary>
            Create an ascending sort expression.
            </summary>
            <param name="expression">The expression.</param>
            <returns>A comparer in ascending order.</returns>
        </member>
        <member name="M:DynamicData.Binding.SortExpressionComparer`1.Descending(System.Func{`0,System.IComparable})">
            <summary>
            Create an descending sort expression.
            </summary>
            <param name="expression">The expression.</param>
            <returns>A comparer in descending order.</returns>
        </member>
        <member name="M:DynamicData.Binding.SortExpressionComparer`1.Compare(`0,`0)">
            <inheritdoc/>
        </member>
        <member name="M:DynamicData.Binding.SortExpressionComparer`1.ThenByAscending(System.Func{`0,System.IComparable})">
            <summary>
            Adds an additional ascending sort expression.
            </summary>
            <param name="expression">The expression.</param>
            <returns>A comparer in ascending order first taking into account the comparer passed in.</returns>
        </member>
        <member name="M:DynamicData.Binding.SortExpressionComparer`1.ThenByDescending(System.Func{`0,System.IComparable})">
            <summary>
             Adds an additional descending sort expression.
            </summary>
            <param name="expression">The expression.</param>
            <returns>A comparer in descending order first taking into account the comparer passed in.</returns>
        </member>
        <member name="M:DynamicData.Cache.CacheChangeSetEx.ToConcreteType``2(DynamicData.IChangeSet{``0,``1})">
             <summary>
             IChangeSet is flawed because it automatically means allocations when enumerating.
             This extension is a crazy hack to cast to the concrete change set which means we no longer allocate
             as  change set now inherits from List which has allocation free enumerations.
            
             IChangeSet will be removed in V7 and instead Change sets will be used directly
            
             In the mean time I am banking that no-one has implemented a custom change set - personally I think it is very unlikely.
             </summary>
             <param name="changeSet">The source change set.</param>
        </member>
        <member name="M:DynamicData.Cache.Internal.AbstractFilter`2.UpdateWithFilter.#ctor(System.Boolean,DynamicData.Change{`0,`1})">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Cache.Internal.AbstractFilter`2.UpdateWithFilter"/> struct.
            Initializes a new instance of the <see cref="T:System.Object"/> class.
            </summary>
            <param name="isMatch">If the filter is a match.</param>
            <param name="change">The change.</param>
        </member>
        <member name="M:DynamicData.Cache.Internal.Cache`2.Refresh">
            <summary>
            Sends a signal for operators to recalculate it's state.
            </summary>
        </member>
        <member name="M:DynamicData.Cache.Internal.Cache`2.Refresh(System.Collections.Generic.IEnumerable{`1})">
            <summary>
            Refreshes the items matching the specified keys.
            </summary>
            <param name="keys">The keys.</param>
        </member>
        <member name="M:DynamicData.Cache.Internal.Cache`2.Refresh(`1)">
            <summary>
            Refreshes the item matching the specified key.
            </summary>
            <param name="key">The key to refresh.</param>
        </member>
        <member name="T:DynamicData.Cache.Internal.CombineOperator">
            <summary>
            How the multiple streams are combinedL.
            </summary>
        </member>
        <member name="F:DynamicData.Cache.Internal.CombineOperator.And">
            <summary>
            Apply a logical And between two or more observable change sets.
            </summary>
        </member>
        <member name="F:DynamicData.Cache.Internal.CombineOperator.Or">
            <summary>
            Apply a logical Or between two or more observable change sets.
            </summary>
        </member>
        <member name="F:DynamicData.Cache.Internal.CombineOperator.Xor">
            <summary>
            Apply a logical Xor between two or more observable change sets.
            </summary>
        </member>
        <member name="F:DynamicData.Cache.Internal.CombineOperator.Except">
            <summary>
            Include the items in the first change set and exclude any items belonging to the other.
            </summary>
        </member>
        <member name="T:DynamicData.Cache.Internal.Combiner`2">
            <summary>
                Combines multiple caches using logical operators.
            </summary>
        </member>
        <member name="M:DynamicData.Cache.Internal.ExpirableItem`2.Equals(DynamicData.Cache.Internal.ExpirableItem{`0,`1})">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Cache.Internal.ExpirableItem`2.Equals(System.Object)">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Cache.Internal.ExpirableItem`2.GetHashCode">
            <inheritdoc />
        </member>
        <member name="T:DynamicData.Cache.Internal.IFilter`2">
            <summary>
            Provides a filter.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the field.</typeparam>
        </member>
        <member name="P:DynamicData.Cache.Internal.IFilter`2.Filter">
            <summary>
            Gets the filter to use.
            </summary>
        </member>
        <member name="M:DynamicData.Cache.Internal.IFilter`2.Refresh(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`1,`0}})">
            <summary>
            Provides a change set with refreshed items.
            </summary>
            <param name="items">The items to refresh.</param>
            <returns>A change set of the changes.</returns>
        </member>
        <member name="M:DynamicData.Cache.Internal.IFilter`2.Update(DynamicData.IChangeSet{`0,`1})">
            <summary>
            Provides a change set with updated items.
            </summary>
            <param name="updates">The items to update.</param>
            <returns>A change set of the changes.</returns>
        </member>
        <member name="T:DynamicData.Cache.Internal.IKeySelector`2">
            <summary>
            Selects a key from a item.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
        </member>
        <member name="M:DynamicData.Cache.Internal.IKeySelector`2.GetKey(`0)">
            <summary>
            Gets the key from the object.
            </summary>
            <param name="item">The item to get the key for.</param>
            <returns>The key.</returns>
        </member>
        <member name="T:DynamicData.Cache.Internal.IndexCalculator`2">
             <summary>
             Calculates a sequential change set.
            
             This enables the binding infrastructure to simply iterate the change set
             and apply indexed changes with no need to apply ant expensive IndexOf() operations.
             </summary>
        </member>
        <member name="M:DynamicData.Cache.Internal.IndexCalculator`2.#ctor(DynamicData.Cache.Internal.KeyValueComparer{`0,`1},DynamicData.SortOptimisations)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Cache.Internal.IndexCalculator`2"/> class.
            </summary>
            <param name="comparer">The comparer to use.</param>
            <param name="optimisations">Selected indexing optimisations.</param>
        </member>
        <member name="M:DynamicData.Cache.Internal.IndexCalculator`2.Calculate(DynamicData.IChangeSet{`0,`1})">
            <summary>
            Dynamic calculation of moved items which produce a result which can be enumerated through in order.
            </summary>
            <param name="changes">The change set.</param>
            <returns>A change set with the calculations.</returns>
        </member>
        <member name="M:DynamicData.Cache.Internal.IndexCalculator`2.Load(DynamicData.ChangeAwareCache{`0,`1})">
            <summary>
            Initialises the specified changes.
            </summary>
            <param name="cache">The cache.</param>
            <returns>The change set.</returns>
        </member>
        <member name="M:DynamicData.Cache.Internal.IndexCalculator`2.Reset(DynamicData.ChangeAwareCache{`0,`1})">
            <summary>
            Initialises the specified changes.
            </summary>
            <param name="cache">The cache.</param>
        </member>
        <member name="T:DynamicData.Cache.Internal.KeySelectorException">
            <summary>
            An exception that happens when there is a problem with the key selector.
            </summary>
        </member>
        <member name="M:DynamicData.Cache.Internal.KeySelectorException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Cache.Internal.KeySelectorException"/> class.
            </summary>
        </member>
        <member name="M:DynamicData.Cache.Internal.KeySelectorException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Cache.Internal.KeySelectorException"/> class with a specified error message.
            </summary>
            <param name="message">The message that describes the error. </param>
        </member>
        <member name="M:DynamicData.Cache.Internal.KeySelectorException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Cache.Internal.KeySelectorException"/> class with a specified error message and a reference to the inner exception that is the cause of this exception.
            </summary>
            <param name="message">The error message that explains the reason for the exception. </param><param name="innerException">The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. </param>
        </member>
        <member name="M:DynamicData.Cache.Internal.KeySelectorException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Cache.Internal.KeySelectorException"/> class.
            </summary>
            <param name="serializationInfo">The serialization info.</param>
            <param name="streamingContext">The serialization context.</param>
        </member>
        <member name="P:DynamicData.Cache.Internal.KeyValueCollection`2.Comparer">
            <summary>
            Gets the comparer used to perform the sort.
            </summary>
            <value>
            The comparer.
            </value>
        </member>
        <member name="T:DynamicData.Cache.Internal.LockFreeObservableCache`2">
            <summary>
            An observable cache which exposes an update API. Used at the root
            of all observable chains.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
        </member>
        <member name="M:DynamicData.Cache.Internal.LockFreeObservableCache`2.#ctor(System.IObservable{DynamicData.IChangeSet{`0,`1}})">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Cache.Internal.LockFreeObservableCache`2"/> class.
            </summary>
            <param name="source">The source.</param>
        </member>
        <member name="M:DynamicData.Cache.Internal.LockFreeObservableCache`2.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Cache.Internal.LockFreeObservableCache`2"/> class.
            </summary>
        </member>
        <member name="P:DynamicData.Cache.Internal.LockFreeObservableCache`2.Count">
            <inheritdoc />
        </member>
        <member name="P:DynamicData.Cache.Internal.LockFreeObservableCache`2.CountChanged">
            <inheritdoc />
        </member>
        <member name="P:DynamicData.Cache.Internal.LockFreeObservableCache`2.Items">
            <inheritdoc />
        </member>
        <member name="P:DynamicData.Cache.Internal.LockFreeObservableCache`2.Keys">
            <inheritdoc />
        </member>
        <member name="P:DynamicData.Cache.Internal.LockFreeObservableCache`2.KeyValues">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Cache.Internal.LockFreeObservableCache`2.Connect(System.Func{`0,System.Boolean},System.Boolean)">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Cache.Internal.LockFreeObservableCache`2.Dispose">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Cache.Internal.LockFreeObservableCache`2.Edit(System.Action{DynamicData.ICacheUpdater{`0,`1}})">
            <summary>
            Edits the specified edit action.
            </summary>
            <param name="editAction">The edit action.</param>
        </member>
        <member name="M:DynamicData.Cache.Internal.LockFreeObservableCache`2.Lookup(`1)">
            <summary>
            Lookup a single item using the specified key.
            </summary>
            <param name="key">The key.</param>
            <returns>The looked up value.</returns>
            <remarks>
            Fast indexed lookup.
            </remarks>
        </member>
        <member name="M:DynamicData.Cache.Internal.LockFreeObservableCache`2.Preview(System.Func{`0,System.Boolean})">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Cache.Internal.LockFreeObservableCache`2.Watch(`1)">
            <summary>
            Returns an observable of any changes which match the specified key. The sequence starts with the initial item in the cache (if there is one).
            </summary>
            <param name="key">The key.</param>
            <returns>An observable that emits the changes.</returns>
        </member>
        <member name="M:DynamicData.Cache.Internal.ManagedGroup`3.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:System.Object"/>.
            </summary>
            <returns>
            true if the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:System.Object"/>; otherwise, false.
            </returns>
            <param name="obj">The <see cref="T:System.Object"/> to compare with the current <see cref="T:System.Object"/>. </param>
        </member>
        <member name="M:DynamicData.Cache.Internal.ManagedGroup`3.GetHashCode">
            <summary>
            Serves as a hash function for a particular type.
            </summary>
            <returns>
            A hash code for the current <see cref="T:System.Object"/>.
            </returns>
        </member>
        <member name="M:DynamicData.Cache.Internal.ManagedGroup`3.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
            </returns>
        </member>
        <member name="M:DynamicData.Cache.Internal.RemoveKeyEnumerator`2.#ctor(DynamicData.IChangeSet{`0,`1},DynamicData.IExtendedList{`0})">
            <summary>Initializes a new instance of the <see cref="T:DynamicData.Cache.Internal.RemoveKeyEnumerator`2"/> class.Converts a <see cref="T:DynamicData.Change`2"/> to <see cref="T:DynamicData.ChangeSet`1"/>.</summary>
            <param name="source">The change set with a key.</param>
            <param name="list">
            An optional list, if provided it allows the refresh from a key based cache to find the index for the resulting list based refresh.
            If not provided a refresh will dropdown to a replace which may ultimately result in a remove+add change downstream.
            </param>
        </member>
        <member name="M:DynamicData.Cache.Internal.RemoveKeyEnumerator`2.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:DynamicData.Cache.Internal.Sort`2.Sorter.Sort(DynamicData.IChangeSet{`0,`1})">
            <summary>
            Sorts the specified changes. Will return null if there are no changes.
            </summary>
            <param name="changes">The changes.</param>
            <returns>The sorted change set.</returns>
        </member>
        <member name="M:DynamicData.Cache.Internal.Sort`2.Sorter.Sort(System.Collections.Generic.IComparer{`0})">
            <summary>
            Sorts all data using the specified comparer.
            </summary>
            <param name="comparer">The comparer.</param>
            <returns>The sorted change set.</returns>
        </member>
        <member name="M:DynamicData.Cache.Internal.Sort`2.Sorter.Sort">
            <summary>
            Sorts all data using the current comparer.
            </summary>
            <returns>The sorted change set.</returns>
        </member>
        <member name="M:DynamicData.Cache.Internal.Sort`2.Sorter.DoSort(DynamicData.SortReason,DynamicData.IChangeSet{`0,`1})">
            <summary>
            Sorts using the specified sorter. Will return null if there are no changes.
            </summary>
            <param name="sortReason">The sort reason.</param>
            <param name="changes">The changes.</param>
            <returns>The sorted change set.</returns>
        </member>
        <member name="T:DynamicData.Change`2">
            <summary>
              Container to describe a single change to a cache.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
        </member>
        <member name="M:DynamicData.Change`2.#ctor(DynamicData.ChangeReason,`1,`0,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Change`2"/> struct.
            </summary>
            <param name="reason">The reason.</param>
            <param name="key">The key.</param>
            <param name="current">The current.</param>
            <param name="index">The index.</param>
        </member>
        <member name="M:DynamicData.Change`2.#ctor(`1,`0,System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Change`2"/> struct.
            Constructor for ChangeReason.Move.
            </summary>
            <param name="key">The key.</param>
            <param name="current">The current.</param>
            <param name="currentIndex">The CurrentIndex.</param>
            <param name="previousIndex">CurrentIndex of the previous.</param>
            <exception cref="T:System.ArgumentException">
            CurrentIndex must be greater than or equal to zero
            or
            PreviousIndex must be greater than or equal to zero.
            </exception>
        </member>
        <member name="M:DynamicData.Change`2.#ctor(DynamicData.ChangeReason,`1,`0,DynamicData.Kernel.Optional{`0},System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Change`2"/> struct.
            </summary>
            <param name="reason">The reason.</param>
            <param name="key">The key.</param>
            <param name="current">The current.</param>
            <param name="previous">The previous.</param>
            <param name="currentIndex">Value of the current.</param>
            <param name="previousIndex">Value of the previous.</param>
            <exception cref="T:System.ArgumentException">
            For ChangeReason.Add, a previous value cannot be specified
            or
            For ChangeReason.Change, must supply previous value.
            </exception>
        </member>
        <member name="P:DynamicData.Change`2.Key">
            <summary>
            Gets the unique key of the item which has changed.
            </summary>
        </member>
        <member name="P:DynamicData.Change`2.Reason">
            <summary>
            Gets the  reason for the change.
            </summary>
        </member>
        <member name="P:DynamicData.Change`2.Current">
            <summary>
            Gets the item which has changed.
            </summary>
        </member>
        <member name="P:DynamicData.Change`2.CurrentIndex">
            <summary>
            Gets the current index.
            </summary>
        </member>
        <member name="P:DynamicData.Change`2.Previous">
             <summary>
             Gets the previous change.
            
             This is only when Reason==ChangeReason.Replace.
             </summary>
        </member>
        <member name="P:DynamicData.Change`2.PreviousIndex">
             <summary>
             Gets the previous change.
            
             This is only when Reason==ChangeReason.Update or ChangeReason.Move.
             </summary>
        </member>
        <member name="M:DynamicData.Change`2.op_Equality(DynamicData.Change{`0,`1},DynamicData.Change{`0,`1})">
            <summary>
             Determines whether the specified objects are equal.
            </summary>
            <param name="left">The left value to compare.</param>
            <param name="right">The right value to compare.</param>
            <returns>If the two values are equal to each other.</returns>
        </member>
        <member name="M:DynamicData.Change`2.op_Inequality(DynamicData.Change{`0,`1},DynamicData.Change{`0,`1})">
            <summary>
             Determines whether the specified objects are equal.
            </summary>
            <param name="left">The left value to compare.</param>
            <param name="right">The right value to compare.</param>
            <returns>If the two values are not equal to each other.</returns>
        </member>
        <member name="M:DynamicData.Change`2.Equals(DynamicData.Change{`0,`1})">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Change`2.Equals(System.Object)">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Change`2.GetHashCode">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Change`2.ToString">
            <inheritdoc />
        </member>
        <member name="T:DynamicData.ChangeAwareCache`2">
            <summary>
            A cache which captures all changes which are made to it. These changes are recorded until CaptureChanges() at which point thw changes are cleared.
            Used for creating custom operators.
            </summary>
            <seealso cref="T:DynamicData.ICache`2" />
            <typeparam name="TObject">The value of the cache.</typeparam>
            <typeparam name="TKey">The key of the cache.</typeparam>
        </member>
        <member name="M:DynamicData.ChangeAwareCache`2.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.ChangeAwareCache`2"/> class.
            </summary>
        </member>
        <member name="M:DynamicData.ChangeAwareCache`2.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.ChangeAwareCache`2"/> class.
            </summary>
            <param name="capacity">The capacity of the initial items.</param>
        </member>
        <member name="M:DynamicData.ChangeAwareCache`2.#ctor(System.Collections.Generic.Dictionary{`1,`0})">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.ChangeAwareCache`2"/> class.
            </summary>
            <param name="data">Data to populate the cache with.</param>
        </member>
        <member name="P:DynamicData.ChangeAwareCache`2.Count">
            <inheritdoc />
        </member>
        <member name="P:DynamicData.ChangeAwareCache`2.Items">
            <inheritdoc />
        </member>
        <member name="P:DynamicData.ChangeAwareCache`2.Keys">
            <inheritdoc />
        </member>
        <member name="P:DynamicData.ChangeAwareCache`2.KeyValues">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.ChangeAwareCache`2.Add(`0,`1)">
            <summary>
            Adds the item to the cache without checking whether there is an existing value in the cache.
            </summary>
            <param name="item">The item to add.</param>
            <param name="key">The key to add.</param>
        </member>
        <member name="M:DynamicData.ChangeAwareCache`2.AddOrUpdate(`0,`1)">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.ChangeAwareCache`2.CaptureChanges">
            <summary>
            Create a change set from recorded changes and clears known changes.
            </summary>
            <returns>A change set with the key/value changes.</returns>
        </member>
        <member name="M:DynamicData.ChangeAwareCache`2.Clear">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.ChangeAwareCache`2.Clone(DynamicData.IChangeSet{`0,`1})">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.ChangeAwareCache`2.Lookup(`1)">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.ChangeAwareCache`2.Refresh(System.Collections.Generic.IEnumerable{`1})">
            <summary>
            Raises an evaluate change for the specified keys.
            </summary>
            <param name="keys">The keys to refresh.</param>
        </member>
        <member name="M:DynamicData.ChangeAwareCache`2.Refresh">
            <summary>
            Raises an evaluate change for all items in the cache.
            </summary>
        </member>
        <member name="M:DynamicData.ChangeAwareCache`2.Refresh(`1)">
            <summary>
            Raises an evaluate change for the specified key.
            </summary>
            <param name="key">The key.</param>
        </member>
        <member name="M:DynamicData.ChangeAwareCache`2.Remove(System.Collections.Generic.IEnumerable{`1})">
            <summary>
            Removes the item matching the specified keys.
            </summary>
            <param name="keys">The keys.</param>
        </member>
        <member name="M:DynamicData.ChangeAwareCache`2.Remove(`1)">
            <inheritdoc />
        </member>
        <member name="T:DynamicData.ChangeReason">
             <summary>
              The reason for an individual change.
            
             Used to signal consumers of any changes to the underlying cache.
             </summary>
        </member>
        <member name="F:DynamicData.ChangeReason.Add">
            <summary>
             An item has been added.
            </summary>
        </member>
        <member name="F:DynamicData.ChangeReason.Update">
            <summary>
             An item has been updated.
            </summary>
        </member>
        <member name="F:DynamicData.ChangeReason.Remove">
            <summary>
             An item has removed.
            </summary>
        </member>
        <member name="F:DynamicData.ChangeReason.Refresh">
            <summary>
            Downstream operators will refresh.
            </summary>
        </member>
        <member name="F:DynamicData.ChangeReason.Moved">
            <summary>
            An item has been moved in a sorted collection.
            </summary>
        </member>
        <member name="T:DynamicData.ChangeSet`2">
            <summary>
            A collection of changes.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
        </member>
        <member name="F:DynamicData.ChangeSet`2.Empty">
            <summary>
            An empty change set.
            </summary>
        </member>
        <member name="M:DynamicData.ChangeSet`2.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.ChangeSet`2"/> class.
            </summary>
        </member>
        <member name="M:DynamicData.ChangeSet`2.#ctor(System.Collections.Generic.IEnumerable{DynamicData.Change{`0,`1}})">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.ChangeSet`2"/> class.
            </summary>
            <param name="collection">The collection of items to start the change set with.</param>
        </member>
        <member name="M:DynamicData.ChangeSet`2.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.ChangeSet`2"/> class.
            </summary>
            <param name="capacity">The initial capacity of the change set.</param>
        </member>
        <member name="P:DynamicData.ChangeSet`2.Adds">
            <inheritdoc />
        </member>
        <member name="P:DynamicData.ChangeSet`2.Moves">
            <inheritdoc />
        </member>
        <member name="P:DynamicData.ChangeSet`2.Refreshes">
            <inheritdoc />
        </member>
        <member name="P:DynamicData.ChangeSet`2.Removes">
            <inheritdoc />
        </member>
        <member name="P:DynamicData.ChangeSet`2.Updates">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.ChangeSet`2.ToString">
            <inheritdoc />
        </member>
        <member name="T:DynamicData.ICache`2">
             <summary>
             A cache which captures all changes which are made to it. These changes are recorded until CaptureChanges() at which point thw changes are cleared.
            
             Used for creating custom operators.
             </summary>
             <typeparam name="TObject">The type of the object.</typeparam>
             <typeparam name="TKey">The type of the key.</typeparam>
             <seealso cref="T:DynamicData.IQuery`2" />
        </member>
        <member name="M:DynamicData.ICache`2.AddOrUpdate(`0,`1)">
            <summary>
            Adds or updates the item using the specified key.
            </summary>
            <param name="item">The item.</param>
            <param name="key">The key.</param>
        </member>
        <member name="M:DynamicData.ICache`2.Clear">
            <summary>
            Clears all items.
            </summary>
        </member>
        <member name="M:DynamicData.ICache`2.Clone(DynamicData.IChangeSet{`0,`1})">
            <summary>
            Clones the cache from the specified changes.
            </summary>
            <param name="changes">The changes.</param>
        </member>
        <member name="M:DynamicData.ICache`2.Refresh">
            <summary>
            Sends a signal for operators to recalculate it's state.
            </summary>
        </member>
        <member name="M:DynamicData.ICache`2.Refresh(System.Collections.Generic.IEnumerable{`1})">
            <summary>
            Refreshes the items matching the specified keys.
            </summary>
            <param name="keys">The keys.</param>
        </member>
        <member name="M:DynamicData.ICache`2.Refresh(`1)">
            <summary>
            Refreshes the item matching the specified key.
            </summary>
            <param name="key">The key to refresh.</param>
        </member>
        <member name="M:DynamicData.ICache`2.Remove(`1)">
            <summary>
            Removes the item matching the specified key.
            </summary>
            <param name="key">The key.</param>
        </member>
        <member name="M:DynamicData.ICache`2.Remove(System.Collections.Generic.IEnumerable{`1})">
            <summary>
            Removes all items matching the specified keys.
            </summary>
            <param name="keys">The keys to remove.</param>
        </member>
        <member name="T:DynamicData.ICacheUpdater`2">
             <summary>
             Api for updating  an intermediate cache
            
             Use edit to produce singular change set.
            
             NB:The evaluate method is used to signal to any observing operators
             to  reevaluate whether the object still matches downstream operators.
             This is primarily targeted to inline object changes such as datetime and calculated fields.
            
             </summary>
             <typeparam name="TObject">The type of the object.</typeparam>
             <typeparam name="TKey">The type of the key.</typeparam>
        </member>
        <member name="M:DynamicData.ICacheUpdater`2.AddOrUpdate(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`1,`0}})">
            <summary>
            Adds or updates the specified key value pairs.
            </summary>
            <param name="keyValuePairs">The key value pairs to add or update.</param>
        </member>
        <member name="M:DynamicData.ICacheUpdater`2.AddOrUpdate(System.Collections.Generic.KeyValuePair{`1,`0})">
            <summary>
            Adds or updates the specified key value pair.
            </summary>
            <param name="item">The key value pair to add or update.</param>
        </member>
        <member name="M:DynamicData.ICacheUpdater`2.AddOrUpdate(`0,`1)">
            <summary>
            Adds or updates the specified item / key pair.
            </summary>
            <param name="item">The item to add or update.</param>
            <param name="key">The key to add or update.</param>
        </member>
        <member name="M:DynamicData.ICacheUpdater`2.Clear">
            <summary>
            Clears all items from the underlying cache.
            </summary>
        </member>
        <member name="M:DynamicData.ICacheUpdater`2.Clone(DynamicData.IChangeSet{`0,`1})">
            <summary>
            Clones the change set to the cache.
            </summary>
            <param name="changes">The changes to clone.</param>
        </member>
        <member name="M:DynamicData.ICacheUpdater`2.Evaluate">
            <summary>
            Sends a signal for operators to recalculate it's state.
            </summary>
        </member>
        <member name="M:DynamicData.ICacheUpdater`2.Evaluate(System.Collections.Generic.IEnumerable{`1})">
            <summary>
            Refreshes the items matching the specified keys.
            </summary>
            <param name="keys">The keys.</param>
        </member>
        <member name="M:DynamicData.ICacheUpdater`2.Evaluate(`1)">
            <summary>
            Refreshes the item matching the specified key.
            </summary>
            <param name="key">The key to evaluate.</param>
        </member>
        <member name="M:DynamicData.ICacheUpdater`2.GetKey(`0)">
            <summary>
            Gets the key associated with the object.
            </summary>
            <param name="item">The item.</param>
            <returns>The key for the specified object.</returns>
        </member>
        <member name="M:DynamicData.ICacheUpdater`2.GetKeyValues(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Gets the key values for the specified items.
            </summary>
            <param name="items">The items.</param>
            <returns>An enumeration of key value pairs of the key and the object.</returns>
        </member>
        <member name="M:DynamicData.ICacheUpdater`2.Refresh">
            <summary>
            Sends a signal for operators to recalculate it's state.
            </summary>
        </member>
        <member name="M:DynamicData.ICacheUpdater`2.Refresh(System.Collections.Generic.IEnumerable{`1})">
            <summary>
            Refreshes the items matching the specified keys.
            </summary>
            <param name="keys">The keys.</param>
        </member>
        <member name="M:DynamicData.ICacheUpdater`2.Refresh(`1)">
            <summary>
            Refreshes the item matching the specified key.
            </summary>
            <param name="key">The key to refresh.</param>
        </member>
        <member name="M:DynamicData.ICacheUpdater`2.Remove(System.Collections.Generic.IEnumerable{`1})">
            <summary>
            Removes the specified keys.
            </summary>
            <param name="keys">The keys to remove the values for.</param>
        </member>
        <member name="M:DynamicData.ICacheUpdater`2.Remove(`1)">
            <summary>
            Remove the specified keys.
            </summary>
            <param name="key">The key of the item to remove.</param>
        </member>
        <member name="M:DynamicData.ICacheUpdater`2.Remove(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`1,`0}})">
            <summary>
            Removes the specified  key value pairs.
            </summary>
            <param name="items">The key value pairs to remove.</param>
        </member>
        <member name="M:DynamicData.ICacheUpdater`2.Remove(System.Collections.Generic.KeyValuePair{`1,`0})">
            <summary>
            Removes the specified key value pair.
            </summary>
            <param name="item">The key value pair to remove.</param>
        </member>
        <member name="M:DynamicData.ICacheUpdater`2.RemoveKey(`1)">
            <summary>
            Overload of remove due to ambiguous method when TObject and TKey are of the same type.
            </summary>
            <param name="key">The key.</param>
        </member>
        <member name="M:DynamicData.ICacheUpdater`2.RemoveKeys(System.Collections.Generic.IEnumerable{`1})">
            <summary>
            Overload of remove due to ambiguous method when TObject and TKey are of the same type.
            </summary>
            <param name="key">The key.</param>
        </member>
        <member name="M:DynamicData.ICacheUpdater`2.Update(DynamicData.IChangeSet{`0,`1})">
            <summary>
            Updates using changes using the specified change set.
            </summary>
            <param name="changes">The changes to update with.</param>
        </member>
        <member name="T:DynamicData.IChangeSet`2">
             <summary>
             A collection of changes.
            
             Changes are always published in the order.
             </summary>
             <typeparam name="TObject">The type of the object.</typeparam>
             <typeparam name="TKey">The type of the key.</typeparam>
        </member>
        <member name="P:DynamicData.IChangeSet`2.Updates">
            <summary>
            Gets the number of updates.
            </summary>
        </member>
        <member name="T:DynamicData.IChangeSetAdaptor`2">
            <summary>
            A simple adaptor to inject side effects into a change set observable.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
        </member>
        <member name="M:DynamicData.IChangeSetAdaptor`2.Adapt(DynamicData.IChangeSet{`0,`1})">
            <summary>
            Adapts the specified change.
            </summary>
            <param name="change">The change.</param>
        </member>
        <member name="T:DynamicData.IConnectableCache`2">
            <summary>
            A cache for observing and querying in memory data.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
        </member>
        <member name="P:DynamicData.IConnectableCache`2.CountChanged">
            <summary>
            Gets a count changed observable starting with the current count.
            </summary>
        </member>
        <member name="M:DynamicData.IConnectableCache`2.Connect(System.Func{`0,System.Boolean},System.Boolean)">
            <summary>
            Returns a filtered stream of cache changes preceded with the initial filtered state.
            </summary>
            <param name="predicate">The result will be filtered using the specified predicate.</param>
            <param name="suppressEmptyChangeSets">By default, empty change sets are not emitted. Set this value to false to emit empty change sets.</param>
            <returns>An observable that emits the change set.</returns>
        </member>
        <member name="M:DynamicData.IConnectableCache`2.Preview(System.Func{`0,System.Boolean})">
            <summary>
            Returns a filtered stream of cache changes.
            Unlike Connect(), the returned observable is not prepended with the caches initial items.
            </summary>
            <param name="predicate">The result will be filtered using the specified predicate.</param>
            <returns>An observable that emits the change set.</returns>
        </member>
        <member name="M:DynamicData.IConnectableCache`2.Watch(`1)">
            <summary>
            Returns an observable of any changes which match the specified key.  The sequence starts with the initial item in the cache (if there is one).
            </summary>
            <param name="key">The key.</param>
            <returns>An observable that emits the change set.</returns>
        </member>
        <member name="T:DynamicData.IDistinctChangeSet`1">
            <summary>
            A collection of distinct value updates.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
        </member>
        <member name="T:DynamicData.IGroup`3">
            <summary>
            An update stream which has been grouped by a common key.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="TGroupKey">The type of value used to group the original stream.</typeparam>
        </member>
        <member name="P:DynamicData.IGroup`3.Cache">
            <summary>
            Gets the observable for the group.
            </summary>
            <value>
            The observable.
            </value>
        </member>
        <member name="T:DynamicData.IGroupChangeSet`3">
            <summary>
             A grouped change set.
            </summary>
            <typeparam name="TObject">The source object type.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>s
            <typeparam name="TGroupKey">The value on which the stream has been grouped.</typeparam>
        </member>
        <member name="T:DynamicData.IGrouping`3">
            <summary>
            Represents a group which provides an update after any value within the group changes.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="TGroupKey">The type of the group key.</typeparam>
        </member>
        <member name="P:DynamicData.IGrouping`3.Count">
            <summary>
            Gets the count.
            </summary>
        </member>
        <member name="P:DynamicData.IGrouping`3.Items">
            <summary>
            Gets the items.
            </summary>
        </member>
        <member name="P:DynamicData.IGrouping`3.Key">
            <summary>
            Gets the group key.
            </summary>
        </member>
        <member name="P:DynamicData.IGrouping`3.Keys">
            <summary>
            Gets the keys.
            </summary>
        </member>
        <member name="P:DynamicData.IGrouping`3.KeyValues">
            <summary>
            Gets the items together with their keys.
            </summary>
            <value>
            The key values.
            </value>
        </member>
        <member name="M:DynamicData.IGrouping`3.Lookup(`1)">
            <summary>
            Lookup a single item using the specified key.
            </summary>
            <remarks>
            Fast indexed lookup.
            </remarks>
            <param name="key">The key.</param>
            <returns>The value that is looked up.</returns>
        </member>
        <member name="T:DynamicData.IImmutableGroupChangeSet`3">
            <summary>
             A grouped update collection.
            </summary>
            <typeparam name="TObject">The source object type.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>s
            <typeparam name="TGroupKey">The value on which the stream has been grouped.</typeparam>
        </member>
        <member name="T:DynamicData.IIntermediateCache`2">
             <summary>
             An observable cache which exposes an update API.
            
             Intended to be used as a helper for creating custom operators.
             </summary>
             <typeparam name="TObject">The type of the object.</typeparam>
             <typeparam name="TKey">The type of the key.</typeparam>
        </member>
        <member name="M:DynamicData.IIntermediateCache`2.Edit(System.Action{DynamicData.ICacheUpdater{`0,`1}})">
            <summary>
            Action to apply a batch update to a cache. Multiple update methods can be invoked within a single batch operation.
            These operations are invoked within the cache's lock and is therefore thread safe.
            The result of the action will produce a single change set.
            </summary>
            <param name="updateAction">The update action.</param>
        </member>
        <member name="T:DynamicData.IKey`1">
            <summary>
            Represents the key of an object.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
        </member>
        <member name="P:DynamicData.IKey`1.Key">
            <summary>
            Gets the key.
            </summary>
        </member>
        <member name="T:DynamicData.IKeyValue`2">
            <summary>
            A keyed value.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
        </member>
        <member name="P:DynamicData.IKeyValue`2.Value">
            <summary>
            Gets the value.
            </summary>
        </member>
        <member name="T:DynamicData.IKeyValueCollection`2">
            <summary>
            A key collection which contains sorting information.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
        </member>
        <member name="P:DynamicData.IKeyValueCollection`2.Comparer">
            <summary>
            Gets the comparer used to perform the sort.
            </summary>
            <value>
            The comparer.
            </value>
        </member>
        <member name="P:DynamicData.IKeyValueCollection`2.Count">
            <summary>
            Gets the count of items.
            </summary>
            <value>
            The count.
            </value>
        </member>
        <member name="P:DynamicData.IKeyValueCollection`2.Optimisations">
            <summary>
            Gets the optimisations used to produce the sort.
            </summary>
            <value>
            The optimisations.
            </value>
        </member>
        <member name="P:DynamicData.IKeyValueCollection`2.SortReason">
            <summary>
            Gets the reason for a sort being applied.
            </summary>
            <value>
            The sort reason.
            </value>
        </member>
        <member name="P:DynamicData.IKeyValueCollection`2.Item(System.Int32)">
             <summary>
             Gets the element at the specified index in the read-only list.
             </summary>
            
             <returns>
             The element at the specified index in the read-only list.
             </returns>
             <param name="index">The zero-based index of the element to get. </param>
             <returns>The key value pair.</returns>
        </member>
        <member name="T:DynamicData.IndexedItem`2">
            <summary>
            An item with it's index.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
        </member>
        <member name="M:DynamicData.IndexedItem`2.#ctor(`0,`1,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.IndexedItem`2"/> class.
            </summary>
            <param name="value">The value.</param>
            <param name="key">The key.</param>
            <param name="index">The index.</param>
        </member>
        <member name="P:DynamicData.IndexedItem`2.Index">
            <summary>
            Gets the index.
            </summary>
        </member>
        <member name="P:DynamicData.IndexedItem`2.Key">
            <summary>
            Gets the key.
            </summary>
        </member>
        <member name="P:DynamicData.IndexedItem`2.Value">
            <summary>
            Gets the value.
            </summary>
        </member>
        <member name="M:DynamicData.IndexedItem`2.Equals(System.Object)">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.IndexedItem`2.GetHashCode">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.IndexedItem`2.ToString">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.IndexedItem`2.Equals(DynamicData.IndexedItem{`0,`1})">
            <inheritdoc />
        </member>
        <member name="T:DynamicData.IntermediateCache`2">
            <summary>
            Cache designed to be used for custom operator construction. It requires no key to be specified
            but instead relies on the user specifying the key when amending data.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
        </member>
        <member name="M:DynamicData.IntermediateCache`2.#ctor(System.IObservable{DynamicData.IChangeSet{`0,`1}})">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.IntermediateCache`2"/> class.
            </summary>
            <param name="source">The source.</param>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.IntermediateCache`2.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.IntermediateCache`2"/> class.
            </summary>
        </member>
        <member name="P:DynamicData.IntermediateCache`2.Count">
            <inheritdoc />
        </member>
        <member name="P:DynamicData.IntermediateCache`2.CountChanged">
            <inheritdoc />
        </member>
        <member name="P:DynamicData.IntermediateCache`2.Items">
            <inheritdoc />
        </member>
        <member name="P:DynamicData.IntermediateCache`2.Keys">
            <inheritdoc />
        </member>
        <member name="P:DynamicData.IntermediateCache`2.KeyValues">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.IntermediateCache`2.Connect(System.Func{`0,System.Boolean},System.Boolean)">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.IntermediateCache`2.Dispose">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.IntermediateCache`2.Edit(System.Action{DynamicData.ICacheUpdater{`0,`1}})">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.IntermediateCache`2.Lookup(`1)">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.IntermediateCache`2.Preview(System.Func{`0,System.Boolean})">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.IntermediateCache`2.Watch(`1)">
            <inheritdoc />
        </member>
        <member name="T:DynamicData.IObservableCache`2">
            <summary>
            A cache for observing and querying in memory data. With additional data access operators.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
        </member>
        <member name="P:DynamicData.IObservableCache`2.Count">
            <summary>
            Gets the total count of cached items.
            </summary>
        </member>
        <member name="P:DynamicData.IObservableCache`2.Items">
            <summary>
            Gets the Items.
            </summary>
        </member>
        <member name="P:DynamicData.IObservableCache`2.Keys">
            <summary>
            Gets the keys.
            </summary>
        </member>
        <member name="P:DynamicData.IObservableCache`2.KeyValues">
            <summary>
            Gets the key value pairs.
            </summary>
        </member>
        <member name="M:DynamicData.IObservableCache`2.Lookup(`1)">
            <summary>
            Lookup a single item using the specified key.
            </summary>
            <remarks>
            Fast indexed lookup.
            </remarks>
            <param name="key">The key.</param>
            <returns>An optional with the looked up value.</returns>
        </member>
        <member name="T:DynamicData.IPagedChangeSet`2">
            <summary>
            A paged update collection.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
        </member>
        <member name="P:DynamicData.IPagedChangeSet`2.Response">
            <summary>
            Gets the parameters used to virtualise the stream.
            </summary>
        </member>
        <member name="T:DynamicData.IPageRequest">
            <summary>
            Represents a new page request.
            </summary>
        </member>
        <member name="P:DynamicData.IPageRequest.Page">
            <summary>
            Gets the page to move to.
            </summary>
        </member>
        <member name="P:DynamicData.IPageRequest.Size">
            <summary>
            Gets the page size.
            </summary>
        </member>
        <member name="T:DynamicData.Operators.IPageResponse">
            <summary>
            Response from the pagination operator.
            </summary>
        </member>
        <member name="P:DynamicData.Operators.IPageResponse.Page">
            <summary>
            Gets the current page.
            </summary>
        </member>
        <member name="P:DynamicData.Operators.IPageResponse.Pages">
            <summary>
            Gets total number of pages.
            </summary>
        </member>
        <member name="P:DynamicData.Operators.IPageResponse.PageSize">
            <summary>
            Gets the size of the page.
            </summary>
        </member>
        <member name="P:DynamicData.Operators.IPageResponse.TotalSize">
            <summary>
            Gets the total number of records in the underlying cache.
            </summary>
        </member>
        <member name="T:DynamicData.IQuery`2">
            <summary>
            Exposes internal cache state to enable querying.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
        </member>
        <member name="P:DynamicData.IQuery`2.Count">
            <summary>
            Gets the count.
            </summary>
        </member>
        <member name="P:DynamicData.IQuery`2.Items">
            <summary>
            Gets the items.
            </summary>
        </member>
        <member name="P:DynamicData.IQuery`2.Keys">
            <summary>
            Gets the keys.
            </summary>
        </member>
        <member name="P:DynamicData.IQuery`2.KeyValues">
            <summary>
            Gets the items together with their keys.
            </summary>
            <value>
            The key values.
            </value>
        </member>
        <member name="M:DynamicData.IQuery`2.Lookup(`1)">
            <summary>
            Lookup a single item using the specified key.
            </summary>
            <remarks>
            Fast indexed lookup.
            </remarks>
            <param name="key">The key.</param>
            <returns>The looked up value.</returns>
        </member>
        <member name="T:DynamicData.ISortedChangeSet`2">
            <summary>
            An update collection as per the system convention additionally providing a sorted set of the underling state.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
        </member>
        <member name="P:DynamicData.ISortedChangeSet`2.SortedItems">
            <summary>
            Gets all cached items in sort order.
            </summary>
        </member>
        <member name="T:DynamicData.ISortedChangeSetAdaptor`2">
            <summary>
            A simple adaptor to inject side effects into a sorted change set observable.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
        </member>
        <member name="M:DynamicData.ISortedChangeSetAdaptor`2.Adapt(DynamicData.ISortedChangeSet{`0,`1})">
            <summary>
            Adapts the specified change.
            </summary>
            <param name="change">The change.</param>
        </member>
        <member name="T:DynamicData.ISourceCache`2">
            <summary>
            An observable cache which exposes an update API.  Used at the root
            of all observable chains.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
        </member>
        <member name="P:DynamicData.ISourceCache`2.KeySelector">
            <summary>
            Gets key selector used by the cache to retrieve keys from objects.
            </summary>
        </member>
        <member name="M:DynamicData.ISourceCache`2.Edit(System.Action{DynamicData.ISourceUpdater{`0,`1}})">
            <summary>
            Action to apply a batch update to a cache. Multiple update methods can be invoked within a single batch operation.
            These operations are invoked within the cache's lock and is therefore thread safe.
            The result of the action will produce a single change set.
            </summary>
            <param name="updateAction">The update action.</param>
        </member>
        <member name="T:DynamicData.ISourceUpdater`2">
             <summary>
             API for updating a source cache.
            
             Use edit to produce singular change set.
            
             NB: The evaluate method is used to signal to any observing operators
             to reevaluate whether the object still matches downstream operators.
             This is primarily targeted to inline object changes such as datetime and calculated fields.
            
             </summary>
             <typeparam name="TObject">The type of the object.</typeparam>
             <typeparam name="TKey">The type of the key.</typeparam>
        </member>
        <member name="M:DynamicData.ISourceUpdater`2.AddOrUpdate(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Adds or changes the specified items.
            </summary>
            <param name="items">The items.</param>
        </member>
        <member name="M:DynamicData.ISourceUpdater`2.AddOrUpdate(System.Collections.Generic.IEnumerable{`0},System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Adds or changes the specified items.
            </summary>
            <param name="items">The items.</param>
            <param name="comparer">The comparer.</param>
        </member>
        <member name="M:DynamicData.ISourceUpdater`2.AddOrUpdate(`0)">
            <summary>
            Adds or updates the item.
            </summary>
            <param name="item">The item.</param>
        </member>
        <member name="M:DynamicData.ISourceUpdater`2.AddOrUpdate(`0,System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Adds or updates the item using a comparer.
            </summary>
            <param name="item">The item.</param>
            <param name="comparer">The comparer.</param>
        </member>
        <member name="M:DynamicData.ISourceUpdater`2.Evaluate(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Refreshes the specified items.
            </summary>
            <param name="items">The items.</param>
        </member>
        <member name="M:DynamicData.ISourceUpdater`2.Evaluate(`0)">
            <summary>
            Refreshes the specified item.
            </summary>
            <param name="item">The item.</param>
        </member>
        <member name="M:DynamicData.ISourceUpdater`2.Load(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Clears existing values and loads the specified items.
            </summary>
            <param name="items">The items.</param>
        </member>
        <member name="M:DynamicData.ISourceUpdater`2.Refresh(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Refreshes the specified items.
            </summary>
            <param name="items">The items.</param>
        </member>
        <member name="M:DynamicData.ISourceUpdater`2.Refresh(`0)">
            <summary>
            Refreshes the specified item.
            </summary>
            <param name="item">The item.</param>
        </member>
        <member name="M:DynamicData.ISourceUpdater`2.Remove(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Removes the specified items.
            </summary>
            <param name="items">The items.</param>
        </member>
        <member name="M:DynamicData.ISourceUpdater`2.Remove(`0)">
            <summary>
            Removes the specified item.
            </summary>
            <param name="item">The item.</param>
        </member>
        <member name="T:DynamicData.IVirtualChangeSet`2">
            <summary>
            Represents a subset of data reduced by a defined set of parameters.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
        </member>
        <member name="P:DynamicData.IVirtualChangeSet`2.Response">
            <summary>
            Gets the parameters used to virtualise the stream.
            </summary>
        </member>
        <member name="T:DynamicData.IVirtualRequest">
            <summary>
            A request to virtualise a stream.
            </summary>
        </member>
        <member name="P:DynamicData.IVirtualRequest.Size">
            <summary>
            Gets the number of records to return.
            </summary>
        </member>
        <member name="P:DynamicData.IVirtualRequest.StartIndex">
            <summary>
            Gets the start index.
            </summary>
        </member>
        <member name="T:DynamicData.IVirtualResponse">
            <summary>
            Defines values used to virtualise the result set.
            </summary>
        </member>
        <member name="P:DynamicData.IVirtualResponse.Size">
            <summary>
            Gets the requested size of the virtualised data.
            </summary>
        </member>
        <member name="P:DynamicData.IVirtualResponse.StartIndex">
            <summary>
            Gets the start index.
            </summary>
        </member>
        <member name="P:DynamicData.IVirtualResponse.TotalSize">
            <summary>
            Gets the total size of the underlying cache.
            </summary>
            <value>
            The total size.
            </value>
        </member>
        <member name="T:DynamicData.MissingKeyException">
            <summary>
            Thrown when a key is expected in a cache but not found.
            </summary>
        </member>
        <member name="M:DynamicData.MissingKeyException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.MissingKeyException"/> class.
            </summary>
            <param name="message">The message that describes the error.</param>
        </member>
        <member name="M:DynamicData.MissingKeyException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.MissingKeyException"/> class.
            </summary>
        </member>
        <member name="M:DynamicData.MissingKeyException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.MissingKeyException"/> class.
            </summary>
            <param name="message">The message that describes the error.</param>
            <param name="innerException">A inner exception with further information.</param>
        </member>
        <member name="M:DynamicData.MissingKeyException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.MissingKeyException"/> class.
            </summary>
            <param name="serializationInfo">The serialization info.</param>
            <param name="streamingContext">The serialization context.</param>
        </member>
        <member name="T:DynamicData.Node`2">
            <summary>
            Node describing the relationship between and item and it's ancestors and descendent.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
        </member>
        <member name="M:DynamicData.Node`2.#ctor(`0,`1)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Node`2"/> class.
            </summary>
            <param name="item">The item.</param>
            <param name="key">The key.</param>
        </member>
        <member name="M:DynamicData.Node`2.#ctor(`0,`1,DynamicData.Kernel.Optional{DynamicData.Node{`0,`1}})">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Node`2"/> class.
            </summary>
            <param name="item">The item.</param>
            <param name="key">The key.</param>
            <param name="parent">The parent.</param>
        </member>
        <member name="P:DynamicData.Node`2.Children">
            <summary>
            Gets the child nodes.
            </summary>
        </member>
        <member name="P:DynamicData.Node`2.Depth">
            <summary>
            Gets the depth i.e. how many degrees of separation from the parent.
             </summary>
        </member>
        <member name="P:DynamicData.Node`2.IsRoot">
            <summary>
            Gets a value indicating whether this instance is root.
            </summary>
            <value>
              <c>true</c> if this instance is root node; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:DynamicData.Node`2.Item">
            <summary>
            Gets the item.
            </summary>
        </member>
        <member name="P:DynamicData.Node`2.Key">
            <summary>
            Gets the key.
            </summary>
        </member>
        <member name="P:DynamicData.Node`2.Parent">
            <summary>
            Gets the parent if it has one.
            </summary>
        </member>
        <member name="M:DynamicData.Node`2.op_Equality(DynamicData.Node{`0,`1},DynamicData.Node{`0,`1})">
            <summary>
             Determines whether the specified objects are equal.
            </summary>
            <param name="left">The left value to compare.</param>
            <param name="right">The right value to compare.</param>
            <returns>If the two values are equal.</returns>
        </member>
        <member name="M:DynamicData.Node`2.op_Inequality(DynamicData.Node{`0,`1},DynamicData.Node{`0,`1})">
            <summary>
             Determines whether the specified objects are not equal.
            </summary>
            <param name="left">The left value to compare.</param>
            <param name="right">The right value to compare.</param>
            <returns>If the two values are not equal.</returns>
        </member>
        <member name="M:DynamicData.Node`2.Dispose">
            <summary>Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.</summary>
            <filterpriority>2.</filterpriority>
        </member>
        <member name="M:DynamicData.Node`2.Equals(DynamicData.Node{`0,`1})">
            <summary>Determines whether the specified object is equal to the current object.</summary>
            <returns>true if the specified object  is equal to the current object; otherwise, false.</returns>
            <param name="other">The object to compare with the current object. </param>
            <filterpriority>2.</filterpriority>
        </member>
        <member name="M:DynamicData.Node`2.Equals(System.Object)">
            <summary>Determines whether the specified object is equal to the current object.</summary>
            <returns>true if the specified object  is equal to the current object; otherwise, false.</returns>
            <param name="obj">The object to compare with the current object. </param>
            <filterpriority>2.</filterpriority>
        </member>
        <member name="M:DynamicData.Node`2.GetHashCode">
            <summary>Serves as the default hash function. </summary>
            <returns>A hash code for the current object.</returns>
            <filterpriority>2.</filterpriority>
        </member>
        <member name="M:DynamicData.Node`2.ToString">
            <summary>
            Returns a <see cref="T:System.String" /> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String" /> that represents this instance.
            </returns>
        </member>
        <member name="M:DynamicData.Node`2.Dispose(System.Boolean)">
            <summary>
            Disposes any managed or unmanaged resources.
            </summary>
            <param name="isDisposing">If the dispose is being called by the Dispose method.</param>
        </member>
        <member name="T:DynamicData.ObservableCacheEx">
            <summary>
            Extensions for dynamic data.
            </summary>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Adapt``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},DynamicData.IChangeSetAdaptor{``0,``1})">
            <summary>
            Inject side effects into the stream using the specified adaptor.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="adaptor">The adaptor.</param>
            <returns>An observable which will emit change sets.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            destination.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Adapt``2(System.IObservable{DynamicData.ISortedChangeSet{``0,``1}},DynamicData.ISortedChangeSetAdaptor{``0,``1})">
            <summary>
            Inject side effects into the stream using the specified sorted adaptor.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="adaptor">The adaptor.</param>
            <returns>An observable which will emit change sets.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            destination.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.AddOrUpdate``2(DynamicData.ISourceCache{``0,``1},``0)">
            <summary>
            Adds or updates the cache with the specified item.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="item">The item.</param>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.AddOrUpdate``2(DynamicData.ISourceCache{``0,``1},``0,System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Adds or updates the cache with the specified item.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="item">The item.</param>
            <param name="equalityComparer">The equality comparer used to determine whether a new item is the same as an existing cached item.</param>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.AddOrUpdate``2(DynamicData.ISourceCache{``0,``1},System.Collections.Generic.IEnumerable{``0})">
            <summary>
            <summary>
            Adds or updates the cache with the specified items.
            </summary>
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="items">The items.</param>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.AddOrUpdate``2(DynamicData.ISourceCache{``0,``1},System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            <summary>
            Adds or updates the cache with the specified items.
            </summary>
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="items">The items.</param>
            <param name="equalityComparer">The equality comparer used to determine whether a new item is the same as an existing cached item.</param>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.AddOrUpdate``2(DynamicData.IIntermediateCache{``0,``1},``0,``1)">
            <summary>
            Adds or updates the cache with the specified item / key pair.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source cache.</param>
            <param name="item">The item to add or update.</param>
            <param name="key">The key to add or update.</param>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.And``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.IObservable{DynamicData.IChangeSet{``0,``1}}[])">
            <summary>
            Applied a logical And operator between the collections i.e items which are in all of the
            sources are included.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="others">The others.</param>
            <returns>An observable which emits change sets.</returns>
            <exception cref="T:System.ArgumentNullException">source or others.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.And``2(System.Collections.Generic.ICollection{System.IObservable{DynamicData.IChangeSet{``0,``1}}})">
            <summary>
            Applied a logical And operator between the collections i.e items which are in all of the sources are included.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="sources">The source.</param>
            <returns>An observable which emits change sets.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            others.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.And``2(DynamicData.IObservableList{System.IObservable{DynamicData.IChangeSet{``0,``1}}})">
            <summary>
            Dynamically apply a logical And operator between the items in the outer observable list.
            Items which are in all of the sources are included in the result.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="sources">The source.</param>
            <returns>An observable which emits change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.And``2(DynamicData.IObservableList{DynamicData.IObservableCache{``0,``1}})">
            <summary>
            Dynamically apply a logical And operator between the items in the outer observable list.
            Items which are in all of the sources are included in the result.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="sources">The source.</param>
            <returns>An observable which emits change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.And``2(DynamicData.IObservableList{DynamicData.ISourceCache{``0,``1}})">
            <summary>
            Dynamically apply a logical And operator between the items in the outer observable list.
            Items which are in all of the sources are included in the result.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="sources">The source.</param>
            <returns>An observable which emits change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.AsObservableCache``2(DynamicData.IObservableCache{``0,``1})">
            <summary>
            Converts the source to an read only observable cache.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable cache.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.AsObservableCache``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Boolean)">
            <summary>
            Converts the source to a readonly observable cache.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="applyLocking">if set to <c>true</c> all methods are synchronised. There is no need to apply locking when the consumer can be sure the read / write operations are already synchronised.</param>
            <returns>An observable cache.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.AutoRefresh``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Nullable{System.TimeSpan},System.Nullable{System.TimeSpan},System.Reactive.Concurrency.IScheduler)">
            <summary>
            Automatically refresh downstream operators when any properties change.
            </summary>
            <typeparam name="TObject">The object of the change set.</typeparam>
            <typeparam name="TKey">The key of the change set.</typeparam>
            <param name="source">The source observable.</param>
            <param name="changeSetBuffer">Batch up changes by specifying the buffer. This greatly increases performance when many elements have successive property changes.</param>
            <param name="propertyChangeThrottle">When observing on multiple property changes, apply a throttle to prevent excessive refresh invocations.</param>
            <param name="scheduler">The scheduler.</param>
            <returns>An observable change set with additional refresh changes.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.AutoRefresh``3(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Linq.Expressions.Expression{System.Func{``0,``2}},System.Nullable{System.TimeSpan},System.Nullable{System.TimeSpan},System.Reactive.Concurrency.IScheduler)">
            <summary>
            Automatically refresh downstream operators when properties change.
            </summary>
            <typeparam name="TObject">The object of the change set.</typeparam>
            <typeparam name="TKey">The key of the change set.</typeparam>
            <typeparam name="TProperty">The type of the property.</typeparam>
            <param name="source">The source observable.</param>
            <param name="propertyAccessor">Specify a property to observe changes. When it changes a Refresh is invoked.</param>
            <param name="changeSetBuffer">Batch up changes by specifying the buffer. This greatly increases performance when many elements have successive property changes.</param>
            <param name="propertyChangeThrottle">When observing on multiple property changes, apply a throttle to prevent excessive refresh invocations.</param>
            <param name="scheduler">The scheduler.</param>
            <returns>An observable change set with additional refresh changes.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.AutoRefreshOnObservable``3(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.IObservable{``2}},System.Nullable{System.TimeSpan},System.Reactive.Concurrency.IScheduler)">
            <summary>
            Automatically refresh downstream operator. The refresh is triggered when the observable receives a notification.
            </summary>
            <typeparam name="TObject">The object of the change set.</typeparam>
            <typeparam name="TKey">The key of the change set.</typeparam>
            <typeparam name="TAny">The type of evaluation.</typeparam>
            <param name="source">The source observable change set.</param>
            <param name="reevaluator">An observable which acts on items within the collection and produces a value when the item should be refreshed.</param>
            <param name="changeSetBuffer">Batch up changes by specifying the buffer. This greatly increases performance when many elements require a refresh.</param>
            <param name="scheduler">The scheduler.</param>
            <returns>An observable change set with additional refresh changes.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.AutoRefreshOnObservable``3(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,``1,System.IObservable{``2}},System.Nullable{System.TimeSpan},System.Reactive.Concurrency.IScheduler)">
            <summary>
            Automatically refresh downstream operator. The refresh is triggered when the observable receives a notification.
            </summary>
            <typeparam name="TObject">The object of the change set.</typeparam>
            <typeparam name="TKey">The key of the change set.</typeparam>
            <typeparam name="TAny">The type of evaluation.</typeparam>
            <param name="source">The source observable change set.</param>
            <param name="reevaluator">An observable which acts on items within the collection and produces a value when the item should be refreshed.</param>
            <param name="changeSetBuffer">Batch up changes by specifying the buffer. This greatly increases performance when many elements require a refresh.</param>
            <param name="scheduler">The scheduler.</param>
            <returns>An observable change set with additional refresh changes.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Batch``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.TimeSpan,System.Reactive.Concurrency.IScheduler)">
            <summary>
            Batches the updates for the specified time period.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="timeSpan">The time span.</param>
            <param name="scheduler">The scheduler.</param>
            <returns>An observable which emits change sets.</returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            scheduler.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.BatchIf``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.IObservable{System.Boolean},System.Reactive.Concurrency.IScheduler)">
            <summary>
            Batches the underlying updates if a pause signal (i.e when the buffer selector return true) has been received.
            When a resume signal has been received the batched updates will  be fired.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="pauseIfTrueSelector">When true, observable begins to buffer and when false, window closes and buffered result if notified.</param>
            <param name="scheduler">The scheduler.</param>
            <returns>An observable which emits change sets.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.BatchIf``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.IObservable{System.Boolean},System.Boolean,System.Reactive.Concurrency.IScheduler)">
            <summary>
            Batches the underlying updates if a pause signal (i.e when the buffer selector return true) has been received.
            When a resume signal has been received the batched updates will  be fired.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="pauseIfTrueSelector">When true, observable begins to buffer and when false, window closes and buffered result if notified.</param>
            <param name="initialPauseState">if set to <c>true</c> [initial pause state].</param>
            <param name="scheduler">The scheduler.</param>
            <returns>An observable which emits change sets.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.BatchIf``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.IObservable{System.Boolean},System.Nullable{System.TimeSpan},System.Reactive.Concurrency.IScheduler)">
            <summary>
            Batches the underlying updates if a pause signal (i.e when the buffer selector return true) has been received.
            When a resume signal has been received the batched updates will  be fired.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="pauseIfTrueSelector">When true, observable begins to buffer and when false, window closes and buffered result if notified.</param>
            <param name="timeOut">Specify a time to ensure the buffer window does not stay open for too long. On completion buffering will cease.</param>
            <param name="scheduler">The scheduler.</param>
            <returns>An observable which emits change sets.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.BatchIf``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.IObservable{System.Boolean},System.Boolean,System.Nullable{System.TimeSpan},System.Reactive.Concurrency.IScheduler)">
            <summary>
            Batches the underlying updates if a pause signal (i.e when the buffer selector return true) has been received.
            When a resume signal has been received the batched updates will  be fired.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="pauseIfTrueSelector">When true, observable begins to buffer and when false, window closes and buffered result if notified.</param>
            <param name="initialPauseState">if set to <c>true</c> [initial pause state].</param>
            <param name="timeOut">Specify a time to ensure the buffer window does not stay open for too long. On completion buffering will cease.</param>
            <param name="scheduler">The scheduler.</param>
            <returns>An observable which emits change sets.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.BatchIf``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.IObservable{System.Boolean},System.Boolean,System.IObservable{System.Reactive.Unit},System.Reactive.Concurrency.IScheduler)">
            <summary>
            Batches the underlying updates if a pause signal (i.e when the buffer selector return true) has been received.
            When a resume signal has been received the batched updates will  be fired.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="pauseIfTrueSelector">When true, observable begins to buffer and when false, window closes and buffered result if notified.</param>
            <param name="initialPauseState">if set to <c>true</c> [initial pause state].</param>
            <param name="timer">Specify a time observable. The buffer will be emptied each time the timer produces a value and when it completes. On completion buffering will cease.</param>
            <param name="scheduler">The scheduler.</param>
            <returns>An observable which emits change sets.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Bind``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},DynamicData.Binding.IObservableCollection{``0},System.Int32)">
            <summary>
             Binds the results to the specified observable collection using the default update algorithm.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="destination">The destination.</param>
            <param name="refreshThreshold">The number of changes before a reset notification is triggered.</param>
            <returns>An observable which will emit change sets.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Bind``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},DynamicData.Binding.IObservableCollection{``0},DynamicData.Binding.IObservableCollectionAdaptor{``0,``1})">
            <summary>
            Binds the results to the specified binding collection using the specified update algorithm.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="destination">The destination.</param>
            <param name="updater">The updater.</param>
            <returns>An observable which will emit change sets.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Bind``2(System.IObservable{DynamicData.ISortedChangeSet{``0,``1}},DynamicData.Binding.IObservableCollection{``0})">
            <summary>
             Binds the results to the specified observable collection using the default update algorithm.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="destination">The destination.</param>
            <returns>An observable which will emit change sets.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Bind``2(System.IObservable{DynamicData.ISortedChangeSet{``0,``1}},DynamicData.Binding.IObservableCollection{``0},DynamicData.Binding.ISortedObservableCollectionAdaptor{``0,``1})">
            <summary>
            Binds the results to the specified binding collection using the specified update algorithm.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="destination">The destination.</param>
            <param name="updater">The updater.</param>
            <returns>An observable which will emit change sets.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Bind``2(System.IObservable{DynamicData.ISortedChangeSet{``0,``1}},System.Collections.ObjectModel.ReadOnlyObservableCollection{``0}@,System.Int32,DynamicData.Binding.ISortedObservableCollectionAdaptor{``0,``1})">
            <summary>
            Binds the results to the specified readonly observable collection using the default update algorithm.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="readOnlyObservableCollection">The resulting read only observable collection.</param>
            <param name="resetThreshold">The number of changes before a reset event is called on the observable collection.</param>
            <param name="adaptor">Specify an adaptor to change the algorithm to update the target collection.</param>
            <returns>An observable which will emit change sets.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Bind``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Collections.ObjectModel.ReadOnlyObservableCollection{``0}@,System.Int32,System.Boolean,DynamicData.Binding.IObservableCollectionAdaptor{``0,``1})">
            <summary>
            Binds the results to the specified readonly observable collection using the default update algorithm.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="readOnlyObservableCollection">The resulting read only observable collection.</param>
            <param name="resetThreshold">The number of changes before a reset notification is triggered.</param>
            <param name="useReplaceForUpdates"> Use replace instead of remove / add for updates.  NB: Some platforms to not support replace notifications for binding.</param>
            <param name="adaptor">Specify an adaptor to change the algorithm to update the target collection.</param>
            <returns>An observable which will emit change sets.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Bind``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.ComponentModel.BindingList{``0},System.Int32)">
            <summary>
            Binds a clone of the observable change set to the target observable collection.
            </summary>
            <typeparam name="TObject">The object type.</typeparam>
            <typeparam name="TKey">The key type.</typeparam>
            <param name="source">The source.</param>
            <param name="bindingList">The target binding list.</param>
            <param name="resetThreshold">The reset threshold.</param>
            <returns>An observable which will emit change sets.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            targetCollection.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Bind``2(System.IObservable{DynamicData.ISortedChangeSet{``0,``1}},System.ComponentModel.BindingList{``0},System.Int32)">
            <summary>
            Binds a clone of the observable change set to the target observable collection.
            </summary>
            <typeparam name="TObject">The object type.</typeparam>
            <typeparam name="TKey">The key type.</typeparam>
            <param name="source">The source.</param>
            <param name="bindingList">The target binding list.</param>
            <param name="resetThreshold">The reset threshold.</param>
            <returns>An observable which will emit change sets.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            targetCollection.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.BufferInitial``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.TimeSpan,System.Reactive.Concurrency.IScheduler)">
            <summary>
            Buffers changes for an initial period only. After the period has elapsed, not further buffering occurs.
            </summary>
            <typeparam name="TObject">The object type.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source change set.</param>
            <param name="initialBuffer">The period to buffer, measure from the time that the first item arrives.</param>
            <param name="scheduler">The scheduler to buffer on.</param>
            <returns>An observable which emits change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Cast``3(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,``2})">
            <summary>
            Cast the object to the specified type.
            Alas, I had to add the converter due to type inference issues.
            </summary>
            <typeparam name="TSource">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <param name="source">The source.</param>
            <param name="converter">The conversion factory.</param>
            <returns>An observable which emits change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.ChangeKey``3(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,``2})">
            <summary>
            Changes the primary key.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TSourceKey">The type of the source key.</typeparam>
            <typeparam name="TDestinationKey">The type of the destination key.</typeparam>
            <param name="source">The source.</param>
            <param name="keySelector">The key selector eg. (item) => newKey.</param>
            <returns>An observable which emits change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.ChangeKey``3(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``1,``0,``2})">
            <summary>
            Changes the primary key.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TSourceKey">The type of the source key.</typeparam>
            <typeparam name="TDestinationKey">The type of the destination key.</typeparam>
            <param name="source">The source.</param>
            <param name="keySelector">The key selector eg. (key, item) => newKey.</param>
            <returns>An observable which emits change sets.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Clear``2(DynamicData.ISourceCache{``0,``1})">
            <summary>
            Clears all data.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Clear``2(DynamicData.IIntermediateCache{``0,``1})">
            <summary>
            Clears all items from the cache.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Clear``2(DynamicData.Cache.Internal.LockFreeObservableCache{``0,``1})">
            <summary>
            Clears all data.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Clone``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Collections.Generic.ICollection{``0})">
            <summary>
            Clones the changes  into the specified collection.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="target">The target.</param>
            <returns>An observable which emits change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Convert``3(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,``2})">
            <summary>
            Convert the object using the specified conversion function.
            This is a lighter equivalent of Transform and is designed to be used with non-disposable objects.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <param name="source">The source.</param>
            <param name="conversionFactory">The conversion factory.</param>
            <returns>An observable which emits change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.DeferUntilLoaded``2(System.IObservable{DynamicData.IChangeSet{``0,``1}})">
            <summary>
            Defer the subscription until the stream has been inflated with data.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable which emits change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.DeferUntilLoaded``2(DynamicData.IObservableCache{``0,``1})">
            <summary>
            Defer the subscription until the stream has been inflated with data.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable which emits change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.DisposeMany``2(System.IObservable{DynamicData.IChangeSet{``0,``1}})">
             <summary>
             Disposes each item when no longer required.
            
             Individual items are disposed when removed or replaced. All items
             are disposed when the stream is disposed.
             </summary>
             <typeparam name="TObject">The type of the object.</typeparam>
             <typeparam name="TKey">The type of the key.</typeparam>
             <param name="source">The source.</param>
             <returns>A continuation of the original stream.</returns>
             <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.DistinctValues``3(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,``2})">
            <summary>
                Selects distinct values from the source.
            </summary>
            <typeparam name="TObject">The type object from which the distinct values are selected.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="TValue">The type of the value.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <returns>An observable which will emit distinct change sets.</returns>
            <remarks>
            Due to it's nature only adds or removes can be returned.
            </remarks>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.EditDiff``2(DynamicData.ISourceCache{``0,``1},System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Loads the cache with the specified items in an optimised manner i.e. calculates the differences between the old and new items
             in the list and amends only the differences.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="allItems">The items to add, update or delete.</param>
            <param name="equalityComparer">The equality comparer used to determine whether a new item is the same as an existing cached item.</param>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.EditDiff``2(DynamicData.ISourceCache{``0,``1},System.Collections.Generic.IEnumerable{``0},System.Func{``0,``0,System.Boolean})">
            <summary>
            Loads the cache with the specified items in an optimised manner i.e. calculates the differences between the old and new items
             in the list and amends only the differences.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="allItems">The items to compare and add, update or delete.</param>
            <param name="areItemsEqual">Expression to determine whether an item's value is equal to the old value (current, previous) => current.Version == previous.Version.</param>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Evaluate``2(DynamicData.ISourceCache{``0,``1},``0)">
            <summary>
            Signal observers to re-evaluate the specified item.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="item">The item.</param>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Evaluate``2(DynamicData.ISourceCache{``0,``1},System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Signal observers to re-evaluate the specified items.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="items">The items.</param>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Evaluate``2(DynamicData.ISourceCache{``0,``1})">
            <summary>
            Signal observers to re-evaluate the all items.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Except``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.IObservable{DynamicData.IChangeSet{``0,``1}}[])">
            <summary>
            Dynamically apply a logical Except operator between the collections
            Items from the first collection in the outer list are included unless contained in any of the other lists.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="others">The others.</param>
            <returns>An observable which emits change sets.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            others.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Except``2(System.Collections.Generic.ICollection{System.IObservable{DynamicData.IChangeSet{``0,``1}}})">
            <summary>
            Dynamically apply a logical Except operator between the collections
            Items from the first collection in the outer list are included unless contained in any of the other lists.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="sources">The sources.</param>
            <returns>An observable which emits change sets.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            others.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Except``2(DynamicData.IObservableList{System.IObservable{DynamicData.IChangeSet{``0,``1}}})">
            <summary>
            Dynamically apply a logical Except operator between the collections
            Items from the first collection in the outer list are included unless contained in any of the other lists.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="sources">The source.</param>
            <returns>An observable which emits change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Except``2(DynamicData.IObservableList{DynamicData.IObservableCache{``0,``1}})">
            <summary>
            Dynamically apply a logical Except operator between the items in the outer observable list.
            Items which are in any of the sources are included in the result.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="sources">The source.</param>
            <returns>An observable which emits change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Except``2(DynamicData.IObservableList{DynamicData.ISourceCache{``0,``1}})">
            <summary>
            Dynamically apply a logical Except operator between the items in the outer observable list.
            Items which are in any of the sources are included in the result.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="sources">The source.</param>
            <returns>An observable which emits change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.ExpireAfter``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.Nullable{System.TimeSpan}})">
            <summary>
            Automatically removes items from the stream after the time specified by
            the timeSelector elapses.  Return null if the item should never be removed.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="timeSelector">The time selector.</param>
            <returns>An observable which emits change sets.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            timeSelector.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.ExpireAfter``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.Nullable{System.TimeSpan}},System.Reactive.Concurrency.IScheduler)">
            <summary>
            Automatically removes items from the stream after the time specified by
            the timeSelector elapses.  Return null if the item should never be removed.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="timeSelector">The time selector.</param>
            <param name="scheduler">The scheduler.</param>
            <returns>An observable which emits change sets.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            timeSelector.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.ExpireAfter``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.Nullable{System.TimeSpan}},System.Nullable{System.TimeSpan})">
            <summary>
            Automatically removes items from the stream on the next poll after the time specified by
            the time selector elapses.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The cache.</param>
            <param name="timeSelector">The time selector.  Return null if the item should never be removed.</param>
            <param name="pollingInterval">The polling interval.  if this value is specified,  items are expired on an interval.
            This will result in a loss of accuracy of the time which the item is expired but is less computationally expensive.
            </param>
            <returns>An observable of enumerable of the key values which has been removed.</returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            timeSelector.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.ExpireAfter``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.Nullable{System.TimeSpan}},System.Nullable{System.TimeSpan},System.Reactive.Concurrency.IScheduler)">
            <summary>
            Automatically removes items from the stream on the next poll after the time specified by
            the time selector elapses.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The cache.</param>
            <param name="timeSelector">The time selector.  Return null if the item should never be removed.</param>
            <param name="pollingInterval">The polling interval.  if this value is specified,  items are expired on an interval.
            This will result in a loss of accuracy of the time which the item is expired but is less computationally expensive.
            </param>
            <param name="scheduler">The scheduler.</param>
            <returns>An observable of enumerable of the key values which has been removed.</returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            timeSelector.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.ExpireAfter``2(DynamicData.ISourceCache{``0,``1},System.Func{``0,System.Nullable{System.TimeSpan}},System.Reactive.Concurrency.IScheduler)">
            <summary>
            Automatically removes items from the cache after the time specified by
            the time selector elapses.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The cache.</param>
            <param name="timeSelector">The time selector.  Return null if the item should never be removed.</param>
            <param name="scheduler">The scheduler to perform the work on.</param>
            <returns>An observable of enumerable of the key values which has been removed.</returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            timeSelector.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.ExpireAfter``2(DynamicData.ISourceCache{``0,``1},System.Func{``0,System.Nullable{System.TimeSpan}},System.Nullable{System.TimeSpan})">
            <summary>
            Automatically removes items from the cache after the time specified by
            the time selector elapses.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The cache.</param>
            <param name="timeSelector">The time selector.  Return null if the item should never be removed.</param>
            <param name="interval">A polling interval.  Since multiple timer subscriptions can be expensive,
            it may be worth setting the interval .
            </param>
            <returns>An observable of enumerable of the key values which has been removed.</returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            timeSelector.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.EnsureUniqueKeys``2(System.IObservable{DynamicData.IChangeSet{``0,``1}})">
            <summary>
            Ensures there are no duplicated keys in the observable changeset.
            </summary>
            <param name="source"> The source change set.</param>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <returns>A changeset which guarantees a key is only present at most once in the changeset.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.ExpireAfter``2(DynamicData.ISourceCache{``0,``1},System.Func{``0,System.Nullable{System.TimeSpan}},System.Nullable{System.TimeSpan},System.Reactive.Concurrency.IScheduler)">
            <summary>
            Automatically removes items from the cache after the time specified by
            the time selector elapses.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The cache.</param>
            <param name="timeSelector">The time selector.  Return null if the item should never be removed.</param>
            <param name="pollingInterval">A polling interval.  Since multiple timer subscriptions can be expensive,
            it may be worth setting the interval.
            </param>
            <param name="scheduler">The scheduler.</param>
            <returns>An observable of enumerable of the key values which has been removed.</returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            timeSelector.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Filter``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.Boolean},System.Boolean)">
            <summary>
            Filters the specified source.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="filter">The filter.</param>
            <param name="suppressEmptyChangeSets">By default empty changeset notifications are suppressed for performance reasons.  Set to false to publish empty changesets.  Doing so can be useful for monitoring loading status.</param>
            <returns>An observable which emits change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Filter``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.IObservable{System.Func{``0,System.Boolean}},System.Boolean)">
            <summary>
            Creates a filtered stream which can be dynamically filtered.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="predicateChanged">Observable to change the underlying predicate.</param>
            <param name="suppressEmptyChangeSets">By default empty changeset notifications are suppressed for performance reasons.  Set to false to publish empty changesets.  Doing so can be useful for monitoring loading status.</param>
            <returns>An observable which emits change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Filter``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.IObservable{System.Reactive.Unit},System.Boolean)">
            <summary>
            Creates a filtered stream which can be dynamically filtered.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="reapplyFilter">Observable to re-evaluate whether the filter still matches items. Use when filtering on mutable values.</param>
            <param name="suppressEmptyChangeSets">By default empty changeset notifications are suppressed for performance reasons.  Set to false to publish empty changesets.  Doing so can be useful for monitoring loading status.</param>
            <returns>An observable which emits change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Filter``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.IObservable{System.Func{``0,System.Boolean}},System.IObservable{System.Reactive.Unit},System.Boolean)">
            <summary>
            Creates a filtered stream which can be dynamically filtered.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="predicateChanged">Observable to change the underlying predicate.</param>
            <param name="reapplyFilter">Observable to re-evaluate whether the filter still matches items. Use when filtering on mutable values.</param>
            <param name="suppressEmptyChangeSets">By default empty changeset notifications are suppressed for performance reasons.  Set to false to publish empty changesets.  Doing so can be useful for monitoring loading status.</param>
            <returns>An observable which emits change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.FilterOnProperty``3(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Linq.Expressions.Expression{System.Func{``0,``2}},System.Func{``0,System.Boolean},System.Nullable{System.TimeSpan},System.Reactive.Concurrency.IScheduler)">
            <summary>
            Filters source on the specified property using the specified predicate.
            The filter will automatically reapply when a property changes.
            When there are likely to be a large number of property changes specify a throttle to improve performance.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="TProperty">The type of the property.</typeparam>
            <param name="source">The source.</param>
            <param name="propertySelector">The property selector. When the property changes a the filter specified will be re-evaluated.</param>
            <param name="predicate">A predicate based on the object which contains the changed property.</param>
            <param name="propertyChangedThrottle">The property changed throttle.</param>
            <param name="scheduler">The scheduler used when throttling.</param>
            <returns>An observable which emits change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.FinallySafe``1(System.IObservable{``0},System.Action)">
            <summary>
            Ensure that finally is always called. Thanks to Lee Campbell for this.
            </summary>
            <typeparam name="T">The type contained within the observables.</typeparam>
            <param name="source">The source.</param>
            <param name="finallyAction">The finally action.</param>
            <returns>An observable which has always a finally action applied.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Flatten``2(System.IObservable{DynamicData.IChangeSet{``0,``1}})">
            <summary>
            Flattens an update collection to it's individual items.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable which emits change set values on a flatten result.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.FlattenBufferResult``2(System.IObservable{System.Collections.Generic.IList{DynamicData.IChangeSet{``0,``1}}})">
            <summary>
            Convert the result of a buffer operation to a single change set.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable which emits change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.ForEachChange``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Action{DynamicData.Change{``0,``1}})">
            <summary>
            Provides a call back for each change.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="action">The action.</param>
            <returns>An observable which will perform the action on each item.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.FullJoin``5(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.IObservable{DynamicData.IChangeSet{``2,``3}},System.Func{``2,``1},System.Func{DynamicData.Kernel.Optional{``0},DynamicData.Kernel.Optional{``2},``4})">
            <summary>
            Joins the left and right observable data sources, taking any left or right values and matching them, provided that the left or the right has a value.
            This is the equivalent of SQL full join.
            </summary>
            <typeparam name="TLeft">The object type of the left data source.</typeparam>
            <typeparam name="TLeftKey">The key type of the left data source.</typeparam>
            <typeparam name="TRight">The object type of the right data source.</typeparam>
            <typeparam name="TRightKey">The key type of the right data source.</typeparam>
            <typeparam name="TDestination">The resulting object which. </typeparam>
            <param name="left">The left data source.</param>
            <param name="right">The right data source.</param>
            <param name="rightKeySelector">Specify the foreign key on the right data source.</param>
            <param name="resultSelector">The result selector.used to transform the combined data into. Example (key, left, right) => new CustomObject(key, left, right).</param>
            <returns>An observable which will emit change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.FullJoin``5(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.IObservable{DynamicData.IChangeSet{``2,``3}},System.Func{``2,``1},System.Func{``1,DynamicData.Kernel.Optional{``0},DynamicData.Kernel.Optional{``2},``4})">
            <summary>
            Joins the left and right observable data sources, taking any left or right values and matching them, provided that the left or the right has a value.
            This is the equivalent of SQL full join.
            </summary>
            <typeparam name="TLeft">The object type of the left data source.</typeparam>
            <typeparam name="TLeftKey">The key type of the left data source.</typeparam>
            <typeparam name="TRight">The object type of the right data source.</typeparam>
            <typeparam name="TRightKey">The key type of the right data source.</typeparam>
            <typeparam name="TDestination">The resulting object which. </typeparam>
            <param name="left">The left data source.</param>
            <param name="right">The right data source.</param>
            <param name="rightKeySelector">Specify the foreign key on the right data source.</param>
            <param name="resultSelector">The result selector.used to transform the combined data into. Example (key, left, right) => new CustomObject(key, left, right).</param>
            <returns>An observable which will emit change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.FullJoinMany``5(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.IObservable{DynamicData.IChangeSet{``2,``3}},System.Func{``2,``1},System.Func{DynamicData.Kernel.Optional{``0},DynamicData.IGrouping{``2,``3,``1},``4})">
            <summary>
            Groups the right data source and joins the resulting group to the left data source, matching these using the specified key selector. Results are included when the left or the right has a value.
            This is the equivalent of SQL full join.
            </summary>
            <typeparam name="TLeft">The object type of the left data source.</typeparam>
            <typeparam name="TLeftKey">The key type of the left data source.</typeparam>
            <typeparam name="TRight">The object type of the right data source.</typeparam>
            <typeparam name="TRightKey">The key type of the right data source.</typeparam>
            <typeparam name="TDestination">The resulting object which. </typeparam>
            <param name="left">The left data source.</param>
            <param name="right">The right data source.</param>
            <param name="rightKeySelector">Specify the foreign key on the right data source.</param>
            <param name="resultSelector">The result selector.used to transform the combined data into. Example (left, right) => new CustomObject(key, left, right).</param>
            <returns>An observable which will emit change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.FullJoinMany``5(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.IObservable{DynamicData.IChangeSet{``2,``3}},System.Func{``2,``1},System.Func{``1,DynamicData.Kernel.Optional{``0},DynamicData.IGrouping{``2,``3,``1},``4})">
            <summary>
            Groups the right data source and joins the resulting group to the left data source, matching these using the specified key selector. Results are included when the left or the right has a value.
            This is the equivalent of SQL full join.
            </summary>
            <typeparam name="TLeft">The object type of the left data source.</typeparam>
            <typeparam name="TLeftKey">The key type of the left data source.</typeparam>
            <typeparam name="TRight">The object type of the right data source.</typeparam>
            <typeparam name="TRightKey">The key type of the right data source.</typeparam>
            <typeparam name="TDestination">The resulting object which. </typeparam>
            <param name="left">The left data source.</param>
            <param name="right">The right data source.</param>
            <param name="rightKeySelector">Specify the foreign key on the right data source.</param>
            <param name="resultSelector">The result selector.used to transform the combined data into. Example (key, left, right) => new CustomObject(key, left, right).</param>
            <returns>An observable which will emit change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Group``3(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,``2},System.IObservable{DynamicData.IDistinctChangeSet{``2}})">
            <summary>
             Groups the source on the value returned by group selector factory.
             A group is included for each item in the resulting group source.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="TGroupKey">The type of the group key.</typeparam>
            <param name="source">The source.</param>
            <param name="groupSelector">The group selector factory.</param>
            <param name="resultGroupSource">
              A distinct stream used to determine the result.
            </param>
            <remarks>
            Useful for parent-child collection when the parent and child are soured from different streams.
            </remarks>
            <returns>An observable which will emit group change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Group``3(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,``2})">
            <summary>
            Groups the source on the value returned by group selector factory.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="TGroupKey">The type of the group key.</typeparam>
            <param name="source">The source.</param>
            <param name="groupSelectorKey">The group selector key.</param>
            <returns>An observable which will emit group change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Group``3(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,``2},System.IObservable{System.Reactive.Unit})">
            <summary>
            Groups the source on the value returned by group selector factory.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="TGroupKey">The type of the group key.</typeparam>
            <param name="source">The source.</param>
            <param name="groupSelectorKey">The group selector key.</param>
            <param name="regrouper">Invoke to  the for the grouping to be re-evaluated.</param>
            <returns>An observable which will emit group change sets.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            groupSelectorKey
            or
            groupController.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.GroupOnProperty``3(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Linq.Expressions.Expression{System.Func{``0,``2}},System.Nullable{System.TimeSpan},System.Reactive.Concurrency.IScheduler)">
             <summary>
             Groups the source using the property specified by the property selector. Groups are re-applied when the property value changed.
            
             When there are likely to be a large number of group property changes specify a throttle to improve performance.
             </summary>
             <typeparam name="TObject">The type of the object.</typeparam>
             <typeparam name="TKey">The type of the key.</typeparam>
             <typeparam name="TGroupKey">The type of the group key.</typeparam>
             <param name="source">The source.</param>
             <param name="propertySelector">The property selector used to group the items.</param>
             <param name="propertyChangedThrottle">A time span that indicates the throttle to wait for property change events.</param>
             <param name="scheduler">The scheduler.</param>
             <returns>An observable which will emit immutable group change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.GroupOnPropertyWithImmutableState``3(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Linq.Expressions.Expression{System.Func{``0,``2}},System.Nullable{System.TimeSpan},System.Reactive.Concurrency.IScheduler)">
             <summary>
             Groups the source using the property specified by the property selector. Each update produces immutable grouping. Groups are re-applied when the property value changed.
            
             When there are likely to be a large number of group property changes specify a throttle to improve performance.
             </summary>
             <typeparam name="TObject">The type of the object.</typeparam>
             <typeparam name="TKey">The type of the key.</typeparam>
             <typeparam name="TGroupKey">The type of the group key.</typeparam>
             <param name="source">The source.</param>
             <param name="propertySelector">The property selector used to group the items.</param>
             <param name="propertyChangedThrottle">A time span that indicates the throttle to wait for property change events.</param>
             <param name="scheduler">The scheduler.</param>
             <returns>An observable which will emit immutable group change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.GroupWithImmutableState``3(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,``2},System.IObservable{System.Reactive.Unit})">
            <summary>
            Groups the source on the value returned by group selector factory. Each update produces immutable grouping.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="TGroupKey">The type of the group key.</typeparam>
            <param name="source">The source.</param>
            <param name="groupSelectorKey">The group selector key.</param>
            <param name="regrouper">Invoke to  the for the grouping to be re-evaluated.</param>
            <returns>An observable which will emit immutable group change sets.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            groupSelectorKey
            or
            groupController.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.IgnoreSameReferenceUpdate``2(System.IObservable{DynamicData.IChangeSet{``0,``1}})">
            <summary>
            Ignores updates when the update is the same reference.
            </summary>
            <typeparam name="TObject">The object of the change set.</typeparam>
            <typeparam name="TKey">The key of the change set.</typeparam>
            <param name="source">The source observable which emits change sets.</param>
            <returns>An observable which emits change sets and ignores equal value changes.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.IgnoreUpdateWhen``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,``0,System.Boolean})">
            <summary>
            Ignores the update when the condition is met.
            The first parameter in the ignore function is the current value and the second parameter is the previous value.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="ignoreFunction">The ignore function (current,previous)=>{ return true to ignore }.</param>
            <returns>An observable which emits change sets and ignores updates equal to the lambda.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.IncludeUpdateWhen``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,``0,System.Boolean})">
            <summary>
            Only includes the update when the condition is met.
            The first parameter in the ignore function is the current value and the second parameter is the previous value.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="includeFunction">The include function (current,previous)=>{ return true to include }.</param>
            <returns>An observable which emits change sets and ignores updates equal to the lambda.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.InnerJoin``5(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.IObservable{DynamicData.IChangeSet{``2,``3}},System.Func{``2,``1},System.Func{``0,``2,``4})">
            <summary>
            Joins the left and right observable data sources, taking values when both left and right values are present
            This is the equivalent of SQL inner join.
            </summary>
            <typeparam name="TLeft">The object type of the left data source.</typeparam>
            <typeparam name="TLeftKey">The key type of the left data source.</typeparam>
            <typeparam name="TRight">The object type of the right data source.</typeparam>
            <typeparam name="TRightKey">The key type of the right data source.</typeparam>
            <typeparam name="TDestination">The resulting object which. </typeparam>
            <param name="left">The left data source.</param>
            <param name="right">The right data source.</param>
            <param name="rightKeySelector">Specify the foreign key on the right data source.</param>
            <param name="resultSelector">The result selector.used to transform the combined data into. Example (key, left, right) => new CustomObject(key, left, right).</param>
            <returns>An observable which will emit change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.InnerJoin``5(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.IObservable{DynamicData.IChangeSet{``2,``3}},System.Func{``2,``1},System.Func{System.ValueTuple{``1,``3},``0,``2,``4})">
            <summary>
             Groups the right data source and joins the to the left and the right sources, taking values when both left and right values are present
            This is the equivalent of SQL inner join.
            </summary>
            <typeparam name="TLeft">The object type of the left data source.</typeparam>
            <typeparam name="TLeftKey">The key type of the left data source.</typeparam>
            <typeparam name="TRight">The object type of the right data source.</typeparam>
            <typeparam name="TRightKey">The key type of the right data source.</typeparam>
            <typeparam name="TDestination">The resulting object which. </typeparam>
            <param name="left">The left data source.</param>
            <param name="right">The right data source.</param>
            <param name="rightKeySelector">Specify the foreign key on the right data source.</param>
            <param name="resultSelector">The result selector.used to transform the combined data into. Example (key, left, right) => new CustomObject(key, left, right).</param>
            <returns>An observable which will emit change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.InnerJoinMany``5(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.IObservable{DynamicData.IChangeSet{``2,``3}},System.Func{``2,``1},System.Func{``0,DynamicData.IGrouping{``2,``3,``1},``4})">
            <summary>
            Groups the right data source and joins the resulting group to the left data source, matching these using the specified key selector. Results are included when the left and right have matching values.
            This is the equivalent of SQL inner join.
            </summary>
            <typeparam name="TLeft">The object type of the left data source.</typeparam>
            <typeparam name="TLeftKey">The key type of the left data source.</typeparam>
            <typeparam name="TRight">The object type of the right data source.</typeparam>
            <typeparam name="TRightKey">The key type of the right data source.</typeparam>
            <typeparam name="TDestination">The resulting object which. </typeparam>
            <param name="left">The left data source.</param>
            <param name="right">The right data source.</param>
            <param name="rightKeySelector">Specify the foreign key on the right data source.</param>
            <param name="resultSelector">The result selector.used to transform the combined data into. Example (left, right) => new CustomObject(key, left, right).</param>
            <returns>An observable which will emit change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.InnerJoinMany``5(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.IObservable{DynamicData.IChangeSet{``2,``3}},System.Func{``2,``1},System.Func{``1,``0,DynamicData.IGrouping{``2,``3,``1},``4})">
            <summary>
            Groups the right data source and joins the resulting group to the left data source, matching these using the specified key selector. Results are included when the left and right have matching values.
            This is the equivalent of SQL inner join.
            </summary>
            <typeparam name="TLeft">The object type of the left data source.</typeparam>
            <typeparam name="TLeftKey">The key type of the left data source.</typeparam>
            <typeparam name="TRight">The object type of the right data source.</typeparam>
            <typeparam name="TRightKey">The key type of the right data source.</typeparam>
            <typeparam name="TDestination">The resulting object which. </typeparam>
            <param name="left">The left data source.</param>
            <param name="right">The right data source.</param>
            <param name="rightKeySelector">Specify the foreign key on the right data source.</param>
            <param name="resultSelector">The result selector.used to transform the combined data into. Example (key, left, right) => new CustomObject(key, left, right).</param>
            <returns>An observable which will emit change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.InvokeEvaluate``2(System.IObservable{DynamicData.IChangeSet{``0,``1}})">
            <summary>
            Invokes Refresh method for an object which implements IEvaluateAware.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable which emits change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.LeftJoin``5(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.IObservable{DynamicData.IChangeSet{``2,``3}},System.Func{``2,``1},System.Func{``0,DynamicData.Kernel.Optional{``2},``4})">
            <summary>
            Joins the left and right observable data sources, taking all left values and combining any matching right values.
            </summary>
            <typeparam name="TLeft">The object type of the left data source.</typeparam>
            <typeparam name="TLeftKey">The key type of the left data source.</typeparam>
            <typeparam name="TRight">The object type of the right data source.</typeparam>
            <typeparam name="TRightKey">The key type of the right data source.</typeparam>
            <typeparam name="TDestination">The resulting object which. </typeparam>
            <param name="left">The left data source.</param>
            <param name="right">The right data source.</param>
            <param name="rightKeySelector">Specify the foreign key on the right data source.</param>
            <param name="resultSelector">The result selector.used to transform the combined data into. Example (left, right) => new CustomObject(key, left, right).</param>
            <returns>An observable which will emit change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.LeftJoin``5(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.IObservable{DynamicData.IChangeSet{``2,``3}},System.Func{``2,``1},System.Func{``1,``0,DynamicData.Kernel.Optional{``2},``4})">
            <summary>
            Joins the left and right observable data sources, taking all left values and combining any matching right values.
            </summary>
            <typeparam name="TLeft">The object type of the left data source.</typeparam>
            <typeparam name="TLeftKey">The key type of the left data source.</typeparam>
            <typeparam name="TRight">The object type of the right data source.</typeparam>
            <typeparam name="TRightKey">The key type of the right data source.</typeparam>
            <typeparam name="TDestination">The resulting object which. </typeparam>
            <param name="left">The left data source.</param>
            <param name="right">The right data source.</param>
            <param name="rightKeySelector">Specify the foreign key on the right data source.</param>
            <param name="resultSelector">The result selector.used to transform the combined data into. Example (key, left, right) => new CustomObject(key, left, right).</param>
            <returns>An observable which will emit change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.LeftJoinMany``5(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.IObservable{DynamicData.IChangeSet{``2,``3}},System.Func{``2,``1},System.Func{``0,DynamicData.IGrouping{``2,``3,``1},``4})">
            <summary>
            Groups the right data source and joins the two sources matching them using the specified key selector, taking all left values and combining any matching right values.
            This is the equivalent of SQL left join.
            </summary>
            <typeparam name="TLeft">The object type of the left data source.</typeparam>
            <typeparam name="TLeftKey">The key type of the left data source.</typeparam>
            <typeparam name="TRight">The object type of the right data source.</typeparam>
            <typeparam name="TRightKey">The key type of the right data source.</typeparam>
            <typeparam name="TDestination">The resulting object which. </typeparam>
            <param name="left">The left data source.</param>
            <param name="right">The right data source.</param>
            <param name="rightKeySelector">Specify the foreign key on the right data source.</param>
            <param name="resultSelector">The result selector.used to transform the combined data into. Example (left, right) => new CustomObject(key, left, right).</param>
            <returns>An observable which will emit change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.LeftJoinMany``5(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.IObservable{DynamicData.IChangeSet{``2,``3}},System.Func{``2,``1},System.Func{``1,``0,DynamicData.IGrouping{``2,``3,``1},``4})">
            <summary>
            Groups the right data source and joins the two sources matching them using the specified key selector, taking all left values and combining any matching right values.
            This is the equivalent of SQL left join.
            </summary>
            <typeparam name="TLeft">The object type of the left data source.</typeparam>
            <typeparam name="TLeftKey">The key type of the left data source.</typeparam>
            <typeparam name="TRight">The object type of the right data source.</typeparam>
            <typeparam name="TRightKey">The key type of the right data source.</typeparam>
            <typeparam name="TDestination">The resulting object which. </typeparam>
            <param name="left">The left data source.</param>
            <param name="right">The right data source.</param>
            <param name="rightKeySelector">Specify the foreign key on the right data source.</param>
            <param name="resultSelector">The result selector.used to transform the combined data into. Example (key, left, right) => new CustomObject(key, left, right).</param>
            <returns>An observable which will emit change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.LimitSizeTo``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Int32)">
            <summary>
            Applies a size limiter to the number of records which can be included in the
            underlying cache.  When the size limit is reached the oldest items are removed.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="size">The size.</param>
            <returns>An observable which emits change sets.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
            <exception cref="T:System.ArgumentException">size cannot be zero.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.LimitSizeTo``2(DynamicData.ISourceCache{``0,``1},System.Int32,System.Reactive.Concurrency.IScheduler)">
            <summary>
            Limits the number of records in the cache to the size specified.  When the size is reached
            the oldest items are removed from the cache.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="sizeLimit">The size limit.</param>
            <param name="scheduler">The scheduler.</param>
            <returns>An observable which emits the key value pairs.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
            <exception cref="T:System.ArgumentException">Size limit must be greater than zero.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.MergeMany``3(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.IObservable{``2}})">
            <summary>
            Dynamically merges the observable which is selected from each item in the stream, and un-merges the item
            when it is no longer part of the stream.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <param name="source">The source.</param>
            <param name="observableSelector">The observable selector.</param>
            <returns>An observable which emits the transformed value.</returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            observableSelector.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.MergeMany``3(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,``1,System.IObservable{``2}})">
            <summary>
            Dynamically merges the observable which is selected from each item in the stream, and un-merges the item
            when it is no longer part of the stream.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <param name="source">The source.</param>
            <param name="observableSelector">The observable selector.</param>
            <returns>An observable which emits the transformed value.</returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            observableSelector.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.MergeManyItems``3(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.IObservable{``2}})">
            <summary>
            Dynamically merges the observable which is selected from each item in the stream, and un-merges the item
            when it is no longer part of the stream.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <param name="source">The source.</param>
            <param name="observableSelector">The observable selector.</param>
            <returns>An observable which emits the item with the value.</returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            observableSelector.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.MergeManyItems``3(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,``1,System.IObservable{``2}})">
            <summary>
            Dynamically merges the observable which is selected from each item in the stream, and un-merges the item
            when it is no longer part of the stream.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <param name="source">The source.</param>
            <param name="observableSelector">The observable selector.</param>
            <returns>An observable which emits the item with the value.</returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            observableSelector.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.MonitorStatus``1(System.IObservable{``0})">
            <summary>
            Monitors the status of a stream.
            </summary>
            <typeparam name="T">The type of the source observable.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable which monitors the status of the observable.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.NotEmpty``2(System.IObservable{DynamicData.IChangeSet{``0,``1}})">
            <summary>
            Suppresses updates which are empty.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable which emits change set values when not empty.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.OnItemAdded``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Action{``0})">
            <summary>
            Callback for each item as and when it is being added to the stream.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="addAction">The add action.</param>
            <returns>An observable which emits a change set with items being added.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.OnItemRefreshed``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Action{``0})">
            <summary>
            Callback for each item as and when it is being refreshed in the stream.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="refreshAction">The refresh action.</param>
            <returns>An observable which emits a change set with items being added.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.OnItemRemoved``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Action{``0},System.Boolean)">
            <summary>
            Callback for each item as and when it is being removed from the stream.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="removeAction">The remove action.</param>
            <param name="invokeOnUnsubscribe"> Should the remove action be invoked when the subscription is disposed.</param>
            <returns>An observable which emits a change set with items being removed.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            removeAction.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.OnItemUpdated``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Action{``0,``0})">
            <summary>
            Callback when an item has been updated eg. (current, previous)=>{}.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="updateAction">The update action.</param>
            <returns>An observable which emits a change set with items being updated.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Or``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.IObservable{DynamicData.IChangeSet{``0,``1}}[])">
            <summary>
            Apply a logical Or operator between the collections i.e items which are in any of the sources are included.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="others">The others.</param>
            <returns>An observable which emits change sets.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            others.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Or``2(System.Collections.Generic.ICollection{System.IObservable{DynamicData.IChangeSet{``0,``1}}})">
            <summary>
            Apply a logical Or operator between the collections i.e items which are in any of the sources are included.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="sources">The source.</param>
            <returns>An observable which emits change sets.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            others.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Or``2(DynamicData.IObservableList{System.IObservable{DynamicData.IChangeSet{``0,``1}}})">
            <summary>
            Dynamically apply a logical Or operator between the items in the outer observable list.
            Items which are in any of the sources are included in the result.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="sources">The source.</param>
            <returns>An observable which emits change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Or``2(DynamicData.IObservableList{DynamicData.IObservableCache{``0,``1}})">
            <summary>
            Dynamically apply a logical Or operator between the items in the outer observable list.
            Items which are in any of the sources are included in the result.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="sources">The source.</param>
            <returns>An observable which emits change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Or``2(DynamicData.IObservableList{DynamicData.ISourceCache{``0,``1}})">
            <summary>
            Dynamically apply a logical Or operator between the items in the outer observable list.
            Items which are in any of the sources are included in the result.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="sources">The source.</param>
            <returns>An observable which emits change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Page``2(System.IObservable{DynamicData.ISortedChangeSet{``0,``1}},System.IObservable{DynamicData.IPageRequest})">
            <summary>
            Returns the page as specified by the pageRequests observable.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="pageRequests">The page requests.</param>
            <returns>An observable which emits change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.PopulateFrom``2(DynamicData.ISourceCache{``0,``1},System.IObservable{System.Collections.Generic.IEnumerable{``0}})">
            <summary>
            Populate a cache from an observable stream.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="observable">The observable.</param>
            <returns>A disposable which will unsubscribe from the source.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            keySelector.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.PopulateFrom``2(DynamicData.ISourceCache{``0,``1},System.IObservable{``0})">
            <summary>
            Populate a cache from an observable stream.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="observable">The observable.</param>
            <returns>A disposable which will unsubscribe from the source.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            keySelector.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.PopulateInto``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},DynamicData.ISourceCache{``0,``1})">
            <summary>
            Populates a source into the specified cache.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="destination">The destination.</param>
            <returns>A disposable which will unsubscribe from the source.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            destination.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.PopulateInto``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},DynamicData.IIntermediateCache{``0,``1})">
            <summary>
            Populates a source into the specified cache.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="destination">The destination.</param>
            <returns>A disposable which will unsubscribe from the source.</returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            destination.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.PopulateInto``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},DynamicData.Cache.Internal.LockFreeObservableCache{``0,``1})">
            <summary>
            Populates a source into the specified cache.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="destination">The destination.</param>
            <returns>A disposable which will unsubscribe from the source.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.QueryWhenChanged``3(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{DynamicData.IQuery{``0,``1},``2})">
            <summary>
             The latest copy of the cache is exposed for querying after each modification to the underlying data.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <param name="source">The source.</param>
            <param name="resultSelector">The result selector.</param>
            <returns>An observable which emits the destination values.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            resultSelector.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.QueryWhenChanged``2(System.IObservable{DynamicData.IChangeSet{``0,``1}})">
            <summary>
            The latest copy of the cache is exposed for querying i)  after each modification to the underlying data ii) upon subscription.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable which emits the query.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.QueryWhenChanged``3(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.IObservable{``2}})">
            <summary>
            The latest copy of the cache is exposed for querying i)  after each modification to the underlying data ii) on subscription.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="TValue">The type of the value.</typeparam>
            <param name="source">The source.</param>
            <param name="itemChangedTrigger">Should the query be triggered for observables on individual items.</param>
            <returns>An observable that emits the query.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.RefCount``2(System.IObservable{DynamicData.IChangeSet{``0,``1}})">
            <summary>
            Cache equivalent to Publish().RefCount().  The source is cached so long as there is at least 1 subscriber.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the destination key.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable which emits change sets that are ref counted.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Refresh``2(DynamicData.ISourceCache{``0,``1},``0)">
            <summary>
            Signal observers to re-evaluate the specified item.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="item">The item.</param>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Refresh``2(DynamicData.ISourceCache{``0,``1},System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Signal observers to re-evaluate the specified items.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="items">The items.</param>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Refresh``2(DynamicData.ISourceCache{``0,``1})">
            <summary>
            Signal observers to re-evaluate the all items.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Remove``2(DynamicData.ISourceCache{``0,``1},``0)">
             <summary>
             Removes the specified item from the cache.
            
             If the item is not contained in the cache then the operation does nothing.
             </summary>
             <typeparam name="TObject">The type of the object.</typeparam>
             <typeparam name="TKey">The type of the key.</typeparam>
             <param name="source">The source.</param>
             <param name="item">The item.</param>
             <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Remove``2(DynamicData.ISourceCache{``0,``1},``1)">
            <summary>
            Removes the specified key from the cache.
            If the item is not contained in the cache then the operation does nothing.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="key">The key.</param>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Remove``2(DynamicData.ISourceCache{``0,``1},System.Collections.Generic.IEnumerable{``0})">
             <summary>
             Removes the specified items from the cache.
            
             Any items not contained in the cache are ignored.
             </summary>
             <typeparam name="TObject">The type of the object.</typeparam>
             <typeparam name="TKey">The type of the key.</typeparam>
             <param name="source">The source.</param>
             <param name="items">The items.</param>
             <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Remove``2(DynamicData.ISourceCache{``0,``1},System.Collections.Generic.IEnumerable{``1})">
             <summary>
             Removes the specified keys from the cache.
            
             Any keys not contained in the cache are ignored.
             </summary>
             <typeparam name="TObject">The type of the object.</typeparam>
             <typeparam name="TKey">The type of the key.</typeparam>
             <param name="source">The source.</param>
             <param name="keys">The keys.</param>
             <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Remove``2(DynamicData.IIntermediateCache{``0,``1},``1)">
            <summary>
            Removes the specified key from the cache.
            If the item is not contained in the cache then the operation does nothing.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="key">The key.</param>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Remove``2(DynamicData.IIntermediateCache{``0,``1},System.Collections.Generic.IEnumerable{``1})">
             <summary>
             Removes the specified keys from the cache.
            
             Any keys not contained in the cache are ignored.
             </summary>
             <typeparam name="TObject">The type of the object.</typeparam>
             <typeparam name="TKey">The type of the key.</typeparam>
             <param name="source">The source.</param>
             <param name="keys">The keys.</param>
             <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.RemoveKey``2(System.IObservable{DynamicData.IChangeSet{``0,``1}})">
            <summary>
            Removes the key which enables all observable list features of dynamic data.
            </summary>
            <remarks>
            All indexed changes are dropped i.e. sorting is not supported by this function.
            </remarks>
            <typeparam name="TObject">The type of  object.</typeparam>
            <typeparam name="TKey">The type of  key.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable which emits change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.RemoveKey``2(DynamicData.ISourceCache{``0,``1},``1)">
            <summary>
            Removes the specified key from the cache.
            If the item is not contained in the cache then the operation does nothing.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="key">The key.</param>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.RemoveKeys``2(DynamicData.ISourceCache{``0,``1},System.Collections.Generic.IEnumerable{``1})">
            <summary>
            Removes the specified keys from the cache.
            Any keys not contained in the cache are ignored.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="keys">The keys.</param>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.RightJoin``5(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.IObservable{DynamicData.IChangeSet{``2,``3}},System.Func{``2,``1},System.Func{DynamicData.Kernel.Optional{``0},``2,``4})">
            <summary>
            Joins the left and right observable data sources, taking all right values and combining any matching left values.
            </summary>
            <typeparam name="TLeft">The object type of the left data source.</typeparam>
            <typeparam name="TLeftKey">The key type of the left data source.</typeparam>
            <typeparam name="TRight">The object type of the right data source.</typeparam>
            <typeparam name="TRightKey">The key type of the right data source.</typeparam>
            <typeparam name="TDestination">The resulting object which. </typeparam>
            <param name="left">The left data source.</param>
            <param name="right">The right data source.</param>
            <param name="rightKeySelector">Specify the foreign key on the right data source.</param>
            <param name="resultSelector">The result selector.used to transform the combined data into. Example (key, left, right) => new CustomObject(key, left, right).</param>
            <returns>An observable which will emit change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.RightJoin``5(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.IObservable{DynamicData.IChangeSet{``2,``3}},System.Func{``2,``1},System.Func{``3,DynamicData.Kernel.Optional{``0},``2,``4})">
            <summary>
            Joins the left and right observable data sources, taking all right values and combining any matching left values.
            </summary>
            <typeparam name="TLeft">The object type of the left data source.</typeparam>
            <typeparam name="TLeftKey">The key type of the left data source.</typeparam>
            <typeparam name="TRight">The object type of the right data source.</typeparam>
            <typeparam name="TRightKey">The key type of the right data source.</typeparam>
            <typeparam name="TDestination">The resulting object which. </typeparam>
            <param name="left">The left data source.</param>
            <param name="right">The right data source.</param>
            <param name="rightKeySelector">Specify the foreign key on the right data source.</param>
            <param name="resultSelector">The result selector.used to transform the combined data into. Example (key, left, right) => new CustomObject(key, left, right).</param>
            <returns>An observable which will emit change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.RightJoinMany``5(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.IObservable{DynamicData.IChangeSet{``2,``3}},System.Func{``2,``1},System.Func{DynamicData.Kernel.Optional{``0},DynamicData.IGrouping{``2,``3,``1},``4})">
            <summary>
            Groups the right data source and joins the two sources matching them using the specified key selector, , taking all right values and combining any matching left values.
            This is the equivalent of SQL left join.
            </summary>
            <typeparam name="TLeft">The object type of the left data source.</typeparam>
            <typeparam name="TLeftKey">The key type of the left data source.</typeparam>
            <typeparam name="TRight">The object type of the right data source.</typeparam>
            <typeparam name="TRightKey">The key type of the right data source.</typeparam>
            <typeparam name="TDestination">The resulting object which.</typeparam>
            <param name="left">The left data source.</param>
            <param name="right">The right data source.</param>
            <param name="rightKeySelector">Specify the foreign key on the right data source.</param>
            <param name="resultSelector">The result selector.used to transform the combined data into. Example (left, right) =&gt; new CustomObject(key, left, right).</param>
            <returns>An observable which will emit change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.RightJoinMany``5(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.IObservable{DynamicData.IChangeSet{``2,``3}},System.Func{``2,``1},System.Func{``1,DynamicData.Kernel.Optional{``0},DynamicData.IGrouping{``2,``3,``1},``4})">
            <summary>
            Groups the right data source and joins the two sources matching them using the specified key selector,, taking all right values and combining any matching left values.
            This is the equivalent of SQL left join.
            </summary>
            <typeparam name="TLeft">The object type of the left data source.</typeparam>
            <typeparam name="TLeftKey">The key type of the left data source.</typeparam>
            <typeparam name="TRight">The object type of the right data source.</typeparam>
            <typeparam name="TRightKey">The key type of the right data source.</typeparam>
            <typeparam name="TDestination">The resulting object which. </typeparam>
            <param name="left">The left data source.</param>
            <param name="right">The right data source.</param>
            <param name="rightKeySelector">Specify the foreign key on the right data source.</param>
            <param name="resultSelector">The result selector.used to transform the combined data into. Example (key, left, right) => new CustomObject(key, left, right).</param>
            <returns>An observable which will emit change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.SkipInitial``2(System.IObservable{DynamicData.IChangeSet{``0,``1}})">
            <summary>
            Defer the subscription until loaded and skip initial change set.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable which emits change sets.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Sort``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Collections.Generic.IComparer{``0},DynamicData.SortOptimisations,System.Int32)">
            <summary>
            Sorts using the specified comparer.
            Returns the underlying ChangeSet as per the system conventions.
            The resulting change set also exposes a sorted key value collection of the underlying cached data.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="comparer">The comparer.</param>
            <param name="sortOptimisations">Sort optimisation flags. Specify one or more sort optimisations.</param>
            <param name="resetThreshold">The number of updates before the entire list is resorted (rather than inline sort).</param>
            <returns>An observable which emits change sets.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            comparer.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Sort``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.IObservable{System.Collections.Generic.IComparer{``0}},DynamicData.SortOptimisations,System.Int32)">
            <summary>
            Sorts a sequence as, using the comparer observable to determine order.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="comparerObservable">The comparer observable.</param>
            <param name="sortOptimisations">The sort optimisations.</param>
            <param name="resetThreshold">The reset threshold.</param>
            <returns>An observable which emits change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Sort``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.IObservable{System.Collections.Generic.IComparer{``0}},System.IObservable{System.Reactive.Unit},DynamicData.SortOptimisations,System.Int32)">
            <summary>
            Sorts a sequence as, using the comparer observable to determine order.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="comparerObservable">The comparer observable.</param>
            <param name="resorter">Signal to instruct the algorithm to re-sort the entire data set.</param>
            <param name="sortOptimisations">The sort optimisations.</param>
            <param name="resetThreshold">The reset threshold.</param>
            <returns>An observable which emits change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Sort``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Collections.Generic.IComparer{``0},System.IObservable{System.Reactive.Unit},DynamicData.SortOptimisations,System.Int32)">
            <summary>
            Sorts a sequence as, using the comparer observable to determine order.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="comparer">The comparer to sort on.</param>
            <param name="resorter">Signal to instruct the algorithm to re-sort the entire data set.</param>
            <param name="sortOptimisations">The sort optimisations.</param>
            <param name="resetThreshold">The reset threshold.</param>
            <returns>An observable which emits change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.SortBy``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.IComparable},DynamicData.Binding.SortDirection,DynamicData.SortOptimisations,System.Int32)">
            <summary>
            Sorts a sequence by selected property.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="expression">The expression.</param>
            <param name="sortOrder">The sort order. Defaults to ascending.</param>
            <param name="sortOptimisations">The sort optimisations.</param>
            <param name="resetThreshold">The reset threshold.</param>
            <returns>An observable which emits change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.StartWithEmpty``2(System.IObservable{DynamicData.IChangeSet{``0,``1}})">
            <summary>
            Prepends an empty change set to the source.
            </summary>
            <typeparam name="TObject">The object of the change set.</typeparam>
            <typeparam name="TKey">The key of the change set.</typeparam>
            <param name="source">The source observable change set.</param>
            <returns>An observable which emits change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.StartWithEmpty``2(System.IObservable{DynamicData.ISortedChangeSet{``0,``1}})">
            <summary>
            Prepends an empty change set to the source.
            </summary>
            <typeparam name="TObject">The object of the change set.</typeparam>
            <typeparam name="TKey">The key of the change set.</typeparam>
            <param name="source">The source observable change set.</param>
            <returns>An observable which emits sorted change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.StartWithEmpty``2(System.IObservable{DynamicData.IVirtualChangeSet{``0,``1}})">
            <summary>
            Prepends an empty change set to the source.
            </summary>
            <typeparam name="TObject">The object of the change set.</typeparam>
            <typeparam name="TKey">The key of the change set.</typeparam>
            <param name="source">The source observable change set.</param>
            <returns>An observable which emits virtual change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.StartWithEmpty``2(System.IObservable{DynamicData.IPagedChangeSet{``0,``1}})">
            <summary>
            Prepends an empty change set to the source.
            </summary>
            <typeparam name="TObject">The object of the change set.</typeparam>
            <typeparam name="TKey">The key of the change set.</typeparam>
            <param name="source">The source observable change set.</param>
            <returns>An observable which emits paged change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.StartWithEmpty``3(System.IObservable{DynamicData.IGroupChangeSet{``0,``1,``2}})">
            <summary>
            Prepends an empty change set to the source.
            </summary>
            <typeparam name="TObject">The object of the change set.</typeparam>
            <typeparam name="TKey">The key of the change set.</typeparam>
            <typeparam name="TGroupKey">The grouping key type.</typeparam>
            <param name="source">The source observable change set.</param>
            <returns>An observable which emits group change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.StartWithEmpty``3(System.IObservable{DynamicData.IImmutableGroupChangeSet{``0,``1,``2}})">
            <summary>
            Prepends an empty change set to the source.
            </summary>
            <typeparam name="TObject">The object of the change set.</typeparam>
            <typeparam name="TKey">The key of the change set.</typeparam>
            <typeparam name="TGroupKey">The grouping key type.</typeparam>
            <param name="source">The source observable change set.</param>
            <returns>An observable which emits immutable group change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.StartWithEmpty``1(System.IObservable{System.Collections.Generic.IReadOnlyCollection{``0}})">
            <summary>
            Prepends an empty change set to the source.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source read only collection.</param>
            <returns>A read only collection.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.StartWithItem``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},``0)">
            <summary>
            The equivalent of rx StartsWith operator, but wraps the item in a change where reason is ChangeReason.Add.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="item">The item.</param>
            <returns>An observable which emits change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.StartWithItem``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},``0,``1)">
            <summary>
            The equivalent of rx StartWith operator, but wraps the item in a change where reason is ChangeReason.Add.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="item">The item.</param>
            <param name="key">The key.</param>
            <returns>An observable which emits change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.SubscribeMany``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.IDisposable})">
            <summary>
            Subscribes to each item when it is added to the stream and un-subscribes when it is removed.  All items will be unsubscribed when the stream is disposed.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="subscriptionFactory">The subscription function.</param>
            <returns>An observable which emits a change set.</returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            subscriptionFactory.</exception>
            <remarks>
            Subscribes to each item when it is added or updates and un-subscribes when it is removed.
            </remarks>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.SubscribeMany``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,``1,System.IDisposable})">
            <summary>
            Subscribes to each item when it is added to the stream and unsubscribes when it is removed.  All items will be unsubscribed when the stream is disposed.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="subscriptionFactory">The subscription function.</param>
            <returns>An observable which emits a change set.</returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            subscriptionFactory.</exception>
            <remarks>
            Subscribes to each item when it is added or updates and unsubscribes when it is removed.
            </remarks>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.SuppressRefresh``2(System.IObservable{DynamicData.IChangeSet{``0,``1}})">
            <summary>
            Suppress refresh notifications.
            </summary>
            <typeparam name="TObject">The object of the change set.</typeparam>
            <typeparam name="TKey">The key of the change set.</typeparam>
            <param name="source">The source observable change set.</param>
            <returns>An observable which emits change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Switch``2(System.IObservable{DynamicData.IObservableCache{``0,``1}})">
            <summary>
            Transforms an observable sequence of observable caches into a single sequence
            producing values only from the most recent observable sequence.
            Each time a new inner observable sequence is received, unsubscribe from the
            previous inner observable sequence and clear the existing result set.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="sources">The source.</param>
            <returns>
            The observable sequence that at any point in time produces the elements of the most recent inner observable sequence that has been received.
            </returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Switch``2(System.IObservable{System.IObservable{DynamicData.IChangeSet{``0,``1}}})">
            <summary>
            Transforms an observable sequence of observable changes sets into an observable sequence
            producing values only from the most recent observable sequence.
            Each time a new inner observable sequence is received, unsubscribe from the
            previous inner observable sequence and clear the existing result set.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="sources">The source.</param>
            <returns>
            The observable sequence that at any point in time produces the elements of the most recent inner observable sequence that has been received.
            </returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.ToCollection``2(System.IObservable{DynamicData.IChangeSet{``0,``1}})">
            <summary>
            Converts the change set into a fully formed collection. Each change in the source results in a new collection.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable which emits the read only collection.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.ToObservableChangeSet``2(System.IObservable{``0},System.Func{``0,``1},System.Func{``0,System.Nullable{System.TimeSpan}},System.Int32,System.Reactive.Concurrency.IScheduler)">
            <summary>
            Converts the observable to an observable change set.
            Change set observes observable change events.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="keySelector">The key selector.</param>
            <param name="expireAfter">Specify on a per object level the maximum time before an object expires from a cache.</param>
            <param name="limitSizeTo">Remove the oldest items when the size has reached this limit.</param>
            <param name="scheduler">The scheduler (only used for time expiry).</param>
            <returns>An observable which will emit changes.</returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            keySelector.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.ToObservableChangeSet``2(System.IObservable{System.Collections.Generic.IEnumerable{``0}},System.Func{``0,``1},System.Func{``0,System.Nullable{System.TimeSpan}},System.Int32,System.Reactive.Concurrency.IScheduler)">
            <summary>
            Converts the observable to an observable change set.
            Change set observes observable change events.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="keySelector">The key selector.</param>
            <param name="expireAfter">Specify on a per object level the maximum time before an object expires from a cache.</param>
            <param name="limitSizeTo">Remove the oldest items when the size has reached this limit.</param>
            <param name="scheduler">The scheduler (only used for time expiry).</param>
            <returns>An observable change set.</returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            keySelector.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Top``2(System.IObservable{DynamicData.ISortedChangeSet{``0,``1}},System.Int32)">
            <summary>
            Limits the size of the result set to the specified number.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="size">The size.</param>
            <returns>An observable which will emit virtual change sets.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">size;Size should be greater than zero.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Top``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Collections.Generic.IComparer{``0},System.Int32)">
            <summary>
            Limits the size of the result set to the specified number, ordering by the comparer.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="comparer">The comparer.</param>
            <param name="size">The size.</param>
            <returns>An observable which will emit virtual change sets.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">size;Size should be greater than zero.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.ToSortedCollection``3(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,``2},DynamicData.Binding.SortDirection)">
            <summary>
            Converts the change set into a fully formed sorted collection. Each change in the source results in a new sorted collection.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="TSortKey">The sort key.</typeparam>
            <param name="source">The source.</param>
            <param name="sort">The sort function.</param>
            <param name="sortOrder">The sort order. Defaults to ascending.</param>
            <returns>An observable which emits the read only collection.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.ToSortedCollection``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Collections.Generic.IComparer{``0})">
            <summary>
            Converts the change set into a fully formed sorted collection. Each change in the source results in a new sorted collection.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="comparer">The sort comparer.</param>
            <returns>An observable which emits the read only collection.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Transform``3(System.IObservable{DynamicData.IChangeSet{``1,``2}},System.Func{``1,``0},System.Boolean)">
            <summary>
            Projects each update item to a new form using the specified transform function.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="transformOnRefresh">Should a new transform be applied when a refresh event is received.</param>
            <returns>
            A transformed update collection.
            </returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            transformFactory.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Transform``3(System.IObservable{DynamicData.IChangeSet{``1,``2}},System.Func{``1,``2,``0},System.Boolean)">
            <summary>
            Projects each update item to a new form using the specified transform function.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="transformOnRefresh">Should a new transform be applied when a refresh event is received.</param>
            <returns>
            A transformed update collection.
            </returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            transformFactory.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Transform``3(System.IObservable{DynamicData.IChangeSet{``1,``2}},System.Func{``1,DynamicData.Kernel.Optional{``1},``2,``0},System.Boolean)">
            <summary>
            Projects each update item to a new form using the specified transform function.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="transformOnRefresh">Should a new transform be applied when a refresh event is received.</param>
            <returns>
            A transformed update collection.
            </returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            transformFactory.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Transform``3(System.IObservable{DynamicData.IChangeSet{``1,``2}},System.Func{``1,``0},System.IObservable{System.Func{``1,System.Boolean}})">
            <summary>
            Projects each update item to a new form using the specified transform function.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="forceTransform">Invoke to force a new transform for items matching the selected objects.</param>
            <returns>
            A transformed update collection.
            </returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            transformFactory.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Transform``3(System.IObservable{DynamicData.IChangeSet{``1,``2}},System.Func{``1,``2,``0},System.IObservable{System.Func{``1,``2,System.Boolean}})">
            <summary>
            Projects each update item to a new form using the specified transform function.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="forceTransform">Invoke to force a new transform for items matching the selected objects.</param>
            <returns>
            A transformed update collection.
            </returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            transformFactory.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Transform``3(System.IObservable{DynamicData.IChangeSet{``1,``2}},System.Func{``1,DynamicData.Kernel.Optional{``1},``2,``0},System.IObservable{System.Func{``1,``2,System.Boolean}})">
            <summary>
            Projects each update item to a new form using the specified transform function.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="forceTransform">Invoke to force a new transform for items matching the selected objects.</param>
            <returns>
            A transformed update collection.
            </returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            transformFactory.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Transform``3(System.IObservable{DynamicData.IChangeSet{``1,``2}},System.Func{``1,``0},System.IObservable{System.Reactive.Unit})">
            <summary>
            Projects each update item to a new form using the specified transform function.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="forceTransform">Invoke to force a new transform for all items.</param>
            <returns>
            A transformed update collection.
            </returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            transformFactory.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Transform``3(System.IObservable{DynamicData.IChangeSet{``1,``2}},System.Func{``1,``2,``0},System.IObservable{System.Reactive.Unit})">
            <summary>
            Projects each update item to a new form using the specified transform function.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="forceTransform">Invoke to force a new transform for all items.</param>#
            <returns>
            A transformed update collection.
            </returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            transformFactory.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Transform``3(System.IObservable{DynamicData.IChangeSet{``1,``2}},System.Func{``1,DynamicData.Kernel.Optional{``1},``2,``0},System.IObservable{System.Reactive.Unit})">
            <summary>
            Projects each update item to a new form using the specified transform function.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="forceTransform">Invoke to force a new transform for all items.</param>#
            <returns>
            A transformed update collection.
            </returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            transformFactory.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.TransformAsync``3(System.IObservable{DynamicData.IChangeSet{``1,``2}},System.Func{``1,System.Threading.Tasks.Task{``0}},System.IObservable{System.Func{``1,``2,System.Boolean}})">
            <summary>
            Projects each update item to a new form using the specified transform function.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="forceTransform">Invoke to force a new transform for items matching the selected objects.</param>
            <returns>
            A transformed update collection.
            </returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            transformFactory.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.TransformAsync``3(System.IObservable{DynamicData.IChangeSet{``1,``2}},System.Func{``1,``2,System.Threading.Tasks.Task{``0}},System.IObservable{System.Func{``1,``2,System.Boolean}})">
            <summary>
            Projects each update item to a new form using the specified transform function.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="forceTransform">Invoke to force a new transform for items matching the selected objects.</param>
            <returns>
            A transformed update collection.
            </returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            transformFactory.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.TransformAsync``3(System.IObservable{DynamicData.IChangeSet{``1,``2}},System.Func{``1,DynamicData.Kernel.Optional{``1},``2,System.Threading.Tasks.Task{``0}},System.IObservable{System.Func{``1,``2,System.Boolean}})">
            <summary>
            Projects each update item to a new form using the specified transform function.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="forceTransform">Invoke to force a new transform for items matching the selected objects.</param>
            <returns>
            A transformed update collection.
            </returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            transformFactory.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.TransformMany``4(System.IObservable{DynamicData.IChangeSet{``2,``3}},System.Func{``2,System.Collections.Generic.IEnumerable{``0}},System.Func{``0,``1})">
            <summary>
            Equivalent to a select many transform. To work, the key must individually identify each child.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TDestinationKey">The type of the destination key.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TSourceKey">The type of the source key.</typeparam>
            <returns>An observable with the transformed change set.</returns>
            <param name="source">The source.</param>
            <param name="manySelector">Will select a enumerable of values.</param>
            <param name="keySelector">The key selector which must be unique across all.</param>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.TransformMany``4(System.IObservable{DynamicData.IChangeSet{``2,``3}},System.Func{``2,System.Collections.ObjectModel.ObservableCollection{``0}},System.Func{``0,``1})">
            <summary>
            Flatten the nested observable collection, and subsequently observe observable collection changes.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TDestinationKey">The type of the destination key.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TSourceKey">The type of the source key.</typeparam>
            <returns>An observable with the transformed change set.</returns>
            <param name="source">The source.</param>
            <param name="manySelector">Will select a enumerable of values.</param>
            <param name="keySelector">The key selector which must be unique across all.</param>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.TransformMany``4(System.IObservable{DynamicData.IChangeSet{``2,``3}},System.Func{``2,System.Collections.ObjectModel.ReadOnlyObservableCollection{``0}},System.Func{``0,``1})">
            <summary>
            Flatten the nested observable collection, and subsequently observe observable collection changes.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TDestinationKey">The type of the destination key.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TSourceKey">The type of the source key.</typeparam>
            <returns>An observable with the transformed change set.</returns>
            <param name="source">The source.</param>
            <param name="manySelector">Will select a enumerable of values.</param>
            <param name="keySelector">The key selector which must be unique across all.</param>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.TransformSafe``3(System.IObservable{DynamicData.IChangeSet{``1,``2}},System.Func{``1,``0},System.Action{DynamicData.Kernel.Error{``1,``2}},System.IObservable{System.Func{``1,System.Boolean}})">
            <summary>
            Projects each update item to a new form using the specified transform function,
            providing an error handling action to safely handle transform errors without killing the stream.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="errorHandler">Provides the option to safely handle errors without killing the stream.</param>
            <param name="forceTransform">Invoke to force a new transform for items matching the selected objects.</param>
            <returns>
            A transformed update collection.
            </returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            transformFactory.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.TransformSafe``3(System.IObservable{DynamicData.IChangeSet{``1,``2}},System.Func{``1,``2,``0},System.Action{DynamicData.Kernel.Error{``1,``2}},System.IObservable{System.Func{``1,``2,System.Boolean}})">
            <summary>
            Projects each update item to a new form using the specified transform function,
            providing an error handling action to safely handle transform errors without killing the stream.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="errorHandler">Provides the option to safely handle errors without killing the stream.</param>
            <param name="forceTransform">Invoke to force a new transform for items matching the selected objects.</param>
            <returns>
            A transformed update collection.
            </returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            transformFactory.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.TransformSafe``3(System.IObservable{DynamicData.IChangeSet{``1,``2}},System.Func{``1,DynamicData.Kernel.Optional{``1},``2,``0},System.Action{DynamicData.Kernel.Error{``1,``2}},System.IObservable{System.Func{``1,``2,System.Boolean}})">
            <summary>
            Projects each update item to a new form using the specified transform function,
            providing an error handling action to safely handle transform errors without killing the stream.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="errorHandler">Provides the option to safely handle errors without killing the stream.</param>
            <param name="forceTransform">Invoke to force a new transform for items matching the selected objects.</param>
            <returns>
            A transformed update collection.
            </returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            transformFactory.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.TransformSafe``3(System.IObservable{DynamicData.IChangeSet{``1,``2}},System.Func{``1,``0},System.Action{DynamicData.Kernel.Error{``1,``2}},System.IObservable{System.Reactive.Unit})">
            <summary>
            Projects each update item to a new form using the specified transform function,
            providing an error handling action to safely handle transform errors without killing the stream.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="errorHandler">Provides the option to safely handle errors without killing the stream.</param>
            <param name="forceTransform">Invoke to force a new transform for all items.</param>
            <returns>
            A transformed update collection.
            </returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            transformFactory.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.TransformSafe``3(System.IObservable{DynamicData.IChangeSet{``1,``2}},System.Func{``1,``2,``0},System.Action{DynamicData.Kernel.Error{``1,``2}},System.IObservable{System.Reactive.Unit})">
            <summary>
            Projects each update item to a new form using the specified transform function,
            providing an error handling action to safely handle transform errors without killing the stream.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="errorHandler">Provides the option to safely handle errors without killing the stream.</param>
            <param name="forceTransform">Invoke to force a new transform for all items.</param>#
            <returns>
            A transformed update collection.
            </returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            transformFactory.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.TransformSafe``3(System.IObservable{DynamicData.IChangeSet{``1,``2}},System.Func{``1,DynamicData.Kernel.Optional{``1},``2,``0},System.Action{DynamicData.Kernel.Error{``1,``2}},System.IObservable{System.Reactive.Unit})">
            <summary>
            Projects each update item to a new form using the specified transform function,
            providing an error handling action to safely handle transform errors without killing the stream.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="errorHandler">Provides the option to safely handle errors without killing the stream.</param>
            <param name="forceTransform">Invoke to force a new transform for all items.</param>#
            <returns>
            A transformed update collection.
            </returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            transformFactory.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.TransformSafeAsync``3(System.IObservable{DynamicData.IChangeSet{``1,``2}},System.Func{``1,System.Threading.Tasks.Task{``0}},System.Action{DynamicData.Kernel.Error{``1,``2}},System.IObservable{System.Func{``1,``2,System.Boolean}})">
            <summary>
            Projects each update item to a new form using the specified transform function.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="errorHandler">The error handler.</param>
            <param name="forceTransform">Invoke to force a new transform for items matching the selected objects.</param>
            <returns>
            A transformed update collection.
            </returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            transformFactory.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.TransformSafeAsync``3(System.IObservable{DynamicData.IChangeSet{``1,``2}},System.Func{``1,``2,System.Threading.Tasks.Task{``0}},System.Action{DynamicData.Kernel.Error{``1,``2}},System.IObservable{System.Func{``1,``2,System.Boolean}})">
            <summary>
            Projects each update item to a new form using the specified transform function.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="errorHandler">The error handler.</param>
            <param name="forceTransform">Invoke to force a new transform for items matching the selected objects.</param>
            <returns>
            A transformed update collection.
            </returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            transformFactory.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.TransformSafeAsync``3(System.IObservable{DynamicData.IChangeSet{``1,``2}},System.Func{``1,DynamicData.Kernel.Optional{``1},``2,System.Threading.Tasks.Task{``0}},System.Action{DynamicData.Kernel.Error{``1,``2}},System.IObservable{System.Func{``1,``2,System.Boolean}})">
            <summary>
            Projects each update item to a new form using the specified transform function.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="errorHandler">The error handler.</param>
            <param name="forceTransform">Invoke to force a new transform for items matching the selected objects.</param>
            <returns>
            A transformed update collection.
            </returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            transformFactory.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.TransformToTree``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,``1},System.IObservable{System.Func{DynamicData.Node{``0,``1},System.Boolean}})">
            <summary>
            Transforms the object to a fully recursive tree, create a hierarchy based on the pivot function.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="pivotOn">The pivot on.</param>
            <param name="predicateChanged">Observable to change the underlying predicate.</param>
            <returns>An observable which will emit change sets.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.TransformWithInlineUpdate``3(System.IObservable{DynamicData.IChangeSet{``1,``2}},System.Func{``1,``0},System.Action{``0,``1})">
            <summary>
            Projects each update item to a new form using the specified transform function and when an update is received, allows the preservation of the previous instance.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="updateAction">Apply changes to the original. Example (previousTransformedItem, newOriginalItem) => previousTransformedItem.Value = newOriginalItem.</param>
            <returns>
            A transformed update collection.
            </returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            transformFactory.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.TransformWithInlineUpdate``3(System.IObservable{DynamicData.IChangeSet{``1,``2}},System.Func{``1,``0},System.Action{``0,``1},System.Action{DynamicData.Kernel.Error{``1,``2}})">
            <summary>
            Projects each update item to a new form using the specified transform function and when an update is received, allows the preservation of the previous instance.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="updateAction">Apply changes to the original. Example (previousTransformedItem, newOriginalItem) => previousTransformedItem.Value = newOriginalItem.</param>
            <param name="errorHandler">The error handler.</param>
            <returns>
            A transformed update collection.
            </returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            transformFactory.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.TreatMovesAsRemoveAdd``2(System.IObservable{DynamicData.ISortedChangeSet{``0,``1}})">
            <summary>
            Converts moves changes to remove + add.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <returns>the same SortedChangeSets, except all moves are replaced with remove + add.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.TrueForAll``3(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.IObservable{``2}},System.Func{``2,System.Boolean})">
             <summary>
             Produces a boolean observable indicating whether the latest resulting value from all of the specified observables matches
             the equality condition. The observable is re-evaluated whenever
            
             i) The cache changes
             or ii) The inner observable changes.
             </summary>
             <typeparam name="TObject">The type of the object.</typeparam>
             <typeparam name="TKey">The type of the key.</typeparam>
             <typeparam name="TValue">The type of the value.</typeparam>
             <param name="source">The source.</param>
             <param name="observableSelector">Selector which returns the target observable.</param>
             <param name="equalityCondition">The equality condition.</param>
             <returns>An observable which boolean values indicating if true.</returns>
             <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.TrueForAll``3(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.IObservable{``2}},System.Func{``0,``2,System.Boolean})">
             <summary>
             Produces a boolean observable indicating whether the latest resulting value from all of the specified observables matches
             the equality condition. The observable is re-evaluated whenever
            
             i) The cache changes
             or ii) The inner observable changes.
             </summary>
             <typeparam name="TObject">The type of the object.</typeparam>
             <typeparam name="TKey">The type of the key.</typeparam>
             <typeparam name="TValue">The type of the value.</typeparam>
             <param name="source">The source.</param>
             <param name="observableSelector">Selector which returns the target observable.</param>
             <param name="equalityCondition">The equality condition.</param>
             <returns>An observable which boolean values indicating if true.</returns>
             <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.TrueForAny``3(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.IObservable{``2}},System.Func{``0,``2,System.Boolean})">
            <summary>
            Produces a boolean observable indicating whether the resulting value of whether any of the specified observables matches
            the equality condition. The observable is re-evaluated whenever
            i) The cache changes.
            or ii) The inner observable changes.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="TValue">The type of the value.</typeparam>
            <param name="source">The source.</param>
            <param name="observableSelector">The observable selector.</param>
            <param name="equalityCondition">The equality condition.</param>
            <returns>An observable which boolean values indicating if true.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            observableSelector
            or
            equalityCondition.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.TrueForAny``3(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.IObservable{``2}},System.Func{``2,System.Boolean})">
            <summary>
            Produces a boolean observable indicating whether the resulting value of whether any of the specified observables matches
            the equality condition. The observable is re-evaluated whenever
            i) The cache changes.
            or ii) The inner observable changes.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="TValue">The type of the value.</typeparam>
            <param name="source">The source.</param>
            <param name="observableSelector">The observable selector.</param>
            <param name="equalityCondition">The equality condition.</param>
            <returns>An observable which boolean values indicating if true.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            observableSelector
            or
            equalityCondition.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.UpdateIndex``2(System.IObservable{DynamicData.ISortedChangeSet{``0,``1}})">
            <summary>
            Updates the index for an object which implements IIndexAware.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable which emits the sorted change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Virtualise``2(System.IObservable{DynamicData.ISortedChangeSet{``0,``1}},System.IObservable{DynamicData.IVirtualRequest})">
            <summary>
            Virtualises the underlying data from the specified source.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="virtualRequests">The virirtualising requests.</param>
            <returns>An observable which will emit virtual change sets.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Watch``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},``1)">
            <summary>
            Returns an observable of any updates which match the specified key,  proceeded with the initial cache state.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="key">The key.</param>
            <returns>An observable which emits the change.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.WatchValue``2(DynamicData.IObservableCache{``0,``1},``1)">
            <summary>
            Watches updates for a single value matching the specified key.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="key">The key.</param>
            <returns>An observable which emits the object value.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.WatchValue``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},``1)">
            <summary>
            Watches updates for a single value matching the specified key.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="key">The key.</param>
            <returns>An observable which emits the object value.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.WhenAnyPropertyChanged``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.String[])">
            <summary>
            Watches each item in the collection and notifies when any of them has changed.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="propertiesToMonitor">specify properties to Monitor, or omit to monitor all property changes.</param>
            <returns>An observable which emits the object which has had a property changed.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.WhenPropertyChanged``3(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Linq.Expressions.Expression{System.Func{``0,``2}},System.Boolean)">
            <summary>
            Watches each item in the collection and notifies when any of them has changed.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="TValue">The type of the value.</typeparam>
            <param name="source">The source.</param>
            <param name="propertyAccessor">The property accessor.</param>
            <param name="notifyOnInitialValue">if set to <c>true</c> [notify on initial value].</param>
            <returns>An observable which emits a property when it has changed.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.WhenValueChanged``3(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Linq.Expressions.Expression{System.Func{``0,``2}},System.Boolean)">
            <summary>
            Watches each item in the collection and notifies when any of them has changed.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="TValue">The type of the value.</typeparam>
            <param name="source">The source.</param>
            <param name="propertyAccessor">The property accessor.</param>
            <param name="notifyOnInitialValue">if set to <c>true</c> [notify on initial value].</param>
            <returns>An observable which emits a value when it has changed.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.WhereReasonsAre``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},DynamicData.ChangeReason[])">
            <summary>
            Includes changes for the specified reasons only.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="reasons">The reasons.</param>
            <returns>An observable which emits a change set with items matching the reasons.</returns>
            <exception cref="T:System.ArgumentNullException">reasons.</exception>
            <exception cref="T:System.ArgumentException">Must select at least on reason.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.WhereReasonsAreNot``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},DynamicData.ChangeReason[])">
            <summary>
            Excludes updates for the specified reasons.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="reasons">The reasons.</param>
            <returns>An observable which emits a change set with items not matching the reasons.</returns>
            <exception cref="T:System.ArgumentNullException">reasons.</exception>
            <exception cref="T:System.ArgumentException">Must select at least on reason.</exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Xor``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.IObservable{DynamicData.IChangeSet{``0,``1}}[])">
            <summary>
            Apply a logical Xor operator between the collections.
            Items which are only in one of the sources are included in the result.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="others">The others.</param>
            <returns>An observable which emits a change set.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            others.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Xor``2(System.Collections.Generic.ICollection{System.IObservable{DynamicData.IChangeSet{``0,``1}}})">
            <summary>
            Apply a logical Xor operator between the collections.
            Items which are only in one of the sources are included in the result.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="sources">The source.</param>
            <returns>An observable which emits a change set.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            others.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Xor``2(DynamicData.IObservableList{System.IObservable{DynamicData.IChangeSet{``0,``1}}})">
            <summary>
            Dynamically apply a logical Xor operator between the items in the outer observable list.
            Items which are only in one of the sources are included in the result.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="sources">The source.</param>
            <returns>An observable which emits a change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Xor``2(DynamicData.IObservableList{DynamicData.IObservableCache{``0,``1}})">
            <summary>
            Dynamically apply a logical Xor operator between the items in the outer observable list.
            Items which are in any of the sources are included in the result.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="sources">The source.</param>
            <returns>An observable which emits a change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.Xor``2(DynamicData.IObservableList{DynamicData.ISourceCache{``0,``1}})">
            <summary>
            Dynamically apply a logical Xor operator between the items in the outer observable list.
            Items which are in any of the sources are included in the result.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="sources">The source.</param>
            <returns>An observable which emits a change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableCacheEx.ForExpiry``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.Nullable{System.TimeSpan}},System.Nullable{System.TimeSpan},System.Reactive.Concurrency.IScheduler)">
            <summary>
            Automatically removes items from the cache after the time specified by
            the time selector elapses.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The cache.</param>
            <param name="timeSelector">The time selector.  Return null if the item should never be removed.</param>
            <param name="interval">A polling interval.  Since multiple timer subscriptions can be expensive,
            it may be worth setting the interval.
            </param>
            <param name="scheduler">The scheduler.</param>
            <returns>An observable of enumerable of the key values which has been removed.</returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            timeSelector.</exception>
        </member>
        <member name="M:DynamicData.PagedChangeSet`2.Equals(DynamicData.PagedChangeSet{`0,`1})">
            <summary>
            Determines if the two values equal each other.
            </summary>
            <param name="other">The other.</param>
            <returns>If the page change set equals the other.</returns>
        </member>
        <member name="M:DynamicData.PagedChangeSet`2.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents the SortedItems <see cref="T:System.Object"/>.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents the SortedItems <see cref="T:System.Object"/>.
            </returns>
        </member>
        <member name="T:DynamicData.PageRequest">
            <summary>
            Represents a new page request.
            </summary>
        </member>
        <member name="F:DynamicData.PageRequest.Default">
            <summary>
            The default page request.
            </summary>
        </member>
        <member name="F:DynamicData.PageRequest.Empty">
            <summary>
            Represents an empty page.
            </summary>
        </member>
        <member name="M:DynamicData.PageRequest.#ctor(System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.PageRequest"/> class.
            </summary>
            <param name="page">The page.</param>
            <param name="size">The size.</param>
        </member>
        <member name="M:DynamicData.PageRequest.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.PageRequest"/> class.
            </summary>
        </member>
        <member name="P:DynamicData.PageRequest.DefaultComparer">
            <summary>
            Gets the default comparer.
            </summary>
            <value>
            The default comparer.
            </value>
        </member>
        <member name="P:DynamicData.PageRequest.Page">
            <summary>
            Gets the page to move to.
            </summary>
        </member>
        <member name="P:DynamicData.PageRequest.Size">
            <summary>
            Gets the page size.
            </summary>
        </member>
        <member name="M:DynamicData.PageRequest.Equals(DynamicData.IPageRequest)">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.PageRequest.Equals(System.Object)">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.PageRequest.GetHashCode">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.PageRequest.ToString">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.PageResponse.Equals(DynamicData.Operators.IPageResponse)">
            <summary>
            Indicates whether the current object is equal to another object of the same type.
            </summary>
            <returns>
            true if the current object is equal to the <paramref name="other"/> parameter; otherwise, false.
            </returns>
            <param name="other">An object to compare with this object.</param>
        </member>
        <member name="M:DynamicData.PageResponse.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:System.Object"/>.
            </summary>
            <returns>
            true if the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:System.Object"/>; otherwise, false.
            </returns>
            <param name="obj">The <see cref="T:System.Object"/> to compare with the current <see cref="T:System.Object"/>. </param>
        </member>
        <member name="M:DynamicData.PageResponse.GetHashCode">
            <summary>
            Serves as a hash function for a particular type.
            </summary>
            <returns>
            A hash code for the current <see cref="T:System.Object"/>.
            </returns>
        </member>
        <member name="M:DynamicData.PageResponse.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
            </returns>
        </member>
        <member name="T:DynamicData.SortOptimisations">
            <summary>
            Flags used to specify one or more sort optimisations.
            </summary>
        </member>
        <member name="F:DynamicData.SortOptimisations.None">
            <summary>
            No sorting optimisation are applied.
            </summary>
        </member>
        <member name="F:DynamicData.SortOptimisations.ComparesImmutableValuesOnly">
            <summary>
            Specify this option if the comparer used for sorting compares immutable fields only.
            In which case index changes can be calculated using BinarySearch rather than the expensive IndexOf.
            </summary>
        </member>
        <member name="F:DynamicData.SortOptimisations.IgnoreEvaluates">
            <summary>
            Ignores moves because of evaluates.
            Use for virtualisatiom or pagination.
            </summary>
        </member>
        <member name="F:DynamicData.SortOptimisations.InsertAtEndThenSort">
            <summary>
            The insert at end then sort entire set.  This can be the best algorithm for large data sets with many changes.
            </summary>
        </member>
        <member name="T:DynamicData.SortReason">
            <summary>
            The reason why the sorted collection has changed.
            </summary>
        </member>
        <member name="F:DynamicData.SortReason.InitialLoad">
            <summary>
            The collection has loaded for the first time.
            </summary>
        </member>
        <member name="F:DynamicData.SortReason.ComparerChanged">
            <summary>
            The comparer used to sort has changed.
            </summary>
        </member>
        <member name="F:DynamicData.SortReason.DataChanged">
            <summary>
            The data changed.
            </summary>
        </member>
        <member name="F:DynamicData.SortReason.Reorder">
            <summary>
            Sorting has been reapplied.
            </summary>
        </member>
        <member name="F:DynamicData.SortReason.Reset">
            <summary>
            A large number of changes has been received and the reset threshold has been exceeded.
            The entire set has been resorted without moves being calculated.
            </summary>
        </member>
        <member name="T:DynamicData.SourceCache`2">
            <summary>
            An observable cache which exposes an update API.  Used at the root
            of all observable chains.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
        </member>
        <member name="M:DynamicData.SourceCache`2.#ctor(System.Func{`0,`1})">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.SourceCache`2"/> class.
            </summary>
            <param name="keySelector">The key selector.</param>
            <exception cref="T:System.ArgumentNullException">keySelector.</exception>
        </member>
        <member name="P:DynamicData.SourceCache`2.Count">
            <inheritdoc />
        </member>
        <member name="P:DynamicData.SourceCache`2.CountChanged">
            <inheritdoc />
        </member>
        <member name="P:DynamicData.SourceCache`2.Items">
            <inheritdoc />
        </member>
        <member name="P:DynamicData.SourceCache`2.Keys">
            <inheritdoc />
        </member>
        <member name="P:DynamicData.SourceCache`2.KeySelector">
            <inheritdoc/>
        </member>
        <member name="P:DynamicData.SourceCache`2.KeyValues">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.SourceCache`2.Connect(System.Func{`0,System.Boolean},System.Boolean)">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.SourceCache`2.Dispose">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.SourceCache`2.Edit(System.Action{DynamicData.ISourceUpdater{`0,`1}})">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.SourceCache`2.Lookup(`1)">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.SourceCache`2.Preview(System.Func{`0,System.Boolean})">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.SourceCache`2.Watch(`1)">
            <inheritdoc />
        </member>
        <member name="T:DynamicData.SourceCacheEx">
            <summary>
            Source cache convenience extensions.
            </summary>
        </member>
        <member name="M:DynamicData.SourceCacheEx.Cast``3(DynamicData.IObservableCache{``0,``1},System.Func{``0,``2})">
            <summary>
            Connects to the cache, and casts the object to the specified type
            Alas, I had to add the converter due to type inference issues.
            </summary>
            <typeparam name="TSource">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <param name="source">The source.</param>
            <param name="converter">The conversion factory.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="T:DynamicData.Tests.ChangeSetAggregator`2">
            <summary>
            Aggregates all events and statistics for a change set to help assertions when testing.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
        </member>
        <member name="M:DynamicData.Tests.ChangeSetAggregator`2.#ctor(System.IObservable{DynamicData.IChangeSet{`0,`1}})">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Tests.ChangeSetAggregator`2"/> class.
            </summary>
            <param name="source">The source.</param>
        </member>
        <member name="P:DynamicData.Tests.ChangeSetAggregator`2.Data">
            <summary>
            Gets the data.
            </summary>
            <value>
            The data.
            </value>
        </member>
        <member name="P:DynamicData.Tests.ChangeSetAggregator`2.Error">
            <summary>
            Gets the error.
            </summary>
            <value>
            The error.
            </value>
        </member>
        <member name="P:DynamicData.Tests.ChangeSetAggregator`2.Messages">
            <summary>
            Gets the messages.
            </summary>
            <value>
            The messages.
            </value>
        </member>
        <member name="P:DynamicData.Tests.ChangeSetAggregator`2.Summary">
            <summary>
            Gets the summary.
            </summary>
            <value>
            The summary.
            </value>
        </member>
        <member name="M:DynamicData.Tests.ChangeSetAggregator`2.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
        </member>
        <member name="M:DynamicData.Tests.ChangeSetAggregator`2.Dispose(System.Boolean)">
            <summary>
            Disposes of managed and unmanaged responses.
            </summary>
            <param name="isDisposing">If being called by the Dispose method.</param>
        </member>
        <member name="T:DynamicData.Tests.DistinctChangeSetAggregator`1">
            <summary>
            Aggregates all events and statistics for a distinct change set to help assertions when testing.
            </summary>
            <typeparam name="TValue">The type of the value.</typeparam>
        </member>
        <member name="M:DynamicData.Tests.DistinctChangeSetAggregator`1.#ctor(System.IObservable{DynamicData.IDistinctChangeSet{`0}})">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Tests.DistinctChangeSetAggregator`1"/> class.
            </summary>
            <param name="source">The source.</param>
        </member>
        <member name="P:DynamicData.Tests.DistinctChangeSetAggregator`1.Data">
            <summary>
            Gets the data.
            </summary>
        </member>
        <member name="P:DynamicData.Tests.DistinctChangeSetAggregator`1.Error">
            <summary>
            Gets the error.
            </summary>
            <value>
            The error.
            </value>
        </member>
        <member name="P:DynamicData.Tests.DistinctChangeSetAggregator`1.Messages">
            <summary>
            Gets the messages.
            </summary>
        </member>
        <member name="P:DynamicData.Tests.DistinctChangeSetAggregator`1.Summary">
            <summary>
            Gets the summary.
            </summary>
        </member>
        <member name="M:DynamicData.Tests.DistinctChangeSetAggregator`1.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
        </member>
        <member name="M:DynamicData.Tests.DistinctChangeSetAggregator`1.Dispose(System.Boolean)">
            <summary>
            Disposes of managed and unmanaged responses.
            </summary>
            <param name="isDisposing">If being called by the Dispose method.</param>
        </member>
        <member name="T:DynamicData.Tests.PagedChangeSetAggregator`2">
            <summary>
            Aggregates all events and statistics for a paged change set to help assertions when testing.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
        </member>
        <member name="M:DynamicData.Tests.PagedChangeSetAggregator`2.#ctor(System.IObservable{DynamicData.IPagedChangeSet{`0,`1}})">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Tests.PagedChangeSetAggregator`2"/> class.
            </summary>
            <param name="source">The source.</param>
        </member>
        <member name="P:DynamicData.Tests.PagedChangeSetAggregator`2.Data">
            <summary>
            Gets the data of the steam cached in-order to apply assertions.
            </summary>
        </member>
        <member name="P:DynamicData.Tests.PagedChangeSetAggregator`2.Error">
            <summary>
            Gets and error.
            </summary>
            <value>
            The error.
            </value>
        </member>
        <member name="P:DynamicData.Tests.PagedChangeSetAggregator`2.Messages">
            <summary>
            Gets record of all received messages.
            </summary>
            <value>
            The messages.
            </value>
        </member>
        <member name="P:DynamicData.Tests.PagedChangeSetAggregator`2.Summary">
            <summary>
            Gets the aggregated change summary.
            </summary>
            <value>
            The summary.
            </value>
        </member>
        <member name="M:DynamicData.Tests.PagedChangeSetAggregator`2.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
        </member>
        <member name="M:DynamicData.Tests.PagedChangeSetAggregator`2.Dispose(System.Boolean)">
            <summary>
            Disposes of managed and unmanaged resources.
            </summary>
            <param name="isDisposing">If the method is being called by the Dispose method.</param>
        </member>
        <member name="T:DynamicData.Tests.SortedChangeSetAggregator`2">
            <summary>
            Aggregates all events and statistics for a sorted change set to help assertions when testing.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
        </member>
        <member name="M:DynamicData.Tests.SortedChangeSetAggregator`2.#ctor(System.IObservable{DynamicData.ISortedChangeSet{`0,`1}})">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Tests.SortedChangeSetAggregator`2"/> class.
            </summary>
            <param name="source">The source.</param>
        </member>
        <member name="P:DynamicData.Tests.SortedChangeSetAggregator`2.Data">
            <summary>
            Gets the data of the steam cached in-order to apply assertions.
            </summary>
        </member>
        <member name="P:DynamicData.Tests.SortedChangeSetAggregator`2.Error">
            <summary>
            Gets and error.
            </summary>
        </member>
        <member name="P:DynamicData.Tests.SortedChangeSetAggregator`2.Messages">
            <summary>
            Gets record of all received messages.
            </summary>
            <value>
            The messages.
            </value>
        </member>
        <member name="P:DynamicData.Tests.SortedChangeSetAggregator`2.Summary">
            <summary>
            Gets the aggregated change summary.
            </summary>
            <value>
            The summary.
            </value>
        </member>
        <member name="M:DynamicData.Tests.SortedChangeSetAggregator`2.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
        </member>
        <member name="M:DynamicData.Tests.SortedChangeSetAggregator`2.Dispose(System.Boolean)">
            <summary>
            Disposes of managed and unmanaged responses.
            </summary>
            <param name="isDisposing">If being called by the Dispose method.</param>
        </member>
        <member name="T:DynamicData.Tests.TestEx">
            <summary>
            Test extensions.
            </summary>
        </member>
        <member name="M:DynamicData.Tests.TestEx.AsAggregator``2(System.IObservable{DynamicData.IChangeSet{``0,``1}})">
            <summary>
            Aggregates all events and statistics for a paged change set to help assertions when testing.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <returns>The change set aggregator.</returns>
        </member>
        <member name="M:DynamicData.Tests.TestEx.AsAggregator``1(System.IObservable{DynamicData.IDistinctChangeSet{``0}})">
            <summary>
            Aggregates all events and statistics for a distinct change set to help assertions when testing.
            </summary>
            <typeparam name="TValue">The type of the value.</typeparam>
            <param name="source">The source.</param>
            <returns>The distinct change set aggregator.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.Tests.TestEx.AsAggregator``2(System.IObservable{DynamicData.ISortedChangeSet{``0,``1}})">
            <summary>
            Aggregates all events and statistics for a sorted change set to help assertions when testing.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <returns>The sorted change set aggregator.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.Tests.TestEx.AsAggregator``2(System.IObservable{DynamicData.IVirtualChangeSet{``0,``1}})">
            <summary>
            Aggregates all events and statistics for a virtual change set to help assertions when testing.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <returns>The virtual change set aggregator.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.Tests.TestEx.AsAggregator``2(System.IObservable{DynamicData.IPagedChangeSet{``0,``1}})">
            <summary>
            Aggregates all events and statistics for a paged change set to help assertions when testing.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <returns>The paged change set aggregator.</returns>
        </member>
        <member name="T:DynamicData.Tests.VirtualChangeSetAggregator`2">
            <summary>
            Aggregates all events and statistics for a virtual change set to help assertions when testing.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
        </member>
        <member name="M:DynamicData.Tests.VirtualChangeSetAggregator`2.#ctor(System.IObservable{DynamicData.IVirtualChangeSet{`0,`1}})">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Tests.VirtualChangeSetAggregator`2"/> class.
            </summary>
            <param name="source">The source.</param>
        </member>
        <member name="P:DynamicData.Tests.VirtualChangeSetAggregator`2.Data">
            <summary>
            Gets the data.
            </summary>
            <value>
            The data.
            </value>
        </member>
        <member name="P:DynamicData.Tests.VirtualChangeSetAggregator`2.Error">
            <summary>
            Gets the error.
            </summary>
            <value>
            The error.
            </value>
        </member>
        <member name="P:DynamicData.Tests.VirtualChangeSetAggregator`2.Messages">
            <summary>
            Gets the messages.
            </summary>
            <value>
            The messages.
            </value>
        </member>
        <member name="P:DynamicData.Tests.VirtualChangeSetAggregator`2.Summary">
            <summary>
            Gets the summary.
            </summary>
            <value>
            The summary.
            </value>
        </member>
        <member name="M:DynamicData.Tests.VirtualChangeSetAggregator`2.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
        </member>
        <member name="M:DynamicData.Tests.VirtualChangeSetAggregator`2.Dispose(System.Boolean)">
            <summary>
            Disposes of managed and unmanaged responses.
            </summary>
            <param name="isDisposing">If being called by the Dispose method.</param>
        </member>
        <member name="T:DynamicData.Tests.ChangeSetAggregator`1">
            <summary>
            Aggregates all events and statistics for a change set to help assertions when testing.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
        </member>
        <member name="M:DynamicData.Tests.ChangeSetAggregator`1.#ctor(System.IObservable{DynamicData.IChangeSet{`0}})">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Tests.ChangeSetAggregator`1"/> class.
            </summary>
            <param name="source">The source.</param>
        </member>
        <member name="P:DynamicData.Tests.ChangeSetAggregator`1.Exception">
            <summary>
            Gets or sets the exception.
            </summary>
        </member>
        <member name="P:DynamicData.Tests.ChangeSetAggregator`1.Data">
            <summary>
            Gets a clone of the data.
            </summary>
        </member>
        <member name="P:DynamicData.Tests.ChangeSetAggregator`1.Messages">
            <summary>
            Gets all message received.
            </summary>
        </member>
        <member name="M:DynamicData.Tests.ChangeSetAggregator`1.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
        </member>
        <member name="M:DynamicData.Tests.ChangeSetAggregator`1.Dispose(System.Boolean)">
            <summary>
            Disposes of managed and unmanaged resources.
            </summary>
            <param name="isDisposing">If the method is being called by the Dispose method.</param>
        </member>
        <member name="T:DynamicData.Tests.ListTextEx">
            <summary>
            Test extensions.
            </summary>
        </member>
        <member name="M:DynamicData.Tests.ListTextEx.AsAggregator``1(System.IObservable{DynamicData.IChangeSet{``0}})">
            <summary>
            Aggregates all events and statistics for a change set to help assertions when testing.
            </summary>
            <param name="source">The source observable.</param>
            <typeparam name="T">The type of the object.</typeparam>
            <returns>The change set aggregator.</returns>
        </member>
        <member name="T:DynamicData.VirtualRequest">
            <summary>
            A request object for virtualisation.
            </summary>
        </member>
        <member name="F:DynamicData.VirtualRequest.Default">
            <summary>
            The default request value.
            </summary>
        </member>
        <member name="M:DynamicData.VirtualRequest.#ctor(System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.VirtualRequest"/> class.
            </summary>
            <param name="startIndex">The start index.</param>
            <param name="size">The size.</param>
        </member>
        <member name="M:DynamicData.VirtualRequest.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.VirtualRequest"/> class.
            </summary>
        </member>
        <member name="P:DynamicData.VirtualRequest.StartIndexSizeComparer">
            <summary>
            Gets the start index size comparer.
            </summary>
            <value>
            The start index size comparer.
            </value>
        </member>
        <member name="P:DynamicData.VirtualRequest.Size">
            <summary>
            Gets the maximum number of items to return.
            </summary>
        </member>
        <member name="P:DynamicData.VirtualRequest.StartIndex">
            <summary>
            Gets the first index in the virualised list.
            </summary>
        </member>
        <member name="M:DynamicData.VirtualRequest.Equals(DynamicData.IVirtualRequest)">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.VirtualRequest.Equals(System.Object)">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.VirtualRequest.GetHashCode">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.VirtualRequest.ToString">
            <inheritdoc />
        </member>
        <member name="T:DynamicData.VirtualResponse">
            <summary>
            Defines values used to virtualise the result set.
            </summary>
        </member>
        <member name="P:DynamicData.VirtualResponse.Size">
            <summary>
            Gets the requested size of the virtualised data.
            </summary>
        </member>
        <member name="P:DynamicData.VirtualResponse.StartIndex">
            <summary>
            Gets the starting index.
            </summary>
        </member>
        <member name="P:DynamicData.VirtualResponse.TotalSize">
            <summary>
            Gets the total size of the underlying cache.
            </summary>
        </member>
        <member name="M:DynamicData.VirtualResponse.Equals(DynamicData.IVirtualResponse)">
            <summary>
                Indicates whether the current object is equal to another object of the same type.
            </summary>
            <returns>
                true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
            </returns>
            <param name="other">An object to compare with this object.</param>
        </member>
        <member name="M:DynamicData.VirtualResponse.Equals(System.Object)">
            <summary>
                Determines whether the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />.
            </summary>
            <returns>
                true if the specified object  is equal to the current object; otherwise, false.
            </returns>
            <param name="obj">The object to compare with the current object. </param>
        </member>
        <member name="M:DynamicData.VirtualResponse.GetHashCode">
            <summary>
                Serves as a hash function for a particular type.
            </summary>
            <returns>
                A hash code for the current <see cref="T:System.Object" />.
            </returns>
        </member>
        <member name="M:DynamicData.VirtualResponse.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
            </returns>
        </member>
        <member name="T:DynamicData.Diagnostics.ChangeStatistics">
            <summary>
                Object used to capture accumulated changes.
            </summary>
        </member>
        <member name="M:DynamicData.Diagnostics.ChangeStatistics.#ctor">
            <summary>
                Initializes a new instance of the <see cref="T:DynamicData.Diagnostics.ChangeStatistics"/> class.
            </summary>
        </member>
        <member name="M:DynamicData.Diagnostics.ChangeStatistics.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
                Initializes a new instance of the <see cref="T:DynamicData.Diagnostics.ChangeStatistics"/> class.
            </summary>
            <param name="index">The index of the change.</param>
            <param name="adds">The number of additions.</param>
            <param name="updates">The number of updates.</param>
            <param name="removes">The number of removals.</param>
            <param name="refreshes">The number of refreshes.</param>
            <param name="moves">The number of moves.</param>
            <param name="count">The new count.</param>
        </member>
        <member name="P:DynamicData.Diagnostics.ChangeStatistics.Adds">
            <summary>
                Gets the adds.
            </summary>
            <value>
                The adds.
            </value>
        </member>
        <member name="P:DynamicData.Diagnostics.ChangeStatistics.Count">
            <summary>
                Gets the count.
            </summary>
            <value>
                The count.
            </value>
        </member>
        <member name="P:DynamicData.Diagnostics.ChangeStatistics.Index">
            <summary>
                Gets the index.
            </summary>
            <value>
                The index.
            </value>
        </member>
        <member name="P:DynamicData.Diagnostics.ChangeStatistics.LastUpdated">
            <summary>
                Gets the last updated.
            </summary>
            <value>
                The last updated.
            </value>
        </member>
        <member name="P:DynamicData.Diagnostics.ChangeStatistics.Moves">
            <summary>
                Gets the moves.
            </summary>
            <value>
                The moves.
            </value>
        </member>
        <member name="P:DynamicData.Diagnostics.ChangeStatistics.Refreshes">
            <summary>
                Gets the refreshes.
            </summary>
            <value>
                The refreshes.
            </value>
        </member>
        <member name="P:DynamicData.Diagnostics.ChangeStatistics.Removes">
            <summary>
                Gets the removes.
            </summary>
            <value>
                The removes.
            </value>
        </member>
        <member name="P:DynamicData.Diagnostics.ChangeStatistics.Updates">
            <summary>
                Gets the updates.
            </summary>
            <value>
                The updates.
            </value>
        </member>
        <member name="M:DynamicData.Diagnostics.ChangeStatistics.op_Equality(DynamicData.Diagnostics.ChangeStatistics,DynamicData.Diagnostics.ChangeStatistics)">
            <summary>
            Checks to see if both sides are equal.
            </summary>
            <param name="left">The left side to compare.</param>
            <param name="right">The right side to compare.</param>
            <returns>If the two sides are equal.</returns>
        </member>
        <member name="M:DynamicData.Diagnostics.ChangeStatistics.op_Inequality(DynamicData.Diagnostics.ChangeStatistics,DynamicData.Diagnostics.ChangeStatistics)">
            <summary>
            Checks to see if both sides are not equal.
            </summary>
            <param name="left">The left side to compare.</param>
            <param name="right">The right side to compare.</param>
            <returns>If the two sides are not equal.</returns>
        </member>
        <member name="M:DynamicData.Diagnostics.ChangeStatistics.Equals(DynamicData.Diagnostics.ChangeStatistics)">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Diagnostics.ChangeStatistics.Equals(System.Object)">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Diagnostics.ChangeStatistics.GetHashCode">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Diagnostics.ChangeStatistics.ToString">
            <inheritdoc />
        </member>
        <member name="T:DynamicData.Diagnostics.ChangeSummary">
            <summary>
            Accumulates change statics.
            </summary>
        </member>
        <member name="F:DynamicData.Diagnostics.ChangeSummary.Empty">
            <summary>
            An empty instance of change summary.
            </summary>
        </member>
        <member name="M:DynamicData.Diagnostics.ChangeSummary.#ctor(System.Int32,DynamicData.Diagnostics.ChangeStatistics,DynamicData.Diagnostics.ChangeStatistics)">
            <summary>
                Initializes a new instance of the <see cref="T:DynamicData.Diagnostics.ChangeSummary"/> class.
            </summary>
            <param name="index">The index of the change.</param>
            <param name="latest">The latest statistics.</param>
            <param name="overall">The overall statistics.</param>
        </member>
        <member name="M:DynamicData.Diagnostics.ChangeSummary.#ctor">
            <summary>
                Initializes a new instance of the <see cref="T:DynamicData.Diagnostics.ChangeSummary"/> class.
            </summary>
        </member>
        <member name="P:DynamicData.Diagnostics.ChangeSummary.Latest">
            <summary>
            Gets the latest change.
            </summary>
            <value>
            The latest.
            </value>
        </member>
        <member name="P:DynamicData.Diagnostics.ChangeSummary.Overall">
            <summary>
            Gets the overall change count.
            </summary>
            <value>
            The overall.
            </value>
        </member>
        <member name="M:DynamicData.Diagnostics.ChangeSummary.Equals(System.Object)">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Diagnostics.ChangeSummary.GetHashCode">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Diagnostics.ChangeSummary.ToString">
            <inheritdoc />
        </member>
        <member name="T:DynamicData.Diagnostics.DiagnosticOperators">
            <summary>
            Extensions for diagnostics.
            </summary>
        </member>
        <member name="M:DynamicData.Diagnostics.DiagnosticOperators.CollectUpdateStats``2(System.IObservable{DynamicData.IChangeSet{``0,``1}})">
            <summary>
            Accumulates update statistics.
            </summary>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable which emits the change summary.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.Diagnostics.DiagnosticOperators.CollectUpdateStats``1(System.IObservable{DynamicData.IChangeSet{``0}})">
            <summary>
            Accumulates update statistics.
            </summary>
            <typeparam name="TSource">The type of the source.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable which emits the change summary.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="T:DynamicData.EnumerableEx">
            <summary>
            Extensions for dynamic data.
            </summary>
        </member>
        <member name="M:DynamicData.EnumerableEx.AsObservableChangeSet``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Boolean)">
            <summary>
            Converts the enumerable to an observable change set.
            Generates a snapshot in time based of enumerable.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="keySelector">The key selector.</param>
            <param name="completable">Optionally emit an OnComplete.</param>
            <returns>An observable change set.</returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            keySelector.</exception>
        </member>
        <member name="M:DynamicData.EnumerableEx.AsObservableChangeSet``1(System.Collections.Generic.IEnumerable{``0},System.Boolean)">
            <summary>
            Converts the enumerable to an observable change set.
            Generates a snapshot in time based of enumerable.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <param name="completable">Optionally emit an OnComplete.</param>
            <returns>An observable change set.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="T:DynamicData.Experimental.ExperimentalEx">
            <summary>
            Experimental operator extensions.
            </summary>
        </member>
        <member name="M:DynamicData.Experimental.ExperimentalEx.AsWatcher``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Reactive.Concurrency.IScheduler)">
            <summary>
            Wraps the source cache, optimising it for watching individual updates.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="scheduler">The scheduler.</param>
            <returns>The watcher.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="T:DynamicData.Experimental.ISubjectWithRefCount`1">
            <summary>
            A subject which also contains its current reference count.
            </summary>
            <typeparam name="T">The type of item.</typeparam>
        </member>
        <member name="P:DynamicData.Experimental.ISubjectWithRefCount`1.RefCount">
            <summary>Gets number of subscribers.</summary>
            <value>
            The ref count.
            </value>
        </member>
        <member name="T:DynamicData.Experimental.IWatcher`2">
            <summary>
            A specialisation of the SourceList which is optimised for watching individual items.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
        </member>
        <member name="M:DynamicData.Experimental.IWatcher`2.Watch(`1)">
            <summary>
            Watches updates which match the specified key.
            </summary>
            <param name="key">The key.</param>
            <returns>An observable which emits the change.</returns>
        </member>
        <member name="T:DynamicData.Experimental.SubjectWithRefCount`1">
            <summary>
            A subject with a count of the number of subscribers.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
        </member>
        <member name="M:DynamicData.Experimental.SubjectWithRefCount`1.#ctor(System.Reactive.Subjects.ISubject{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Experimental.SubjectWithRefCount`1"/> class.
            </summary>
            <param name="subject">The subject to perform reference counting on.</param>
        </member>
        <member name="P:DynamicData.Experimental.SubjectWithRefCount`1.RefCount">
            <summary>Gets number of subscribers.</summary>
            <value>
            The ref count.
            </value>
        </member>
        <member name="M:DynamicData.Experimental.SubjectWithRefCount`1.OnCompleted">
            <summary>
            Notifies the observer that the provider has finished sending push-based notifications.
            </summary>
        </member>
        <member name="M:DynamicData.Experimental.SubjectWithRefCount`1.OnError(System.Exception)">
            <summary>
            Notifies the observer that the provider has experienced an error condition.
            </summary>
            <param name="error">An object that provides additional information about the error.</param>
        </member>
        <member name="M:DynamicData.Experimental.SubjectWithRefCount`1.OnNext(`0)">
            <summary>
            Provides the observer with new data.
            </summary>
            <param name="value">The current notification information.</param>
        </member>
        <member name="M:DynamicData.Experimental.SubjectWithRefCount`1.Subscribe(System.IObserver{`0})">
            <summary>
            Notifies the provider that an observer is to receive notifications.
            </summary>
            <returns>
            The observer's interface that enables resources to be disposed.
            </returns>
            <param name="observer">The object that is to receive notifications.</param>
        </member>
        <member name="T:DynamicData.IChangeSet">
            <summary>
            Base interface representing a set of changes.
            </summary>
        </member>
        <member name="P:DynamicData.IChangeSet.Adds">
            <summary>
                Gets the number of additions.
            </summary>
        </member>
        <member name="P:DynamicData.IChangeSet.Capacity">
            <summary>
            Gets or sets the capacity of the change set.
            </summary>
            <value>
            The capacity.
            </value>
        </member>
        <member name="P:DynamicData.IChangeSet.Count">
            <summary>
                Gets the total update count.
            </summary>
        </member>
        <member name="P:DynamicData.IChangeSet.Moves">
            <summary>
                Gets the number of moves.
            </summary>
        </member>
        <member name="P:DynamicData.IChangeSet.Refreshes">
            <summary>
            Gets the number of refreshes.
            </summary>
        </member>
        <member name="P:DynamicData.IChangeSet.Removes">
            <summary>
                Gets the number of removes.
            </summary>
        </member>
        <member name="T:DynamicData.Kernel.ConnectionStatus">
            <summary>
            Connectable cache status.
            </summary>
        </member>
        <member name="F:DynamicData.Kernel.ConnectionStatus.Pending">
            <summary>
            Status set to pending until first batch of data is received.
            </summary>
        </member>
        <member name="F:DynamicData.Kernel.ConnectionStatus.Loaded">
            <summary>
            Status set to loaded when first batch of data has been received.  Remains loaded
            until the cache is disposed or faults.
            </summary>
        </member>
        <member name="F:DynamicData.Kernel.ConnectionStatus.Errored">
            <summary>
            There has been a error and the stream has stopped. No more status updates will be received.
            </summary>
        </member>
        <member name="F:DynamicData.Kernel.ConnectionStatus.Completed">
            <summary>
            The stream has completed. No more status updates will be received.
            </summary>
        </member>
        <member name="T:DynamicData.Kernel.EnumerableEx">
            <summary>
            Enumerable extensions.
            </summary>
        </member>
        <member name="M:DynamicData.Kernel.EnumerableEx.AsArray``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Casts the enumerable to an array if it is already an array.  Otherwise call ToArray.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <returns>The array of items.</returns>
        </member>
        <member name="M:DynamicData.Kernel.EnumerableEx.AsList``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Casts the enumerable to a List if it is already a List.  Otherwise call ToList.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <returns>The list.</returns>
        </member>
        <member name="M:DynamicData.Kernel.EnumerableEx.Duplicates``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1})">
            <summary>
            Returns any duplicated values from the source.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <typeparam name="TValue">The type of the value.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <returns>The enumerable of items.</returns>
        </member>
        <member name="M:DynamicData.Kernel.EnumerableEx.IndexOfMany``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Finds the index of many items as specified in the secondary enumerable.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="itemsToFind">The items to find in the source enumerable.</param>
            <returns>
            A result as specified by the result selector.
            </returns>
        </member>
        <member name="M:DynamicData.Kernel.EnumerableEx.IndexOfMany``2(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Int32,``1})">
            <summary>
            Finds the index of many items as specified in the secondary enumerable.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="source">The source.</param>
            <param name="itemsToFind">The items to find.</param>
            <param name="resultSelector">The result selector.</param>
            <returns>A result as specified by the result selector.</returns>
        </member>
        <member name="M:DynamicData.Kernel.EnumerableEx.WithIndex``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Returns an object with it's current index.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <returns>The enumerable of items with their indexes.</returns>
        </member>
        <member name="P:DynamicData.Kernel.EnumerableIList`1.Count">
            <inheritdoc />
        </member>
        <member name="P:DynamicData.Kernel.EnumerableIList`1.IsReadOnly">
            <inheritdoc />
        </member>
        <member name="P:DynamicData.Kernel.EnumerableIList`1.Item(System.Int32)">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Kernel.EnumerableIList`1.Add(`0)">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Kernel.EnumerableIList`1.Clear">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Kernel.EnumerableIList`1.Contains(`0)">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Kernel.EnumerableIList`1.CopyTo(`0[],System.Int32)">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Kernel.EnumerableIList`1.IndexOf(`0)">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Kernel.EnumerableIList`1.Insert(System.Int32,`0)">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Kernel.EnumerableIList`1.Remove(`0)">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Kernel.EnumerableIList`1.RemoveAt(System.Int32)">
            <inheritdoc />
        </member>
        <member name="T:DynamicData.Kernel.Error`2">
            <summary>
            An error container used to report errors from within dynamic data operators.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
        </member>
        <member name="M:DynamicData.Kernel.Error`2.#ctor(System.Exception,`0,`1)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Kernel.Error`2"/> class.
            </summary>
            <param name="exception">The exception that caused the error.</param>
            <param name="value">The value for the error.</param>
            <param name="key">The key for the error.</param>
        </member>
        <member name="P:DynamicData.Kernel.Error`2.Exception">
            <summary>
            Gets the exception.
            </summary>
        </member>
        <member name="P:DynamicData.Kernel.Error`2.Key">
            <summary>
            Gets the key.
            </summary>
        </member>
        <member name="P:DynamicData.Kernel.Error`2.Value">
            <summary>
            Gets the object.
            </summary>
        </member>
        <member name="M:DynamicData.Kernel.Error`2.Equals(DynamicData.Kernel.Error{`0,`1})">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Kernel.Error`2.Equals(System.Object)">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Kernel.Error`2.GetHashCode">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Kernel.Error`2.ToString">
            <inheritdoc />
        </member>
        <member name="T:DynamicData.Kernel.IEnumerableIList`1">
            <summary>
            A enumerable that also contains the enumerable list.
            </summary>
            <typeparam name="T">The type of items.</typeparam>
        </member>
        <member name="M:DynamicData.Kernel.IEnumerableIList`1.GetEnumerator">
            <summary>
            Gets the enumerator.
            </summary>
            <returns>The enumerator.</returns>
        </member>
        <member name="T:DynamicData.Kernel.InternalEx">
            <summary>
            Extensions associated with times and intervals.
            </summary>
        </member>
        <member name="M:DynamicData.Kernel.InternalEx.RetryWithBackOff``2(System.IObservable{``0},System.Func{``1,System.Int32,System.Nullable{System.TimeSpan}})">
            <summary>
            Retries the with back off.
            </summary>
            <remarks>
            With big thanks.  I took this from
            https://social.msdn.microsoft.com/Forums/en-US/af43b14e-fb00-42d4-8fb1-5c45862f7796/recursive-async-web-requestresponse-what-is-best-practice-3rd-try.
            </remarks>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TException">The type of the exception.</typeparam>
            <param name="source">The source.</param>
            <param name="backOffStrategy">The back off strategy.</param>
            <returns>An observable which will emit the value.</returns>
        </member>
        <member name="M:DynamicData.Kernel.InternalEx.ScheduleRecurringAction(System.Reactive.Concurrency.IScheduler,System.TimeSpan,System.Action)">
            <summary>
            Schedules a recurring action.
            </summary>
            <remarks>
             I took this from
            https://www.zerobugbuild.com/?p=259.
            </remarks>
            <param name="scheduler">The scheduler.</param>
            <param name="interval">The interval.</param>
            <param name="action">The action.</param>
            <returns>A disposable that will stop the schedule.</returns>
        </member>
        <member name="M:DynamicData.Kernel.InternalEx.ScheduleRecurringAction(System.Reactive.Concurrency.IScheduler,System.Func{System.TimeSpan},System.Action)">
             <summary>
             Schedules a recurring action.
             </summary>
             <remarks>
              I took this from
            
             https://www.zerobugbuild.com/?p=259
            
             and adapted it to receive.
             </remarks>
             <param name="scheduler">The scheduler.</param>
             <param name="interval">The interval.</param>
             <param name="action">The action.</param>
             <returns>A disposable that will stop the schedule.</returns>
        </member>
        <member name="M:DynamicData.Kernel.InternalEx.Return``1(System.Func{``0})">
            <summary>
            Observable.Return without the memory leak.
            </summary>
        </member>
        <member name="T:DynamicData.Kernel.ISupportsCapacity">
            <summary>
            A collection type that supports a capacity.
            </summary>
        </member>
        <member name="P:DynamicData.Kernel.ISupportsCapacity.Capacity">
            <summary>
            Gets or sets the capacity.
            </summary>
        </member>
        <member name="P:DynamicData.Kernel.ISupportsCapacity.Count">
            <summary>
            Gets the number of items.
            </summary>
        </member>
        <member name="T:DynamicData.Kernel.ItemWithIndex`1">
            <summary>
            Container for an item and it's index from a list.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
        </member>
        <member name="M:DynamicData.Kernel.ItemWithIndex`1.#ctor(`0,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Kernel.ItemWithIndex`1"/> struct.
            Initializes a new instance of the <see cref="T:DynamicData.Kernel.ItemWithIndex`1"/> class.
            </summary>
            <param name="item">The item.</param>
            <param name="index">The index.</param>
        </member>
        <member name="P:DynamicData.Kernel.ItemWithIndex`1.Item">
            <summary>
            Gets the item.
            </summary>
        </member>
        <member name="P:DynamicData.Kernel.ItemWithIndex`1.Index">
            <summary>
            Gets the index.
            </summary>
        </member>
        <member name="M:DynamicData.Kernel.ItemWithIndex`1.op_Equality(DynamicData.Kernel.ItemWithIndex{`0},DynamicData.Kernel.ItemWithIndex{`0})">
            <summary>Returns a value that indicates whether the values of two <see cref="T:DynamicData.Kernel.ItemWithIndex`1" /> objects are equal.</summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns>true if the <paramref name="left" /> and <paramref name="right" /> parameters have the same value; otherwise, false.</returns>
        </member>
        <member name="M:DynamicData.Kernel.ItemWithIndex`1.op_Inequality(DynamicData.Kernel.ItemWithIndex{`0},DynamicData.Kernel.ItemWithIndex{`0})">
            <summary>Returns a value that indicates whether two <see cref="T:DynamicData.Kernel.ItemWithIndex`1" /> objects have different values.</summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns>true if <paramref name="left" /> and <paramref name="right" /> are not equal; otherwise, false.</returns>
        </member>
        <member name="M:DynamicData.Kernel.ItemWithIndex`1.Equals(DynamicData.Kernel.ItemWithIndex{`0})">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Kernel.ItemWithIndex`1.Equals(System.Object)">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Kernel.ItemWithIndex`1.GetHashCode">
            <summary>Returns the hash code for this instance.</summary>
            <returns>A 32-bit signed integer that is the hash code for this instance.</returns>
        </member>
        <member name="M:DynamicData.Kernel.ItemWithIndex`1.ToString">
            <inheritdoc />
        </member>
        <member name="T:DynamicData.Kernel.ItemWithValue`2">
            <summary>
            Container for an item and it's Value from a list.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TValue">The type of the value.</typeparam>
        </member>
        <member name="M:DynamicData.Kernel.ItemWithValue`2.#ctor(`0,`1)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Kernel.ItemWithValue`2"/> struct.
            Initializes a new instance of the <see cref="T:DynamicData.Kernel.ItemWithIndex`1"/> class.
            </summary>
            <param name="item">The item.</param>
            <param name="value">The Value.</param>
        </member>
        <member name="P:DynamicData.Kernel.ItemWithValue`2.Item">
            <summary>
            Gets the item.
            </summary>
        </member>
        <member name="P:DynamicData.Kernel.ItemWithValue`2.Value">
            <summary>
            Gets the Value.
            </summary>
        </member>
        <member name="M:DynamicData.Kernel.ItemWithValue`2.op_Equality(DynamicData.Kernel.ItemWithValue{`0,`1},DynamicData.Kernel.ItemWithValue{`0,`1})">
            <summary>
            Implements the operator ==.
            </summary>
            <param name="left">The left.</param>
            <param name="right">The right.</param>
            <returns>
            The result of the operator.
            </returns>
        </member>
        <member name="M:DynamicData.Kernel.ItemWithValue`2.op_Inequality(DynamicData.Kernel.ItemWithValue{`0,`1},DynamicData.Kernel.ItemWithValue{`0,`1})">
            <summary>
            Implements the operator !=.
            </summary>
            <param name="left">The left.</param>
            <param name="right">The right.</param>
            <returns>
            The result of the operator.
            </returns>
        </member>
        <member name="M:DynamicData.Kernel.ItemWithValue`2.Equals(DynamicData.Kernel.ItemWithValue{`0,`1})">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Kernel.ItemWithValue`2.Equals(System.Object)">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Kernel.ItemWithValue`2.GetHashCode">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Kernel.ItemWithValue`2.ToString">
            <inheritdoc />
        </member>
        <member name="T:DynamicData.Kernel.Optional`1">
            <summary>
            The equivalent of a nullable type which works on value and reference types.
            </summary>
            <typeparam name="T">The underlying value type of the <see cref="T:System.Nullable`1"/> generic type.</typeparam><filterpriority>1.</filterpriority>
        </member>
        <member name="M:DynamicData.Kernel.Optional`1.#ctor(`0)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Kernel.Optional`1"/> struct.
            </summary>
            <param name="value">The value.</param>
        </member>
        <member name="P:DynamicData.Kernel.Optional`1.None">
            <summary>
            Gets the default valueless optional.
            </summary>
        </member>
        <member name="P:DynamicData.Kernel.Optional`1.HasValue">
             <summary>
             Gets a value indicating whether the current <see cref="T:System.Nullable`1"/> object has a value.
             </summary>
            
             <returns>
             true if the current <see cref="T:System.Nullable`1"/> object has a value; false if the current <see cref="T:System.Nullable`1"/> object has no value.
             </returns>
        </member>
        <member name="P:DynamicData.Kernel.Optional`1.Value">
             <summary>
             Gets the value of the current <see cref="T:System.Nullable`1"/> value.
             </summary>
            
             <returns>
             The value of the current <see cref="T:System.Nullable`1"/> object if the <see cref="P:System.Nullable`1.HasValue"/> property is true. An exception is thrown if the <see cref="P:System.Nullable`1.HasValue"/> property is false.
             </returns>
             <exception cref="T:System.InvalidOperationException">The <see cref="P:System.Nullable`1.HasValue"/> property is false.</exception>
        </member>
        <member name="M:DynamicData.Kernel.Optional`1.op_Implicit(`0)~DynamicData.Kernel.Optional{`0}">
            <summary>
            Implicit cast from the vale to the optional.
            </summary>
            <param name="value">The value.</param>
            <returns>The optional value.</returns>
        </member>
        <member name="M:DynamicData.Kernel.Optional`1.op_Explicit(DynamicData.Kernel.Optional{`0})~`0">
            <summary>
            Explicit cast from option to value.
            </summary>
            <param name="value">The value.</param>
            <returns>The optional value.</returns>
        </member>
        <member name="M:DynamicData.Kernel.Optional`1.Create(`0)">
            <summary>
            Creates the specified value.
            </summary>
            <param name="value">The value.</param>
            <returns>The optional value.</returns>
        </member>
        <member name="M:DynamicData.Kernel.Optional`1.FromOptional(DynamicData.Kernel.Optional{`0})">
            <summary>
            Gets the value from the optional value.
            </summary>
            <param name="value">The optional value.</param>
            <returns>The value.</returns>
        </member>
        <member name="M:DynamicData.Kernel.Optional`1.ToOptional(`0)">
            <summary>
            Gets the optional from a value.
            </summary>
            <param name="value">The value to get the optional for.</param>
            <returns>The optional.</returns>
        </member>
        <member name="M:DynamicData.Kernel.Optional`1.Equals(DynamicData.Kernel.Optional{`0})">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Kernel.Optional`1.Equals(System.Object)">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Kernel.Optional`1.GetHashCode">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Kernel.Optional`1.ToString">
            <inheritdoc />
        </member>
        <member name="T:DynamicData.Kernel.Optional">
            <summary>
            Optional factory class.
            </summary>
        </member>
        <member name="M:DynamicData.Kernel.Optional.None``1">
            <summary>
            Returns an None optional value for the specified type.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <returns>The optional value.</returns>
        </member>
        <member name="M:DynamicData.Kernel.Optional.Some``1(``0)">
            <summary>
            Wraps the specified value in an Optional container.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="value">The value.</param>
            <returns>The optional value.</returns>
        </member>
        <member name="T:DynamicData.Kernel.OptionElse">
            <summary>
            Continuation container used for the else operator on an option object.
            </summary>
        </member>
        <member name="M:DynamicData.Kernel.OptionElse.Else(System.Action)">
            <summary>
            Invokes the specified action when an option has no value.
            </summary>
            <param name="action">The action.</param>
            <exception cref="T:System.ArgumentNullException">action.</exception>
        </member>
        <member name="T:DynamicData.Kernel.OptionExtensions">
            <summary>
            Extensions for optional.
            </summary>
        </member>
        <member name="M:DynamicData.Kernel.OptionExtensions.Convert``2(DynamicData.Kernel.Optional{``0},System.Func{``0,``1})">
            <summary>
            Converts the specified source.
            </summary>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <param name="source">The source.</param>
            <param name="converter">The converter.</param>
            <returns>The converted value.</returns>
            <exception cref="T:System.ArgumentNullException">converter.</exception>
        </member>
        <member name="M:DynamicData.Kernel.OptionExtensions.ConvertOr``2(DynamicData.Kernel.Optional{``0},System.Func{``0,``1},System.Func{``1})">
            <summary>
            Converts the option value if it has a value, otherwise returns the result of the fallback converter.
            </summary>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <param name="source">The source.</param>
            <param name="converter">The converter.</param>
            <param name="fallbackConverter">The fallback converter.</param>
            <returns>The destination value.</returns>
            <exception cref="T:System.ArgumentNullException">
            converter
            or
            fallbackConverter.
            </exception>
        </member>
        <member name="M:DynamicData.Kernel.OptionExtensions.FirstOrOptional``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Boolean})">
            <summary>
            Overloads Enumerable.FirstOrDefault() and wraps the result in a Optional<typeparam>
                    <name>&amp;gt;T</name>
                </typeparam> container.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="selector">The selector.</param>
            <returns>The first value or none.</returns>
        </member>
        <member name="M:DynamicData.Kernel.OptionExtensions.IfHasValue``1(DynamicData.Kernel.Optional{``0},System.Action{``0})">
            <summary>
            Invokes the specified action when.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="action">The action.</param>
            <returns>The optional else extension.</returns>
        </member>
        <member name="M:DynamicData.Kernel.OptionExtensions.IfHasValue``1(System.Nullable{DynamicData.Kernel.Optional{``0}},System.Action{``0})">
            <summary>
            Invokes the specified action when.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="action">The action.</param>
            <returns>The optional else extension.</returns>
        </member>
        <member name="M:DynamicData.Kernel.OptionExtensions.Lookup``2(System.Collections.Generic.IDictionary{``1,``0},``1)">
            <summary>
            Overloads a TryGetValue of the dictionary wrapping the result as an Optional.<typeparam>
                    <name>&amp;gt;TValue</name>
                </typeparam>
            </summary>
            <typeparam name="TValue">The type of the value.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="key">The key.</param>
            <returns>The option of the looked up value.</returns>
        </member>
        <member name="M:DynamicData.Kernel.OptionExtensions.RemoveIfContained``2(System.Collections.Generic.IDictionary{``1,``0},``1)">
            <summary>
            Removes item if contained in the cache.
            </summary>
            <typeparam name="TValue">The type of the value.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="key">The key.</param>
            <returns>If the item was removed.</returns>
        </member>
        <member name="M:DynamicData.Kernel.OptionExtensions.SelectValues``1(System.Collections.Generic.IEnumerable{DynamicData.Kernel.Optional{``0}})">
            <summary>
            Filters where Optional has a value
            and return the values only.
            </summary>
            <typeparam name="T">The type of item.</typeparam>
            <param name="source">The source.</param>
            <returns>An enumerable of the selected items.</returns>
        </member>
        <member name="M:DynamicData.Kernel.OptionExtensions.ValueOr``1(System.Nullable{``0},``0)">
            <summary>
            Returns the value if the nullable has a value, otherwise returns the result of the value selector.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="defaultValue">The default value.</param>
            <returns>The value or the default value.</returns>
        </member>
        <member name="M:DynamicData.Kernel.OptionExtensions.ValueOr``1(DynamicData.Kernel.Optional{``0},System.Func{``0})">
            <summary>
            Returns the value if the optional has a value, otherwise returns the result of the value selector.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The value selector.</param>
            <returns>If the value or a provided default.</returns>
            <exception cref="T:System.ArgumentNullException">valueSelector.</exception>
        </member>
        <member name="M:DynamicData.Kernel.OptionExtensions.ValueOrDefault``1(DynamicData.Kernel.Optional{``0})">
            <summary>
            Returns the value if the optional has a value, otherwise returns the default value of T.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <returns>The value or default.</returns>
        </member>
        <member name="M:DynamicData.Kernel.OptionExtensions.ValueOrThrow``1(DynamicData.Kernel.Optional{``0},System.Func{System.Exception})">
            <summary>
            Returns the value if the optional has a value, otherwise throws an exception as specified by the exception generator.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="exceptionGenerator">The exception generator.</param>
            <returns>The value.</returns>
            <exception cref="T:System.ArgumentNullException">exceptionGenerator.</exception>
        </member>
        <member name="T:DynamicData.Change`1">
            <summary>
              Container to describe a single change to a cache.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
        </member>
        <member name="M:DynamicData.Change`1.#ctor(DynamicData.ListChangeReason,`0,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Change`1"/> class.
            </summary>
            <param name="reason">The reason.</param>
            <param name="current">The current.</param>
            <param name="index">The index.</param>
        </member>
        <member name="M:DynamicData.Change`1.#ctor(DynamicData.ListChangeReason,System.Collections.Generic.IEnumerable{`0},System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Change`1"/> class.
            </summary>
            <param name="reason">The reason.</param>
            <param name="items">The items.</param>
            <param name="index">The index.</param>
        </member>
        <member name="M:DynamicData.Change`1.#ctor(`0,System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Change`1"/> class.
            Constructor for ChangeReason.Move.
            </summary>
            <param name="current">The current.</param>
            <param name="currentIndex">The CurrentIndex.</param>
            <param name="previousIndex">CurrentIndex of the previous.</param>
            <exception cref="T:System.ArgumentException">
            CurrentIndex must be greater than or equal to zero
            or
            PreviousIndex must be greater than or equal to zero.
            </exception>
        </member>
        <member name="M:DynamicData.Change`1.#ctor(DynamicData.ListChangeReason,`0,DynamicData.Kernel.Optional{`0},System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.Change`1"/> class.
            Initializes a new instance of the <see cref="T:DynamicData.Change`2" /> struct.
            </summary>
            <param name="reason">The reason.</param>
            <param name="current">The current.</param>
            <param name="previous">The previous.</param>
            <param name="currentIndex">Value of the current.</param>
            <param name="previousIndex">Value of the previous.</param>
            <exception cref="T:System.ArgumentException">
            For ChangeReason.Add, a previous value cannot be specified
            or
            For ChangeReason.Change, must supply previous value.
            </exception>
        </member>
        <member name="P:DynamicData.Change`1.Item">
            <summary>
            Gets a single item change.
            </summary>
        </member>
        <member name="P:DynamicData.Change`1.Range">
            <summary>
            Gets a multiple item change.
            </summary>
        </member>
        <member name="P:DynamicData.Change`1.Reason">
            <summary>
            Gets the reason for the change.
            </summary>
        </member>
        <member name="P:DynamicData.Change`1.Type">
            <summary>
            Gets a value indicating whether the change is a single item change or a range change.
            </summary>
            <value>
            The type.
            </value>
        </member>
        <member name="M:DynamicData.Change`1.Equals(DynamicData.Change{`0})">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Change`1.Equals(System.Object)">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Change`1.GetHashCode">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.Change`1.ToString">
            <inheritdoc />
        </member>
        <member name="T:DynamicData.ChangeAwareList`1">
             <summary>
             A list which captures all changes which are made to it. These changes are recorded until CaptureChanges() at which point the changes are cleared.
            
             Used for creating custom operators.
             </summary>
             <typeparam name="T">The item type.</typeparam>
             <seealso cref="T:DynamicData.IExtendedList`1" />
        </member>
        <member name="M:DynamicData.ChangeAwareList`1.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.ChangeAwareList`1"/> class.
            Create a change aware list with the specified capacity.
            </summary>
            <param name="capacity">The initial capacity of the internal lists.</param>
        </member>
        <member name="M:DynamicData.ChangeAwareList`1.#ctor(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.ChangeAwareList`1"/> class.
            Create a change aware list with the specified items.
            </summary>
            <param name="items">The items to seed the change aware list with.</param>
        </member>
        <member name="M:DynamicData.ChangeAwareList`1.#ctor(DynamicData.ChangeAwareList{`0},System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.ChangeAwareList`1"/> class.
            Clone an existing ChangeAwareList.
            </summary>
            <param name="list">The original ChangeAwareList to copy.</param>
            <param name="copyChanges">Should the list of changes also be copied over?.</param>
        </member>
        <member name="P:DynamicData.ChangeAwareList`1.Capacity">
            <summary>
            Gets or sets the total number of elements the internal data structure can hold without resizing.
            </summary>
        </member>
        <member name="P:DynamicData.ChangeAwareList`1.Count">
            <summary>
            Gets the element count.
            </summary>
        </member>
        <member name="P:DynamicData.ChangeAwareList`1.IsReadOnly">
            <summary>
            Gets a value indicating whether is this collection read only.
            </summary>
        </member>
        <member name="P:DynamicData.ChangeAwareList`1.Last">
            <summary>
            Gets the last change in the collection.
            </summary>
        </member>
        <member name="P:DynamicData.ChangeAwareList`1.Item(System.Int32)">
            <summary>
            Gets or sets the item at the specified index.
            </summary>
            <param name="index">The index to set.</param>
        </member>
        <member name="M:DynamicData.ChangeAwareList`1.Add(`0)">
            <summary>
            Adds the item to the end of the collection.
            </summary>
            <param name="item">The item to add.</param>
        </member>
        <member name="M:DynamicData.ChangeAwareList`1.AddRange(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Adds the elements of the specified collection to the end of the collection.
            </summary>
            <param name="collection">The items to add.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="collection" /> is null.</exception>
        </member>
        <member name="M:DynamicData.ChangeAwareList`1.CaptureChanges">
            <summary>
            Create a change set from recorded changes and clears known changes.
            </summary>
            <returns>The change set.</returns>
        </member>
        <member name="M:DynamicData.ChangeAwareList`1.Clear">
            <summary>
            Removes all elements from the list.
            </summary>
        </member>
        <member name="M:DynamicData.ChangeAwareList`1.Contains(`0)">
            <summary>
            Determines whether the element is in the collection.
            </summary>
            <param name="item">The item to check.</param>
            <returns>If the item is contained or not.</returns>
        </member>
        <member name="M:DynamicData.ChangeAwareList`1.CopyTo(`0[],System.Int32)">
            <summary>
            Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array.
            </summary>
            <param name="array">The array to copy to.</param>
            <param name="arrayIndex">The index to start copying to.</param>
        </member>
        <member name="M:DynamicData.ChangeAwareList`1.GetEnumerator">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.ChangeAwareList`1.IndexOf(`0)">
            <summary>
            Searches for the specified object and returns the zero-based index of the first occurrence within the entire collection.
            </summary>
            <param name="item">The item to get the index of.</param>
            <returns>The index.</returns>
        </member>
        <member name="M:DynamicData.ChangeAwareList`1.IndexOf(`0,System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Searches for the specified object and returns the zero-based index of the first occurrence within the entire collection, using the specified comparer.
            </summary>
            <param name="item">The item to get the index of.</param>
            <param name="equalityComparer">The equality comparer to use to compare.</param>
            <returns>The index.</returns>
        </member>
        <member name="M:DynamicData.ChangeAwareList`1.Insert(System.Int32,`0)">
            <summary>
            Inserts an element into the list at the specified index.
            </summary>
            <param name="index">The index to insert at.</param>
            <param name="item">The item to insert.</param>
        </member>
        <member name="M:DynamicData.ChangeAwareList`1.InsertRange(System.Collections.Generic.IEnumerable{`0},System.Int32)">
            <summary>
            Inserts the elements of a collection into the <see cref="T:System.Collections.Generic.List`1" /> at the specified index.
            </summary>
            <param name="collection">Inserts the specified items.</param>
            <param name="index">The zero-based index at which the new elements should be inserted.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="collection" /> is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index" /> is less than 0.-or-<paramref name="index" /> is greater than <see cref="P:System.Collections.Generic.List`1.Count" />.</exception>
        </member>
        <member name="M:DynamicData.ChangeAwareList`1.Move(`0,System.Int32)">
            <summary>
            Moves the item to the specified destination index.
            </summary>
            <param name="item">The item to move.</param>
            <param name="destination">The destination index.</param>
        </member>
        <member name="M:DynamicData.ChangeAwareList`1.Move(System.Int32,System.Int32)">
            <summary>
            Moves an item from the original to the destination index.
            </summary>
            <param name="original">The original.</param>
            <param name="destination">The destination.</param>
        </member>
        <member name="M:DynamicData.ChangeAwareList`1.Refresh(`0,System.Int32)">
             <summary>
             Add a Refresh change of the item at the specified index to the list of changes.
            
             This is to notify downstream operators to refresh.
             </summary>
             <param name="item">The item to refresh.</param>
             <param name="index">The index to refresh.</param>
        </member>
        <member name="M:DynamicData.ChangeAwareList`1.Refresh(`0)">
            <summary>
            Add a Refresh change for specified index to the list of changes.
             This is to notify downstream operators to refresh.
            </summary>
            <param name="item">The item to refresh.</param>
            <returns>If the item is in the list, returns true.</returns>
        </member>
        <member name="M:DynamicData.ChangeAwareList`1.RefreshAt(System.Int32)">
             <summary>
             Add a Refresh change of the item at the specified index to the list of changes.
            
             This is to notify downstream operators to refresh.
             </summary>
             <param name="index">The index to refresh.</param>
        </member>
        <member name="M:DynamicData.ChangeAwareList`1.Remove(`0)">
            <summary>
            Removes the item from the collection and returns true if the item was successfully removed.
            </summary>
            <param name="item">The item to remove.</param>
            <returns>If the item was removed.</returns>
        </member>
        <member name="M:DynamicData.ChangeAwareList`1.RemoveAt(System.Int32)">
            <summary>
            Removes the item from the specified index.
            </summary>
            <param name="index">The index to remove the item at.</param>
        </member>
        <member name="M:DynamicData.ChangeAwareList`1.RemoveRange(System.Int32,System.Int32)">
            <summary>
            Removes a range of elements from the <see cref="T:System.Collections.Generic.List`1"/>.
            </summary>
            <param name="index">The zero-based starting index of the range of elements to remove.</param><param name="count">The number of elements to remove.</param><exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is less than 0.-or-<paramref name="count"/> is less than 0.</exception><exception cref="T:System.ArgumentException"><paramref name="index"/> and <paramref name="count"/> do not denote a valid range of elements in the <see cref="T:System.Collections.Generic.List`1"/>.</exception>
        </member>
        <member name="M:DynamicData.ChangeAwareList`1.System#Collections#IEnumerable#GetEnumerator">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.ChangeAwareList`1.ClearChanges">
            <summary>
            Clears the changes (for testing).
            </summary>
        </member>
        <member name="M:DynamicData.ChangeAwareList`1.InsertItem(System.Int32,`0)">
            <summary>
            Inserts an item at the specified index.
            </summary>
            <param name="index">the index where the item should be inserted.</param>
            <param name="item">The item to insert.</param>
        </member>
        <member name="M:DynamicData.ChangeAwareList`1.OnInsertItems(System.Int32,System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Override for custom Insert.
            </summary>
            <param name="startIndex">The starting index of the items being inserted.</param>
            <param name="items">The items being inserted.</param>
        </member>
        <member name="M:DynamicData.ChangeAwareList`1.OnRemoveItems(System.Int32,System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Override for custom remove.
            </summary>
            <param name="startIndex">The starting index of the items being removed.</param>
            <param name="items">The items being removed.</param>
        </member>
        <member name="M:DynamicData.ChangeAwareList`1.OnSetItem(System.Int32,`0,`0)">
            <summary>
            Override for custom Set.
            </summary>
            <param name="index">The index of the item set.</param>
            <param name="newItem">The new item.</param>
            <param name="oldItem">The old item.</param>
        </member>
        <member name="M:DynamicData.ChangeAwareList`1.RemoveItem(System.Int32)">
            <summary>
            Remove the item which is at the specified index.
            </summary>
            <param name="index">The index being removed.</param>
        </member>
        <member name="M:DynamicData.ChangeAwareList`1.RemoveItem(System.Int32,`0)">
            <summary>
            Removes the item from the specified index - intended for internal use only.
            </summary>
            <param name="index">The index being removed.</param>
            <param name="item">The item being removed.</param>
        </member>
        <member name="M:DynamicData.ChangeAwareList`1.SetItem(System.Int32,`0)">
            <summary>
            Replaces the element which is as the specified index wth the specified item.
            </summary>
            <param name="index">The index of the item to set.</param>
            <param name="item">The item to set.</param>
        </member>
        <member name="T:DynamicData.ChangeSet`1">
            <summary>
            A set of changes which has occurred since the last reported change.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
        </member>
        <member name="F:DynamicData.ChangeSet`1.Empty">
            <summary>
            An empty change set.
            </summary>
        </member>
        <member name="M:DynamicData.ChangeSet`1.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.ChangeSet`1"/> class.
            </summary>
        </member>
        <member name="M:DynamicData.ChangeSet`1.#ctor(System.Collections.Generic.IEnumerable{DynamicData.Change{`0}})">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.ChangeSet`1" /> class.
            </summary>
            <param name="items">The items.</param>
            <exception cref="T:System.ArgumentNullException">items.</exception>
        </member>
        <member name="P:DynamicData.ChangeSet`1.Adds">
            <summary>
                Gets the number of additions.
            </summary>
        </member>
        <member name="P:DynamicData.ChangeSet`1.Moves">
            <summary>
                Gets the number of moves.
            </summary>
        </member>
        <member name="P:DynamicData.ChangeSet`1.Refreshes">
            <summary>
                Gets the number of removes.
            </summary>
        </member>
        <member name="P:DynamicData.ChangeSet`1.Removes">
            <summary>
                Gets the number of removes.
            </summary>
        </member>
        <member name="P:DynamicData.ChangeSet`1.Replaced">
            <summary>
                Gets the number of updates.
            </summary>
        </member>
        <member name="P:DynamicData.ChangeSet`1.TotalChanges">
            <summary>
                Gets the total number if individual item changes.
            </summary>
        </member>
        <member name="M:DynamicData.ChangeSet`1.ToString">
            <summary>
            Returns a <see cref="T:System.String" /> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String" /> that represents this instance.
            </returns>
        </member>
        <member name="T:DynamicData.ChangeSetEx">
            <summary>
            Change set extensions.
            </summary>
        </member>
        <member name="M:DynamicData.ChangeSetEx.Flatten``1(DynamicData.IChangeSet{``0})">
            <summary>
            Returns a flattened source with the index.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <returns>An enumerable of change sets.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ChangeSetEx.GetChangeType(DynamicData.ListChangeReason)">
            <summary>
            Gets the type of the change i.e. whether it is an item or a range change.
            </summary>
            <param name="source">The source.</param>
            <returns>The change type.</returns>
        </member>
        <member name="M:DynamicData.ChangeSetEx.Transform``2(DynamicData.IChangeSet{``0},System.Func{``0,``1})">
            <summary>
            Transforms the change set into a different type using the specified transform function.
            </summary>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <param name="source">The source.</param>
            <param name="transformer">The transformer.</param>
            <returns>The change set.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            transformer.
            </exception>
        </member>
        <member name="M:DynamicData.ChangeSetEx.YieldWithoutIndex``1(System.Collections.Generic.IEnumerable{DynamicData.Change{``0}})">
            <summary>
            Remove the index from the changes.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <returns>An enumerable of changes.</returns>
        </member>
        <member name="M:DynamicData.ChangeSetEx.Unified``1(DynamicData.IChangeSet{``0})">
            <summary>
            Returns a flattened source.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <returns>An enumerable of changes.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="T:DynamicData.ChangeType">
            <summary>
            Description of the type of change.
            </summary>
        </member>
        <member name="F:DynamicData.ChangeType.Item">
            <summary>
            A single item change.
            </summary>
        </member>
        <member name="F:DynamicData.ChangeType.Range">
            <summary>
            A multiple item change.
            </summary>
        </member>
        <member name="T:DynamicData.IChangeSet`1">
             <summary>
             A collection of changes.
            
             Changes are always published in the order.
             </summary>
             <typeparam name="TObject">The type of the object.</typeparam>
        </member>
        <member name="P:DynamicData.IChangeSet`1.Replaced">
            <summary>
                Gets the number of updates.
            </summary>
        </member>
        <member name="P:DynamicData.IChangeSet`1.TotalChanges">
            <summary>
            Gets the total count of items changed.
            </summary>
        </member>
        <member name="T:DynamicData.IChangeSetAdaptor`1">
            <summary>
            A simple adaptor to inject side effects into a change set observable.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
        </member>
        <member name="M:DynamicData.IChangeSetAdaptor`1.Adapt(DynamicData.IChangeSet{`0})">
            <summary>
            Adapts the specified change.
            </summary>
            <param name="change">The change.</param>
        </member>
        <member name="T:DynamicData.IExtendedList`1">
            <summary>
            Represents a list which supports range operations.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
        </member>
        <member name="M:DynamicData.IExtendedList`1.AddRange(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Adds the elements of the specified collection to the end of the collection.
            </summary>
            <param name="collection">The items to add.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="collection" /> is null.</exception>
        </member>
        <member name="M:DynamicData.IExtendedList`1.InsertRange(System.Collections.Generic.IEnumerable{`0},System.Int32)">
            <summary>
            Inserts the elements of a collection into the <see cref="T:System.Collections.Generic.List`1" /> at the specified index.
            </summary>
            <param name="collection">The items to insert.</param>
            <param name="index">The zero-based index at which the new elements should be inserted.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="collection" /> is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index" /> is less than 0.-or-<paramref name="index" /> is greater than <see cref="P:System.Collections.Generic.List`1.Count" />.</exception>
        </member>
        <member name="M:DynamicData.IExtendedList`1.Move(System.Int32,System.Int32)">
            <summary>
            Moves an item from the original to the destination index.
            </summary>
            <param name="original">The original.</param>
            <param name="destination">The destination.</param>
        </member>
        <member name="M:DynamicData.IExtendedList`1.RemoveRange(System.Int32,System.Int32)">
            <summary>
            Removes a range of elements from the <see cref="T:System.Collections.Generic.List`1"/>.
            </summary>
            <param name="index">The zero-based starting index of the range of elements to remove.</param><param name="count">The number of elements to remove.</param><exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is less than 0.-or-<paramref name="count"/> is less than 0.</exception><exception cref="T:System.ArgumentException"><paramref name="index"/> and <paramref name="count"/> do not denote a valid range of elements in the <see cref="T:System.Collections.Generic.List`1"/>.</exception>
        </member>
        <member name="T:DynamicData.IGroup`2">
            <summary>
            A grouping of observable lists.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TGroup">The type of the group.</typeparam>
        </member>
        <member name="P:DynamicData.IGroup`2.GroupKey">
            <summary>
            Gets the group key.
            </summary>
        </member>
        <member name="P:DynamicData.IGroup`2.List">
            <summary>
            Gets the observable list.
            </summary>
        </member>
        <member name="T:DynamicData.List.IGrouping`2">
            <summary>
            Represents a group which provides an update after any value within the group changes.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TGroupKey">The type of the group key.</typeparam>
        </member>
        <member name="P:DynamicData.List.IGrouping`2.Count">
            <summary>
            Gets the count.
            </summary>
        </member>
        <member name="P:DynamicData.List.IGrouping`2.Items">
            <summary>
            Gets the items.
            </summary>
        </member>
        <member name="P:DynamicData.List.IGrouping`2.Key">
            <summary>
            Gets the group key.
            </summary>
        </member>
        <member name="M:DynamicData.List.Internal.Distinct`2.ItemWithMatch.op_Equality(DynamicData.List.Internal.Distinct{`0,`1}.ItemWithMatch,DynamicData.List.Internal.Distinct{`0,`1}.ItemWithMatch)">
            <summary>Returns a value that indicates whether the values of two <see cref="T:DynamicData.List.Internal.Filter`1.ItemWithMatch" /> objects are equal.</summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns>true if the <paramref name="left" /> and <paramref name="right" /> parameters have the same value; otherwise, false.</returns>
        </member>
        <member name="M:DynamicData.List.Internal.Distinct`2.ItemWithMatch.op_Inequality(DynamicData.List.Internal.Distinct{`0,`1}.ItemWithMatch,DynamicData.List.Internal.Distinct{`0,`1}.ItemWithMatch)">
            <summary>Returns a value that indicates whether two <see cref="T:DynamicData.List.Internal.Filter`1.ItemWithMatch" /> objects have different values.</summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns>true if <paramref name="left" /> and <paramref name="right" /> are not equal; otherwise, false.</returns>
        </member>
        <member name="M:DynamicData.List.Internal.GroupOn`2.ItemWithGroupKey.op_Equality(DynamicData.List.Internal.GroupOn{`0,`1}.ItemWithGroupKey,DynamicData.List.Internal.GroupOn{`0,`1}.ItemWithGroupKey)">
            <summary>Returns a value that indicates whether the values of two <see cref="T:DynamicData.List.Internal.GroupOn`2.ItemWithGroupKey" /> objects are equal.</summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns>true if the <paramref name="left" /> and <paramref name="right" /> parameters have the same value; otherwise, false.</returns>
        </member>
        <member name="M:DynamicData.List.Internal.GroupOn`2.ItemWithGroupKey.op_Inequality(DynamicData.List.Internal.GroupOn{`0,`1}.ItemWithGroupKey,DynamicData.List.Internal.GroupOn{`0,`1}.ItemWithGroupKey)">
            <summary>Returns a value that indicates whether two <see cref="T:DynamicData.List.Internal.GroupOn`2.ItemWithGroupKey" /> objects have different values.</summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns>true if <paramref name="left" /> and <paramref name="right" /> are not equal; otherwise, false.</returns>
        </member>
        <member name="M:DynamicData.List.Internal.ReaderWriter`1.WriteNested(System.Action{DynamicData.IExtendedList{`0}})">
            <summary>
            Perform a recursive write operation.
            Changes are added to the topmost change tracker.
            Use only during an invocation of Write/WriteWithPreview.
            </summary>
            <param name="updateAction">The action to perform on the list.</param>
        </member>
        <member name="T:DynamicData.List.Internal.ReferenceCountTracker`1">
             <summary>
             Ripped and adapted from https://clinq.codeplex.com/
            
             Thanks dudes.
             </summary>
             <typeparam name="T">The type of the item.</typeparam>
        </member>
        <member name="M:DynamicData.List.Internal.ReferenceCountTracker`1.Add(`0)">
            <summary>
                Increments the reference count for the item.  Returns true when reference count goes from 0 to 1.
            </summary>
            <param name="item">The item to add.</param>
        </member>
        <member name="M:DynamicData.List.Internal.ReferenceCountTracker`1.Remove(`0)">
            <summary>
                Decrements the reference count for the item.  Returns true when reference count goes from 1 to 0.
            </summary>
            <param name="item">The item to remove.</param>
        </member>
        <member name="M:DynamicData.List.Linq.AddKeyEnumerator`2.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="T:DynamicData.List.Linq.WithoutIndexEnumerator`1">
            <summary>
            Index to remove the index. This is necessary for WhereReasonAre* operators.
            Otherwise these operators could break subsequent operators when the subsequent operator relies on the index.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
        </member>
        <member name="T:DynamicData.IObservableList`1">
            <summary>
            A readonly observable list, providing  observable methods
            as well as data access methods.
            </summary>
            <typeparam name="T">The type of item.</typeparam>
        </member>
        <member name="P:DynamicData.IObservableList`1.Count">
            <summary>
            Gets the count.
            </summary>
        </member>
        <member name="P:DynamicData.IObservableList`1.CountChanged">
            <summary>
            Gets observe the count changes, starting with the initial items count.
            </summary>
        </member>
        <member name="P:DynamicData.IObservableList`1.Items">
            <summary>
            Gets items enumerable.
            </summary>
        </member>
        <member name="M:DynamicData.IObservableList`1.Connect(System.Func{`0,System.Boolean})">
            <summary>
            Connect to the observable list and observe any changes
            starting with the list's initial items.
            </summary>
            <param name="predicate">The result will be filtered on the specified predicate.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.IObservableList`1.Preview(System.Func{`0,System.Boolean})">
            <summary>
            Connect to the observable list and observe any changes before they are applied to the list.
            Unlike Connect(), the returned observable is not prepended with the lists initial items.
            </summary>
            <param name="predicate">The result will be filtered on the specified predicate.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="T:DynamicData.IPageChangeSet`1">
            <summary>
            Represents a paged subset of data reduced by a defined set of parameters
            Changes are always published in the order.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
        </member>
        <member name="P:DynamicData.IPageChangeSet`1.Response">
            <summary>
            Gets the parameters used to virtualise the stream.
            </summary>
        </member>
        <member name="T:DynamicData.ISourceList`1">
            <summary>
            An editable observable list, providing  observable methods
            as well as data access methods.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
        </member>
        <member name="M:DynamicData.ISourceList`1.Edit(System.Action{DynamicData.IExtendedList{`0}})">
            <summary>
            Edit the inner list within the list's internal locking mechanism.
            </summary>
            <param name="updateAction">The update action.</param>
        </member>
        <member name="T:DynamicData.ItemChange`1">
            <summary>
            Container to describe a single change to a cache.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
        </member>
        <member name="F:DynamicData.ItemChange`1.Empty">
            <summary>
            An empty change.
            </summary>
        </member>
        <member name="M:DynamicData.ItemChange`1.#ctor(DynamicData.ListChangeReason,`0,DynamicData.Kernel.Optional{`0},System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.ItemChange`1" /> struct.
            </summary>
            <param name="reason">The reason.</param>
            <param name="current">The current.</param>
            <param name="previous">The previous.</param>
            <param name="currentIndex">Value of the current.</param>
            <param name="previousIndex">Value of the previous.</param>
        </member>
        <member name="M:DynamicData.ItemChange`1.#ctor(DynamicData.ListChangeReason,`0,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.ItemChange`1"/> struct.
            </summary>
            <param name="reason">The reason.</param>
            <param name="current">The current.</param>
            <param name="currentIndex">Index of the current.</param>
        </member>
        <member name="P:DynamicData.ItemChange`1.Reason">
            <summary>
            Gets the reason for the change.
            </summary>
        </member>
        <member name="P:DynamicData.ItemChange`1.Current">
            <summary>
            Gets the item which has changed.
            </summary>
        </member>
        <member name="P:DynamicData.ItemChange`1.CurrentIndex">
            <summary>
            Gets the current index.
            </summary>
        </member>
        <member name="P:DynamicData.ItemChange`1.Previous">
             <summary>
             Gets the previous change.
            
             This is only when Reason==ChangeReason.Replace.
             </summary>
        </member>
        <member name="P:DynamicData.ItemChange`1.PreviousIndex">
             <summary>
             Gets the previous index.
            
             This is only when Reason==ChangeReason.Replace or ChangeReason.Move.
             </summary>
        </member>
        <member name="M:DynamicData.ItemChange`1.op_Equality(DynamicData.ItemChange{`0},DynamicData.ItemChange{`0})">
            <summary>
             Determines whether the specified objects are equal.
            </summary>
            <param name="left">The left hand side to compare.</param>
            <param name="right">The right hand side to compare.</param>
            <returns>If the two values are equal.</returns>
        </member>
        <member name="M:DynamicData.ItemChange`1.op_Inequality(DynamicData.ItemChange{`0},DynamicData.ItemChange{`0})">
            <summary>
             Determines whether the specified objects are not equal.
            </summary>
            <param name="left">The left hand side to compare.</param>
            <param name="right">The right hand side to compare.</param>
            <returns>If the two values are not equal.</returns>
        </member>
        <member name="M:DynamicData.ItemChange`1.Equals(DynamicData.ItemChange{`0})">
            <summary>
             Determines whether the specified object, is equal to this instance.
            </summary>
            <param name="other">The other.</param>
            <returns>If the value is equal.</returns>
        </member>
        <member name="M:DynamicData.ItemChange`1.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object" />, is equal to this instance.
            </summary>
            <param name="obj">The <see cref="T:System.Object" /> to compare with this instance.</param>
            <returns>
              <c>true</c> if the specified <see cref="T:System.Object" /> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:DynamicData.ItemChange`1.GetHashCode">
            <summary>
            Returns a hash code for this instance.
            </summary>
            <returns>
            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
            </returns>
        </member>
        <member name="M:DynamicData.ItemChange`1.ToString">
            <summary>
            Returns a <see cref="T:System.String" /> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String" /> that represents this instance.
            </returns>
        </member>
        <member name="T:DynamicData.IVirtualChangeSet`1">
            <summary>
            Represents a subset of data reduced by a defined set of parameters
            Changes are always published in the order.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
        </member>
        <member name="P:DynamicData.IVirtualChangeSet`1.Response">
            <summary>
            Gets the parameters used to virtualise the stream.
            </summary>
        </member>
        <member name="T:DynamicData.ListChangeReason">
             <summary>
             The reason for an individual change to an observable list.
            
             Used to signal consumers of any changes to the underlying cache.
             </summary>
        </member>
        <member name="F:DynamicData.ListChangeReason.Add">
            <summary>
             An item has been added.
            </summary>
        </member>
        <member name="F:DynamicData.ListChangeReason.AddRange">
            <summary>
            A range of items has been added.
            </summary>
        </member>
        <member name="F:DynamicData.ListChangeReason.Replace">
            <summary>
             An item has been replaced.
            </summary>
        </member>
        <member name="F:DynamicData.ListChangeReason.Remove">
            <summary>
             An item has removed.
            </summary>
        </member>
        <member name="F:DynamicData.ListChangeReason.RemoveRange">
            <summary>
            A range of items has been removed.
            </summary>
        </member>
        <member name="F:DynamicData.ListChangeReason.Refresh">
            <summary>
              Command to operators to re-evaluate.
            </summary>
        </member>
        <member name="F:DynamicData.ListChangeReason.Moved">
            <summary>
            An item has been moved in a sorted collection.
            </summary>
        </member>
        <member name="F:DynamicData.ListChangeReason.Clear">
            <summary>
            The entire collection has been cleared.
            </summary>
        </member>
        <member name="T:DynamicData.ListEx">
            <summary>
            Extensions to help with maintenance of a list.
            </summary>
        </member>
        <member name="M:DynamicData.ListEx.Add``1(System.Collections.Generic.IList{``0},System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Adds the  items to the specified list.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="items">The items.</param>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            items.
            </exception>
        </member>
        <member name="M:DynamicData.ListEx.AddOrInsertRange``1(System.Collections.Generic.IList{``0},System.Collections.Generic.IEnumerable{``0},System.Int32)">
            <summary>
            Adds the range if a negative is specified, otherwise the range is added at the end of the list.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="items">The items.</param>
            <param name="index">The index.</param>
        </member>
        <member name="M:DynamicData.ListEx.AddRange``1(System.Collections.Generic.IList{``0},System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Adds the range to the source ist.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="items">The items.</param>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            items.
            </exception>
        </member>
        <member name="M:DynamicData.ListEx.AddRange``1(System.Collections.Generic.IList{``0},System.Collections.Generic.IEnumerable{``0},System.Int32)">
            <summary>
            Adds the range to the list. The starting range is at the specified index.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="items">The items.</param>
            <param name="index">The index.</param>
        </member>
        <member name="M:DynamicData.ListEx.BinarySearch``1(System.Collections.Generic.IList{``0},``0)">
            <summary>
            Performs a binary search on the specified collection.
            </summary>
            <typeparam name="TItem">The type of the item.</typeparam>
            <param name="list">The list to be searched.</param>
            <param name="value">The value to search for.</param>
            <returns>The index of the specified value in the specified array, if value is found; otherwise, a negative number.</returns>
        </member>
        <member name="M:DynamicData.ListEx.BinarySearch``1(System.Collections.Generic.IList{``0},``0,System.Collections.Generic.IComparer{``0})">
            <summary>
            Performs a binary search on the specified collection.
            </summary>
            <typeparam name="TItem">The type of the item.</typeparam>
            <param name="list">The list to be searched.</param>
            <param name="value">The value to search for.</param>
            <param name="comparer">The comparer that is used to compare the value with the list items.</param>
            <returns>The index of the specified value in the specified array, if value is found; otherwise, a negative number.</returns>
        </member>
        <member name="M:DynamicData.ListEx.BinarySearch``2(System.Collections.Generic.IList{``0},``1,System.Func{``1,``0,System.Int32})">
             <summary>
             Performs a binary search on the specified collection.
            
             Thanks to https://stackoverflow.com/questions/967047/how-to-perform-a-binary-search-on-ilistt.
             </summary>
             <typeparam name="TItem">The type of the item.</typeparam>
             <typeparam name="TSearch">The type of the searched item.</typeparam>
             <param name="list">The list to be searched.</param>
             <param name="value">The value to search for.</param>
             <param name="comparer">The comparer that is used to compare the value with the list items.</param>
             <returns>The index of the specified value in the specified array, if value is found; otherwise, a negative number.</returns>
        </member>
        <member name="M:DynamicData.ListEx.Clone``1(System.Collections.Generic.IList{``0},DynamicData.IChangeSet{``0})">
            <summary>
            Clones the list from the specified change set.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="changes">The changes.</param>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            changes.
            </exception>
        </member>
        <member name="M:DynamicData.ListEx.Clone``1(System.Collections.Generic.IList{``0},DynamicData.IChangeSet{``0},System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Clones the list from the specified change set.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="changes">The changes.</param>
            <param name="equalityComparer">An equality comparer to match items in the changes.</param>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            changes.
            </exception>
        </member>
        <member name="M:DynamicData.ListEx.Clone``1(System.Collections.Generic.IList{``0},System.Collections.Generic.IEnumerable{DynamicData.Change{``0}},System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Clones the list from the specified enumerable of changes.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="changes">The changes.</param>
            <param name="equalityComparer">An equality comparer to match items in the changes.</param>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            changes.
            </exception>
        </member>
        <member name="M:DynamicData.ListEx.IndexOf``1(System.Collections.Generic.IEnumerable{``0},``0)">
            <summary>
            Finds the index of the current item using the specified equality comparer.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source enumerable.</param>
            <param name="item">The item to get the index of.</param>
            <returns>The index.</returns>
        </member>
        <member name="M:DynamicData.ListEx.IndexOf``1(System.Collections.Generic.IEnumerable{``0},``0,System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Finds the index of the current item using the specified equality comparer.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source enumerable.</param>
            <param name="item">The item to get the index of.</param>
            <param name="equalityComparer">Use to determine object equality.</param>
            <returns>The index.</returns>
        </member>
        <member name="M:DynamicData.ListEx.IndexOfOptional``1(System.Collections.Generic.IEnumerable{``0},``0,System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Lookups the item using the specified comparer. If matched, the item's index is also returned.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="item">The item.</param>
            <param name="equalityComparer">The equality comparer.</param>
            <returns>The index of the item if available.</returns>
        </member>
        <member name="M:DynamicData.ListEx.Remove``1(System.Collections.Generic.IList{``0},System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Removes the  items from the specified list.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="items">The items.</param>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            items.
            </exception>
        </member>
        <member name="M:DynamicData.ListEx.RemoveMany``1(System.Collections.Generic.IList{``0},System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Removes many items from the collection in an optimal way.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="itemsToRemove">The items to remove.</param>
        </member>
        <member name="M:DynamicData.ListEx.Replace``1(System.Collections.Generic.IList{``0},``0,``0)">
            <summary>
            Replaces the specified item.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="original">The original.</param>
            <param name="replaceWith">The value to replace with.</param>
            <exception cref="T:System.ArgumentNullException">source
            or
            items.</exception>
        </member>
        <member name="M:DynamicData.ListEx.Replace``1(System.Collections.Generic.IList{``0},``0,``0,System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Replaces the specified item.
            </summary>
            <typeparam name="T">The type of item.</typeparam>
            <param name="source">The source.</param>
            <param name="original">The item which is to be replaced. If not in the list and argument exception will be thrown.</param>
            <param name="replaceWith">The new item.</param>
            <param name="comparer">The equality comparer to be used to find the original item in the list.</param>
            <exception cref="T:System.ArgumentNullException">source
            or
            items.</exception>
        </member>
        <member name="M:DynamicData.ListEx.ReplaceOrAdd``1(System.Collections.Generic.IList{``0},``0,``0)">
            <summary>
            Replaces the item if found, otherwise the item is added to the list.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="original">The original.</param>
            <param name="replaceWith">The value to replace with.</param>
        </member>
        <member name="M:DynamicData.ListEx.ClearOrRemoveMany``1(System.Collections.Generic.IList{``0},DynamicData.Change{``0})">
             <summary>
             Clears the collection if the number of items in the range is the same as the source collection. Otherwise a  remove many operation is applied.
            
             NB: This is because an observable change set may be a composite of multiple change sets in which case if one of them has clear operation applied it should not clear the entire result.
             </summary>
             <typeparam name="T">The type of the item.</typeparam>
             <param name="source">The source.</param>
             <param name="change">The change.</param>
        </member>
        <member name="M:DynamicData.ListEx.RemoveRange``1(System.Collections.Generic.IList{``0},System.Int32,System.Int32)">
            <summary>
            Removes the number of items, starting at the specified index.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="index">The index.</param>
            <param name="count">The count.</param>
            <exception cref="T:System.NotSupportedException">Cannot remove range.</exception>
        </member>
        <member name="T:DynamicData.ListFilterPolicy">
            <summary>
            Specifies which filter strategy should be used when the filter predicate is changed.
            </summary>
        </member>
        <member name="F:DynamicData.ListFilterPolicy.ClearAndReplace">
             <summary>
             Clear all items and replace with matches - optimised for large data sets.
            
             This option preserves order.
             </summary>
        </member>
        <member name="F:DynamicData.ListFilterPolicy.CalculateDiff">
             <summary>
             Calculate diff set - optimised for general filtering.
            
             This option does not preserve order.
             </summary>
        </member>
        <member name="T:DynamicData.ObservableListEx">
            <summary>
            Extensions for ObservableList.
            </summary>
        </member>
        <member name="M:DynamicData.ObservableListEx.Adapt``1(System.IObservable{DynamicData.IChangeSet{``0}},DynamicData.IChangeSetAdaptor{``0})">
            <summary>
            Injects a side effect into a change set observable.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="adaptor">The adaptor.</param>
            <returns>An observable which emits the change set.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            adaptor.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.AddKey``2(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,``1})">
            <summary>
            Adds a key to the change set result which enables all observable cache features of dynamic data.
            </summary>
            <remarks>
            All indexed changes are dropped i.e. sorting is not supported by this function.
            </remarks>
            <typeparam name="TObject">The type of  object.</typeparam>
            <typeparam name="TKey">The type of  key.</typeparam>
            <param name="source">The source.</param>
            <param name="keySelector">The key selector.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.And``1(System.IObservable{DynamicData.IChangeSet{``0}},System.IObservable{DynamicData.IChangeSet{``0}}[])">
            <summary>
            Apply a logical And operator between the collections.
            Items which are in all of the sources are included in the result.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="others">The others.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.And``1(System.Collections.Generic.ICollection{System.IObservable{DynamicData.IChangeSet{``0}}})">
            <summary>
            Apply a logical And operator between the collections.
            Items which are in all of the sources are included in the result.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="sources">The sources.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.And``1(DynamicData.IObservableList{System.IObservable{DynamicData.IChangeSet{``0}}})">
            <summary>
            Dynamically apply a logical And operator between the items in the outer observable list.
            Items which are in any of the sources are included in the result.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="sources">The source.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.And``1(DynamicData.IObservableList{DynamicData.IObservableList{``0}})">
            <summary>
            Dynamically apply a logical And operator between the items in the outer observable list.
            Items which are in any of the sources are included in the result.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="sources">The source.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.And``1(DynamicData.IObservableList{DynamicData.ISourceList{``0}})">
            <summary>
            Dynamically apply a logical And operator between the items in the outer observable list.
            Items which are in any of the sources are included in the result.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="sources">The source.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.AsObservableList``1(DynamicData.ISourceList{``0})">
            <summary>
            Converts the source list to an read only observable list.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable list.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.AsObservableList``1(System.IObservable{DynamicData.IChangeSet{``0}})">
            <summary>
            Converts the source observable to an read only observable list.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable list.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.AutoRefresh``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Nullable{System.TimeSpan},System.Nullable{System.TimeSpan},System.Reactive.Concurrency.IScheduler)">
            <summary>
            Automatically refresh downstream operators when any property changes.
            </summary>
            <typeparam name="TObject">The type of object.</typeparam>
            <param name="source">The source observable.</param>
            <param name="changeSetBuffer">Batch up changes by specifying the buffer. This greatly increases performance when many elements have successive property changes.</param>
            <param name="propertyChangeThrottle">When observing on multiple property changes, apply a throttle to prevent excessive refresh invocations.</param>
            <param name="scheduler">The scheduler.</param>
            <returns>An observable change set with additional refresh changes.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.AutoRefresh``2(System.IObservable{DynamicData.IChangeSet{``0}},System.Linq.Expressions.Expression{System.Func{``0,``1}},System.Nullable{System.TimeSpan},System.Nullable{System.TimeSpan},System.Reactive.Concurrency.IScheduler)">
            <summary>
            Automatically refresh downstream operators when properties change.
            </summary>
            <typeparam name="TObject">The type of object.</typeparam>
            <typeparam name="TProperty">The type of property.</typeparam>
            <param name="source">The source observable.</param>
            <param name="propertyAccessor">Specify a property to observe changes. When it changes a Refresh is invoked.</param>
            <param name="changeSetBuffer">Batch up changes by specifying the buffer. This greatly increases performance when many elements have successive property changes.</param>
            <param name="propertyChangeThrottle">When observing on multiple property changes, apply a throttle to prevent excessive refresh invocations.</param>
            <param name="scheduler">The scheduler.</param>
            <returns>An observable change set with additional refresh changes.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.AutoRefreshOnObservable``2(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,System.IObservable{``1}},System.Nullable{System.TimeSpan},System.Reactive.Concurrency.IScheduler)">
            <summary>
            Automatically refresh downstream operator. The refresh is triggered when the observable receives a notification.
            </summary>
            <typeparam name="TObject">The type of object.</typeparam>
            <typeparam name="TAny">A ignored type used for specifying what to auto refresh on.</typeparam>
            <param name="source">The source observable change set.</param>
            <param name="reevaluator">An observable which acts on items within the collection and produces a value when the item should be refreshed.</param>
            <param name="changeSetBuffer">Batch up changes by specifying the buffer. This greatly increases performance when many elements require a refresh.</param>
            <param name="scheduler">The scheduler.</param>
            <returns>An observable change set with additional refresh changes.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.Bind``1(System.IObservable{DynamicData.IChangeSet{``0}},DynamicData.Binding.IObservableCollection{``0},System.Int32)">
            <summary>
            Binds a clone of the observable change set to the target observable collection.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="targetCollection">The target collection.</param>
            <param name="resetThreshold">The reset threshold.</param>
            <returns>An observable which emits the change set.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            targetCollection.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.Bind``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Collections.ObjectModel.ReadOnlyObservableCollection{``0}@,System.Int32)">
            <summary>
            Creates a binding to a readonly observable collection which is specified as an 'out' parameter.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="readOnlyObservableCollection">The resulting read only observable collection.</param>
            <param name="resetThreshold">The reset threshold.</param>
            <returns>A continuation of the source stream.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.Bind``1(System.IObservable{DynamicData.IChangeSet{``0}},System.ComponentModel.BindingList{``0},System.Int32)">
            <summary>
            Binds a clone of the observable change set to the target observable collection.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="bindingList">The target binding list.</param>
            <param name="resetThreshold">The reset threshold.</param>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            targetCollection.
            </exception>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.BufferIf``1(System.IObservable{DynamicData.IChangeSet{``0}},System.IObservable{System.Boolean},System.Reactive.Concurrency.IScheduler)">
            <summary>
            Batches the underlying updates if a pause signal (i.e when the buffer selector return true) has been received.
            When a resume signal has been received the batched updates will  be fired.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <param name="pauseIfTrueSelector">When true, observable begins to buffer and when false, window closes and buffered result if notified.</param>
            <param name="scheduler">The scheduler.</param>
            <returns>An observable which emits the change set.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.BufferIf``1(System.IObservable{DynamicData.IChangeSet{``0}},System.IObservable{System.Boolean},System.Boolean,System.Reactive.Concurrency.IScheduler)">
            <summary>
            Batches the underlying updates if a pause signal (i.e when the buffer selector return true) has been received.
            When a resume signal has been received the batched updates will  be fired.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <param name="pauseIfTrueSelector">When true, observable begins to buffer and when false, window closes and buffered result if notified.</param>
            <param name="initialPauseState">if set to <c>true</c> [initial pause state].</param>
            <param name="scheduler">The scheduler.</param>
            <returns>An observable which emits the change set.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.BufferIf``1(System.IObservable{DynamicData.IChangeSet{``0}},System.IObservable{System.Boolean},System.Nullable{System.TimeSpan},System.Reactive.Concurrency.IScheduler)">
            <summary>
            Batches the underlying updates if a pause signal (i.e when the buffer selector return true) has been received.
            When a resume signal has been received the batched updates will  be fired.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <param name="pauseIfTrueSelector">When true, observable begins to buffer and when false, window closes and buffered result if notified.</param>
            <param name="timeOut">Specify a time to ensure the buffer window does not stay open for too long.</param>
            <param name="scheduler">The scheduler.</param>
            <returns>An observable which emits the change set.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.BufferIf``1(System.IObservable{DynamicData.IChangeSet{``0}},System.IObservable{System.Boolean},System.Boolean,System.Nullable{System.TimeSpan},System.Reactive.Concurrency.IScheduler)">
            <summary>
            Batches the underlying updates if a pause signal (i.e when the buffer selector return true) has been received.
            When a resume signal has been received the batched updates will  be fired.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <param name="pauseIfTrueSelector">When true, observable begins to buffer and when false, window closes and buffered result if notified.</param>
            <param name="initialPauseState">if set to <c>true</c> [initial pause state].</param>
            <param name="timeOut">Specify a time to ensure the buffer window does not stay open for too long.</param>
            <param name="scheduler">The scheduler.</param>
            <returns>An observable which emits the change set.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.BufferInitial``1(System.IObservable{DynamicData.IChangeSet{``0}},System.TimeSpan,System.Reactive.Concurrency.IScheduler)">
            <summary>
            Buffers changes for an initial period only. After the period has elapsed, not further buffering occurs.
            </summary>
            <typeparam name="TObject">The type of object.</typeparam>
            <param name="source">The source change set.</param>
            <param name="initialBuffer">The period to buffer, measure from the time that the first item arrives.</param>
            <param name="scheduler">The scheduler to buffer on.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.Cast``1(System.IObservable{DynamicData.IChangeSet{System.Object}})">
            <summary>
            Cast the changes to another form.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.Cast``2(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,``1})">
             <summary>
             Cast the changes to another form
            
             Alas, I had to add the converter due to type inference issues. The converter can be avoided by CastToObject() first.
             </summary>
             <typeparam name="TSource">The type of the object.</typeparam>
             <typeparam name="TDestination">The type of the destination.</typeparam>
             <param name="source">The source.</param>
             <param name="conversionFactory">The conversion factory.</param>
             <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.CastToObject``1(System.IObservable{DynamicData.IChangeSet{``0}})">
            <summary>
            Cast the underlying type of an object. Use before a Cast function.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.Clone``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Collections.Generic.IList{``0})">
            <summary>
            Clones the target list as a side effect of the stream.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="target">The target of the clone.</param>
            <returns>An observable which emits the change set.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.Convert``2(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,``1})">
             <summary>
             Convert the object using the specified conversion function.
            
             This is a lighter equivalent of Transform and is designed to be used with non-disposable objects.
             </summary>
             <typeparam name="TObject">The type of the object.</typeparam>
             <typeparam name="TDestination">The type of the destination.</typeparam>
             <param name="source">The source.</param>
             <param name="conversionFactory">The conversion factory.</param>
             <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.DeferUntilLoaded``1(System.IObservable{DynamicData.IChangeSet{``0}})">
            <summary>
            Defer the subscription until the stream has been inflated with data.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.DeferUntilLoaded``1(DynamicData.IObservableList{``0})">
            <summary>
            Defer the subscription until the cache has been inflated with data.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.DisposeMany``1(System.IObservable{DynamicData.IChangeSet{``0}})">
             <summary>
             Disposes each item when no longer required.
            
             Individual items are disposed when removed or replaced. All items
             are disposed when the stream is disposed.
             </summary>
             <typeparam name="T">The type of the object.</typeparam>
             <param name="source">The source.</param>
             <returns>A continuation of the original stream.</returns>
             <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.DistinctValues``2(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,``1})">
            <summary>
            Selects distinct values from the source, using the specified value selector.
            </summary>
            <typeparam name="TObject">The type of the source.</typeparam>
            <typeparam name="TValue">The type of the destination.</typeparam>
            <param name="source">The source.</param>
            <param name="valueSelector">The transform factory.</param>
            <returns>An observable which emits the change set.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            valueSelector.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.Except``1(System.IObservable{DynamicData.IChangeSet{``0}},System.IObservable{DynamicData.IChangeSet{``0}}[])">
            <summary>
            Apply a logical Except operator between the collections.
            Items which are in the source and not in the others are included in the result.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="others">The others.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.Except``1(System.Collections.Generic.ICollection{System.IObservable{DynamicData.IChangeSet{``0}}})">
            <summary>
            Apply a logical Except operator between the collections.
            Items which are in the source and not in the others are included in the result.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="sources">The sources.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.Except``1(DynamicData.IObservableList{System.IObservable{DynamicData.IChangeSet{``0}}})">
            <summary>
            Dynamically apply a logical Except operator. Items from the first observable list are included when an equivalent item does not exist in the other sources.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="sources">The source.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.Except``1(DynamicData.IObservableList{DynamicData.IObservableList{``0}})">
            <summary>
            Dynamically apply a logical Except operator. Items from the first observable list are included when an equivalent item does not exist in the other sources.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="sources">The source.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.Except``1(DynamicData.IObservableList{DynamicData.ISourceList{``0}})">
            <summary>
            Dynamically apply a logical Except operator. Items from the first observable list are included when an equivalent item does not exist in the other sources.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="sources">The source.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.ExpireAfter``1(DynamicData.ISourceList{``0},System.Func{``0,System.Nullable{System.TimeSpan}},System.Reactive.Concurrency.IScheduler)">
            <summary>
            Removes items from the cache according to the value specified by the time selector function.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="timeSelector">Selector returning when to expire the item. Return null for non-expiring item.</param>
            <param name="scheduler">The scheduler.</param>
            <returns>An observable which emits the enumerable of items.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.ExpireAfter``1(DynamicData.ISourceList{``0},System.Func{``0,System.Nullable{System.TimeSpan}},System.Nullable{System.TimeSpan},System.Reactive.Concurrency.IScheduler)">
            <summary>
            Removes items from the cache according to the value specified by the time selector function.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="timeSelector">Selector returning when to expire the item. Return null for non-expiring item.</param>
            <param name="pollingInterval">Enter the polling interval to optimise expiry timers, if omitted 1 timer is created for each unique expiry time.</param>
            <param name="scheduler">The scheduler.</param>
            <returns>An observable which emits the enumerable of items.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.Filter``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,System.Boolean})">
            <summary>
            Filters the source using the specified valueSelector.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="predicate">The valueSelector.</param>
            <returns>An observable which emits the change set.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.Filter``1(System.IObservable{DynamicData.IChangeSet{``0}},System.IObservable{System.Func{``0,System.Boolean}},DynamicData.ListFilterPolicy)">
            <summary>
            Filters source using the specified filter observable predicate.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="predicate">The predicate which indicates which items should be included.</param>
            <param name="filterPolicy">Should the filter clear and replace, or calculate a diff-set.</param>
            <returns>An observable which emits the change set.</returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            filterController.</exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.FilterOnObservable``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,System.IObservable{System.Boolean}},System.Nullable{System.TimeSpan},System.Reactive.Concurrency.IScheduler)">
             <summary>
             Filters source on the specified observable property using the specified predicate.
            
             The filter will automatically reapply when a property changes.
             </summary>
             <typeparam name="TObject">The type of the object.</typeparam>
             <param name="source">The source.</param>
             <param name="objectFilterObservable">The filter property selector. When the observable changes the filter will be re-evaluated.</param>
             <param name="propertyChangedThrottle">The property changed throttle.</param>
             <param name="scheduler">The scheduler used when throttling.</param>
             <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.FilterOnProperty``2(System.IObservable{DynamicData.IChangeSet{``0}},System.Linq.Expressions.Expression{System.Func{``0,``1}},System.Func{``0,System.Boolean},System.Nullable{System.TimeSpan},System.Reactive.Concurrency.IScheduler)">
             <summary>
             Filters source on the specified property using the specified predicate.
            
             The filter will automatically reapply when a property changes.
             </summary>
             <typeparam name="TObject">The type of the object.</typeparam>
             <typeparam name="TProperty">The type of the property.</typeparam>
             <param name="source">The source.</param>
             <param name="propertySelector">The property selector. When the property changes the filter specified will be re-evaluated.</param>
             <param name="predicate">A predicate based on the object which contains the changed property.</param>
             <param name="propertyChangedThrottle">The property changed throttle.</param>
             <param name="scheduler">The scheduler used when throttling.</param>
             <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.FlattenBufferResult``1(System.IObservable{System.Collections.Generic.IList{DynamicData.IChangeSet{``0}}})">
            <summary>
            Convert the result of a buffer operation to a change set.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.ForEachChange``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Action{DynamicData.Change{``0}})">
            <summary>
            Provides a call back for each item change.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <param name="action">The action.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.ForEachItemChange``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Action{DynamicData.ItemChange{``0}})">
             <summary>
             Provides a call back for each item change.
            
             Range changes are flattened, so there is only need to check for Add, Replace, Remove and Clear.
             </summary>
             <typeparam name="TObject">The type of the object.</typeparam>
             <param name="source">The source.</param>
             <param name="action">The action.</param>
             <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.GroupOn``2(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,``1},System.IObservable{System.Reactive.Unit})">
            <summary>
             Groups the source on the value returned by group selector factory.  The groupings contains an inner observable list.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TGroup">The type of the group.</typeparam>
            <param name="source">The source.</param>
            <param name="groupSelector">The group selector.</param>
            <param name="regrouper">Force the grouping function to recalculate the group value.
            For example if you have a time based grouping with values like `Last Minute', 'Last Hour', 'Today' etc regrouper is used to refresh these groupings.</param>
            <returns>An observable which emits the change set.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            groupSelector.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.GroupOnProperty``2(System.IObservable{DynamicData.IChangeSet{``0}},System.Linq.Expressions.Expression{System.Func{``0,``1}},System.Nullable{System.TimeSpan},System.Reactive.Concurrency.IScheduler)">
            <summary>
            Groups the source using the property specified by the property selector.  The resulting groupings contains an inner observable list.
            Groups are re-applied when the property value changed.
            When there are likely to be a large number of group property changes specify a throttle to improve performance.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TGroup">The type of the group.</typeparam>
            <param name="source">The source.</param>
            <param name="propertySelector">The property selector used to group the items.</param>
            <param name="propertyChangedThrottle">The property changed throttle.</param>
            <param name="scheduler">The scheduler.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.GroupOnPropertyWithImmutableState``2(System.IObservable{DynamicData.IChangeSet{``0}},System.Linq.Expressions.Expression{System.Func{``0,``1}},System.Nullable{System.TimeSpan},System.Reactive.Concurrency.IScheduler)">
            <summary>
            Groups the source using the property specified by the property selector.  The resulting groupings are immutable.
            Groups are re-applied when the property value changed.
            When there are likely to be a large number of group property changes specify a throttle to improve performance.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TGroup">The type of the group.</typeparam>
            <param name="source">The source.</param>
            <param name="propertySelector">The property selector used to group the items.</param>
            <param name="propertyChangedThrottle">The property changed throttle.</param>
            <param name="scheduler">The scheduler.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.GroupWithImmutableState``2(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,``1},System.IObservable{System.Reactive.Unit})">
            <summary>
             Groups the source on the value returned by group selector factory. Each update produces immutable grouping.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TGroupKey">The type of the group key.</typeparam>
            <param name="source">The source.</param>
            <param name="groupSelectorKey">The group selector key.</param>
            <param name="regrouper">Force the grouping function to recalculate the group value.
            For example if you have a time based grouping with values like `Last Minute', 'Last Hour', 'Today' etc regrouper is used to refresh these groupings.</param>
            <returns>An observable which emits the change set.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            groupSelectorKey.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.LimitSizeTo``1(DynamicData.ISourceList{``0},System.Int32,System.Reactive.Concurrency.IScheduler)">
            <summary>
            Limits the size of the source cache to the specified limit.
            Notifies which items have been removed from the source list.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="sizeLimit">The size limit.</param>
            <param name="scheduler">The scheduler.</param>
            <returns>An observable which emits a enumerable of items.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
            <exception cref="T:System.ArgumentException">sizeLimit cannot be zero.</exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.MergeMany``2(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,System.IObservable{``1}})">
            <summary>
            Dynamically merges the observable which is selected from each item in the stream, and un-merges the item
            when it is no longer part of the stream.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <param name="source">The source.</param>
            <param name="observableSelector">The observable selector.</param>
            <returns>An observable which emits the destination value.</returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            observableSelector.</exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.NotEmpty``1(System.IObservable{DynamicData.IChangeSet{``0}})">
            <summary>
            Prevents an empty notification.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable which emits the change set.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.OnItemAdded``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Action{``0})">
            <summary>
            Callback for each item as and when it is being added to the stream.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="addAction">The add action.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.OnItemRefreshed``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Action{``0})">
            <summary>
            Callback for each item as and when it is being refreshed in the stream.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <param name="refreshAction">The refresh action.</param>
            <returns>An observable which emits a change set with items being added.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.OnItemRemoved``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Action{``0},System.Boolean)">
            <summary>
            Callback for each item as and when it is being removed from the stream.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <param name="removeAction">The remove action.</param>
            <param name="invokeOnUnsubscribe"> Should the remove action be invoked when the subscription is disposed.</param>
            <returns>An observable which emits the change set.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            removeAction.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.Or``1(System.Collections.Generic.ICollection{System.IObservable{DynamicData.IChangeSet{``0}}})">
            <summary>
            Apply a logical Or operator between the collections.
            Items which are in any of the sources are included in the result.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="sources">The source.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.Or``1(System.IObservable{DynamicData.IChangeSet{``0}},System.IObservable{DynamicData.IChangeSet{``0}}[])">
            <summary>
            Apply a logical Or operator between the collections.
            Items which are in any of the sources are included in the result.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="others">The others.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.Or``1(DynamicData.IObservableList{System.IObservable{DynamicData.IChangeSet{``0}}})">
            <summary>
            Dynamically apply a logical Or operator between the items in the outer observable list.
            Items which are in any of the sources are included in the result.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="sources">The source.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.Or``1(DynamicData.IObservableList{DynamicData.IObservableList{``0}})">
            <summary>
            Dynamically apply a logical Or operator between the items in the outer observable list.
            Items which are in any of the sources are included in the result.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="sources">The source.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.Or``1(DynamicData.IObservableList{DynamicData.ISourceList{``0}})">
            <summary>
            Dynamically apply a logical Or operator between the items in the outer observable list.
            Items which are in any of the sources are included in the result.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="sources">The source.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.Page``1(System.IObservable{DynamicData.IChangeSet{``0}},System.IObservable{DynamicData.IPageRequest})">
            <summary>
            Applies paging to the data source.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="requests">Observable to control page requests.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.PopulateInto``1(System.IObservable{DynamicData.IChangeSet{``0}},DynamicData.ISourceList{``0})">
            <summary>
            list.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <param name="destination">The destination.</param>
            <returns>An observable which emits the change set.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            destination.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.QueryWhenChanged``2(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{System.Collections.Generic.IReadOnlyCollection{``0},``1})">
            <summary>
             The latest copy of the cache is exposed for querying after each modification to the underlying data.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <param name="source">The source.</param>
            <param name="resultSelector">The result selector.</param>
            <returns>An observable which emits the destination value.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            resultSelector.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.QueryWhenChanged``1(System.IObservable{DynamicData.IChangeSet{``0}})">
            <summary>
            The latest copy of the cache is exposed for querying i)  after each modification to the underlying data ii) upon subscription.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable which emits the read only collection.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.RefCount``1(System.IObservable{DynamicData.IChangeSet{``0}})">
            <summary>
            List equivalent to Publish().RefCount().  The source is cached so long as there is at least 1 subscriber.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.RemoveIndex``1(System.IObservable{DynamicData.IChangeSet{``0}})">
             <summary>
             Removes the index from all changes.
            
             NB: This operator has been introduced as a temporary fix for creating an Or operator using merge many.
             </summary>
             <typeparam name="T">The type of the object.</typeparam>
             <param name="source">The source.</param>
             <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.Reverse``1(System.IObservable{DynamicData.IChangeSet{``0}})">
            <summary>
            Reverse sort of the change set.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable which emits the change set.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            comparer.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.SkipInitial``1(System.IObservable{DynamicData.IChangeSet{``0}})">
            <summary>
            Defer the subscription until loaded and skip initial change set.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable which emits the change set.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.Sort``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Collections.Generic.IComparer{``0},DynamicData.SortOptions,System.IObservable{System.Reactive.Unit},System.IObservable{System.Collections.Generic.IComparer{``0}},System.Int32)">
            <summary>
            Sorts the sequence using the specified comparer.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="comparer">The comparer used for sorting.</param>
            <param name="options">For improved performance, specify SortOptions.UseBinarySearch. This can only be used when the values which are sorted on are immutable.</param>
            <param name="resort">OnNext of this observable causes data to resort. This is required when the value which is sorted on mutable.</param>
            <param name="comparerChanged">An observable comparer used to change the comparer on which the sorted list i.</param>
            <param name="resetThreshold">Since sorting can be slow for large record sets, the reset threshold is used to force the list re-ordered. </param>
            <returns>An observable which emits the change set.</returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            comparer.</exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.Sort``1(System.IObservable{DynamicData.IChangeSet{``0}},System.IObservable{System.Collections.Generic.IComparer{``0}},DynamicData.SortOptions,System.IObservable{System.Reactive.Unit},System.Int32)">
            <summary>
            Sorts the sequence using the specified observable comparer.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="comparerChanged">An observable comparer used to change the comparer on which the sorted list i.</param>
            <param name="options">For improved performance, specify SortOptions.UseBinarySearch. This can only be used when the values which are sorted on are immutable.</param>
            <param name="resort">OnNext of this observable causes data to resort. This is required when the value which is sorted on mutable.</param>
            <param name="resetThreshold">Since sorting can be slow for large record sets, the reset threshold is used to force the list re-ordered. </param>
            <returns>An observable which emits the change set.</returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            comparer.</exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.StartWithEmpty``1(System.IObservable{DynamicData.IChangeSet{``0}})">
            <summary>
            Prepends an empty change set to the source.
            </summary>
            <typeparam name="T">The type of item.</typeparam>
            <param name="source">The source observable of change set values.</param>
            <returns>An observable which emits a change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.SubscribeMany``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,System.IDisposable})">
            <summary>
            Subscribes to each item when it is added to the stream and unsubscribes when it is removed.  All items will be unsubscribed when the stream is disposed.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <param name="subscriptionFactory">The subscription function.</param>
            <returns>An observable which emits the change set.</returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            subscriptionFactory.</exception>
            <remarks>
            Subscribes to each item when it is added or updates and unsubscribes when it is removed.
            </remarks>
        </member>
        <member name="M:DynamicData.ObservableListEx.SuppressRefresh``1(System.IObservable{DynamicData.IChangeSet{``0}})">
            <summary>
            Suppress  refresh notifications.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="source">The source observable change set.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.Switch``1(System.IObservable{DynamicData.IObservableList{``0}})">
            <summary>
            Transforms an observable sequence of observable lists into a single sequence
            producing values only from the most recent observable sequence.
            Each time a new inner observable sequence is received, unsubscribe from the
            previous inner observable sequence and clear the existing result set.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="sources">The source.</param>
            <returns>
            The observable sequence that at any point in time produces the elements of the most recent inner observable sequence that has been received.
            </returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="sources" /> is null.</exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.Switch``1(System.IObservable{System.IObservable{DynamicData.IChangeSet{``0}}})">
            <summary>
            Transforms an observable sequence of observable changes sets into an observable sequence
            producing values only from the most recent observable sequence.
            Each time a new inner observable sequence is received, unsubscribe from the
            previous inner observable sequence and clear the existing result set.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="sources">The source.</param>
            <returns>
            The observable sequence that at any point in time produces the elements of the most recent inner observable sequence that has been received.
            </returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="sources" /> is null.</exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.ToCollection``1(System.IObservable{DynamicData.IChangeSet{``0}})">
            <summary>
            Converts the change set into a fully formed collection. Each change in the source results in a new collection.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <returns>An observable which emits the read only collection.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.ToObservableChangeSet``1(System.IObservable{``0},System.Reactive.Concurrency.IScheduler)">
            <summary>
            Converts the observable to an observable change set.
            Change set observes observable change events.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <param name="scheduler">The scheduler (only used for time expiry).</param>
            <returns>An observable which emits a change set.</returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            keySelector.</exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.ToObservableChangeSet``1(System.IObservable{``0},System.Func{``0,System.Nullable{System.TimeSpan}},System.Reactive.Concurrency.IScheduler)">
            <summary>
            Converts the observable to an observable change set, allowing time expiry to be specified.
            Change set observes observable change events.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <param name="expireAfter">Specify on a per object level the maximum time before an object expires from a cache.</param>
            <param name="scheduler">The scheduler (only used for time expiry).</param>
            <returns>An observable which emits a change set.</returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            keySelector.</exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.ToObservableChangeSet``1(System.IObservable{``0},System.Int32,System.Reactive.Concurrency.IScheduler)">
            <summary>
            Converts the observable to an observable change set, with a specified limit of how large the list can be.
            Change set observes observable change events.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <param name="limitSizeTo">Remove the oldest items when the size has reached this limit.</param>
            <param name="scheduler">The scheduler (only used for time expiry).</param>
            <returns>An observable which emits a change set.</returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            keySelector.</exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.ToObservableChangeSet``1(System.IObservable{``0},System.Func{``0,System.Nullable{System.TimeSpan}},System.Int32,System.Reactive.Concurrency.IScheduler)">
            <summary>
            Converts the observable to an observable change set, allowing size and time limit to be specified.
            Change set observes observable change events.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <param name="expireAfter">Specify on a per object level the maximum time before an object expires from a cache.</param>
            <param name="limitSizeTo">Remove the oldest items when the size has reached this limit.</param>
            <param name="scheduler">The scheduler (only used for time expiry).</param>
            <returns>An observable which emits a change set.</returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            keySelector.</exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.ToObservableChangeSet``1(System.IObservable{System.Collections.Generic.IEnumerable{``0}},System.Reactive.Concurrency.IScheduler)">
            <summary>
            Converts the observable to an observable change set.
            Change set observes observable change events.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <param name="scheduler">The scheduler (only used for time expiry).</param>
            <returns>An observable which emits a change set.</returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            keySelector.</exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.ToObservableChangeSet``1(System.IObservable{System.Collections.Generic.IEnumerable{``0}},System.Int32,System.Reactive.Concurrency.IScheduler)">
            <summary>
            Converts the observable to an observable change set, allowing size and time limit to be specified.
            Change set observes observable change events.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <param name="limitSizeTo">Remove the oldest items when the size has reached this limit.</param>
            <param name="scheduler">The scheduler (only used for time expiry).</param>
            <returns>An observable which emits a change set.</returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            keySelector.</exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.ToObservableChangeSet``1(System.IObservable{System.Collections.Generic.IEnumerable{``0}},System.Func{``0,System.Nullable{System.TimeSpan}},System.Reactive.Concurrency.IScheduler)">
            <summary>
            Converts the observable to an observable change set, allowing size to be specified.
            Change set observes observable change events.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <param name="expireAfter">Specify on a per object level the maximum time before an object expires from a cache.</param>
            <param name="scheduler">The scheduler (only used for time expiry).</param>
            <returns>An observable which emits a change set.</returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            keySelector.</exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.ToObservableChangeSet``1(System.IObservable{System.Collections.Generic.IEnumerable{``0}},System.Func{``0,System.Nullable{System.TimeSpan}},System.Int32,System.Reactive.Concurrency.IScheduler)">
            <summary>
            Converts the observable to an observable change set, allowing size and time limit to be specified.
            Change set observes observable change events.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <param name="expireAfter">Specify on a per object level the maximum time before an object expires from a cache.</param>
            <param name="limitSizeTo">Remove the oldest items when the size has reached this limit.</param>
            <param name="scheduler">The scheduler (only used for time expiry).</param>
            <returns>An observable which emits a change set.</returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            keySelector.</exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.Top``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Int32)">
            <summary>
            Limits the size of the result set to the specified number of items.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="numberOfItems">The number of items.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.ToSortedCollection``2(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,``1},DynamicData.Binding.SortDirection)">
            <summary>
            Converts the change set into a fully formed sorted collection. Each change in the source results in a new sorted collection.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TSortKey">The sort key.</typeparam>
            <param name="source">The source.</param>
            <param name="sort">The sort function.</param>
            <param name="sortOrder">The sort order. Defaults to ascending.</param>
            <returns>An observable which emits the read only collection.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.ToSortedCollection``1(System.IObservable{DynamicData.IChangeSet{``0}},System.Collections.Generic.IComparer{``0})">
            <summary>
            Converts the change set into a fully formed sorted collection. Each change in the source results in a new sorted collection.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <param name="comparer">The sort comparer.</param>
            <returns>An observable which emits the read only collection.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.Transform``2(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,``1},System.Boolean)">
            <summary>
            Projects each update item to a new form using the specified transform function.
            </summary>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="transformOnRefresh">Should a new transform be applied when a refresh event is received.</param>
            <returns>An observable which emits the change set.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            valueSelector.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.Transform``2(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,System.Int32,``1},System.Boolean)">
            <summary>
            Projects each update item to a new form using the specified transform function.
            </summary>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform function.</param>
            <param name="transformOnRefresh">Should a new transform be applied when a refresh event is received.</param>
            <returns>A an observable change set of the transformed object.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            valueSelector.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.Transform``2(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,DynamicData.Kernel.Optional{``1},``1},System.Boolean)">
             <summary>
             Projects each update item to a new form using the specified transform function.
            
             *** Annoyingly when using this overload you will have to explicitly specify the generic type arguments as type inference fails.
             </summary>
             <typeparam name="TSource">The type of the source.</typeparam>
             <typeparam name="TDestination">The type of the destination.</typeparam>
             <param name="source">The source.</param>
             <param name="transformFactory">The transform function.</param>
             <param name="transformOnRefresh">Should a new transform be applied when a refresh event is received.</param>
             <returns>A an observable change set of the transformed object.</returns>
             <exception cref="T:System.ArgumentNullException">
             source
             or
             valueSelector.
             </exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.Transform``2(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,DynamicData.Kernel.Optional{``1},System.Int32,``1},System.Boolean)">
             <summary>
             Projects each update item to a new form using the specified transform function
            
             *** Annoyingly when using this overload you will have to explicitly specify the generic type arguments as type inference fails.
             </summary>
             <typeparam name="TSource">The type of the source.</typeparam>
             <typeparam name="TDestination">The type of the destination.</typeparam>
             <param name="source">The source.</param>
             <param name="transformFactory">The transform factory.</param>
             <param name="transformOnRefresh">Should a new transform be applied when a refresh event is received.</param>
             <returns>A an observable change set of the transformed object.</returns>
             <exception cref="T:System.ArgumentNullException">
             source
             or
             valueSelector.
             </exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.TransformAsync``2(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,System.Threading.Tasks.Task{``1}},System.Boolean)">
            <summary>
            Projects each update item to a new form using the specified transform function.
            </summary>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="transformOnRefresh">Should a new transform be applied when a refresh event is received.</param>
            <returns>A an observable change set of the transformed object.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            valueSelector.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.TransformAsync``2(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,System.Int32,System.Threading.Tasks.Task{``1}},System.Boolean)">
            <summary>
            Projects each update item to a new form using the specified transform function.
            </summary>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="transformOnRefresh">Should a new transform be applied when a refresh event is received.</param>
            <returns>A an observable change set of the transformed object.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            valueSelector.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.TransformAsync``2(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,DynamicData.Kernel.Optional{``1},System.Threading.Tasks.Task{``1}},System.Boolean)">
            <summary>
            Projects each update item to a new form using the specified transform function.
            </summary>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="transformOnRefresh">Should a new transform be applied when a refresh event is received.</param>
            <returns>A an observable change set of the transformed object.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            valueSelector.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.TransformAsync``2(System.IObservable{DynamicData.IChangeSet{``0}},System.Func{``0,DynamicData.Kernel.Optional{``1},System.Int32,System.Threading.Tasks.Task{``1}},System.Boolean)">
            <summary>
            Projects each update item to a new form using the specified transform function.
            </summary>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="transformOnRefresh">Should a new transform be applied when a refresh event is received.</param>
            <returns>A an observable change set of the transformed object.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            valueSelector.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.TransformMany``2(System.IObservable{DynamicData.IChangeSet{``1}},System.Func{``1,System.Collections.Generic.IEnumerable{``0}},System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Equivalent to a select many transform. To work, the key must individually identify each child.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <param name="source">The source.</param>
            <param name="manySelector">The selector function which selects the enumerable.</param>
            <param name="equalityComparer">Used when an item has been replaced to determine whether child items are the same as previous children.</param>
            <returns>An observable which emits the change set.</returns>
            <exception cref="T:System.ArgumentNullException">
            source
            or
            manySelector.
            </exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.TransformMany``2(System.IObservable{DynamicData.IChangeSet{``1}},System.Func{``1,System.Collections.ObjectModel.ObservableCollection{``0}},System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Flatten the nested observable collection, and  observe subsequently observable collection changes.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <param name="source">The source.</param>
            <param name="manySelector">The selector function which selects the enumerable.</param>
            <param name="equalityComparer">Used when an item has been replaced to determine whether child items are the same as previous children.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.TransformMany``2(System.IObservable{DynamicData.IChangeSet{``1}},System.Func{``1,System.Collections.ObjectModel.ReadOnlyObservableCollection{``0}},System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Flatten the nested observable collection, and  observe subsequently observable collection changes.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <param name="source">The source.</param>
            <param name="manySelector">The selector function which selects the enumerable.</param>
            <param name="equalityComparer">Used when an item has been replaced to determine whether child items are the same as previous children.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.TransformMany``2(System.IObservable{DynamicData.IChangeSet{``1}},System.Func{``1,DynamicData.IObservableList{``0}},System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Flatten the nested observable list, and observe subsequent observable collection changes.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <param name="source">The source.</param>
            <param name="manySelector">The selector function which selects the enumerable.</param>
            <param name="equalityComparer">Used when an item has been replaced to determine whether child items are the same as previous children.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.Virtualise``1(System.IObservable{DynamicData.IChangeSet{``0}},System.IObservable{DynamicData.IVirtualRequest})">
            <summary>
            Virtualises the source using parameters provided via the requests observable.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="requests">The requests.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.WhenAnyPropertyChanged``1(System.IObservable{DynamicData.IChangeSet{``0}},System.String[])">
            <summary>
            Watches each item in the collection and notifies when any of them has changed.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <param name="propertiesToMonitor">specify properties to Monitor, or omit to monitor all property changes.</param>
            <returns>An observable which emits the object.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.WhenPropertyChanged``2(System.IObservable{DynamicData.IChangeSet{``0}},System.Linq.Expressions.Expression{System.Func{``0,``1}},System.Boolean)">
            <summary>
            Watches each item in the collection and notifies when any of them has changed.
            </summary>
            <typeparam name="TObject">The type of object.</typeparam>
            <typeparam name="TValue">The type of the value.</typeparam>
            <param name="source">The source.</param>
            <param name="propertyAccessor">The property accessor.</param>
            <param name="notifyOnInitialValue">if set to <c>true</c> [notify on initial value].</param>
            <returns>An observable which emits the property value.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.WhenValueChanged``2(System.IObservable{DynamicData.IChangeSet{``0}},System.Linq.Expressions.Expression{System.Func{``0,``1}},System.Boolean)">
            <summary>
            Watches each item in the collection and notifies when any of them has changed.
            </summary>
            <typeparam name="TObject">The type of object.</typeparam>
            <typeparam name="TValue">The type of the value.</typeparam>
            <param name="source">The source.</param>
            <param name="propertyAccessor">The property accessor.</param>
            <param name="notifyOnInitialValue">if set to <c>true</c> [notify on initial value].</param>
            <returns>An observable which emits the value.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.WhereReasonsAre``1(System.IObservable{DynamicData.IChangeSet{``0}},DynamicData.ListChangeReason[])">
            <summary>
            Includes changes for the specified reasons only.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="reasons">The reasons.</param>
            <returns>An observable which emits the change set.</returns>
            <exception cref="T:System.ArgumentException">Must enter at least 1 reason.</exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.WhereReasonsAreNot``1(System.IObservable{DynamicData.IChangeSet{``0}},DynamicData.ListChangeReason[])">
            <summary>
            Excludes updates for the specified reasons.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="reasons">The reasons.</param>
            <returns>An observable which emits the change set.</returns>
            <exception cref="T:System.ArgumentException">Must enter at least 1 reason.</exception>
        </member>
        <member name="M:DynamicData.ObservableListEx.Xor``1(System.IObservable{DynamicData.IChangeSet{``0}},System.IObservable{DynamicData.IChangeSet{``0}}[])">
            <summary>
            Apply a logical Xor operator between the collections.
            Items which are only in one of the sources are included in the result.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="source">The source.</param>
            <param name="others">The others.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.Xor``1(System.Collections.Generic.ICollection{System.IObservable{DynamicData.IChangeSet{``0}}})">
            <summary>
            Apply a logical Xor operator between the collections.
            Items which are only in one of the sources are included in the result.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="sources">The sources.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.Xor``1(DynamicData.IObservableList{System.IObservable{DynamicData.IChangeSet{``0}}})">
            <summary>
            Dynamically apply a logical Xor operator between the items in the outer observable list.
            Items which are in any of the sources are included in the result.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="sources">The source.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.Xor``1(DynamicData.IObservableList{DynamicData.IObservableList{``0}})">
            <summary>
            Dynamically apply a logical Xor operator between the items in the outer observable list.
            Items which are in any of the sources are included in the result.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="sources">The source.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="M:DynamicData.ObservableListEx.Xor``1(DynamicData.IObservableList{DynamicData.ISourceList{``0}})">
            <summary>
            Dynamically apply a logical Xor operator between the items in the outer observable list.
            Items which are in any of the sources are included in the result.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
            <param name="sources">The source.</param>
            <returns>An observable which emits the change set.</returns>
        </member>
        <member name="T:DynamicData.RangeChange`1">
            <summary>
            Multiple change container.
            </summary>
            <typeparam name="T">The type of the item.</typeparam>
        </member>
        <member name="M:DynamicData.RangeChange`1.#ctor(System.Collections.Generic.IEnumerable{`0},System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.RangeChange`1"/> class.
            </summary>
            <param name="items">The items.</param>
            <param name="index">The index.</param>
        </member>
        <member name="M:DynamicData.RangeChange`1.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.RangeChange`1"/> class.
            </summary>
        </member>
        <member name="P:DynamicData.RangeChange`1.Empty">
            <summary>
            Gets a Empty version of the RangeChange.
            </summary>
        </member>
        <member name="P:DynamicData.RangeChange`1.Count">
            <summary>
                Gets the total update count.
            </summary>
        </member>
        <member name="P:DynamicData.RangeChange`1.Index">
            <summary>
            Gets the index initial index i.e. for the initial starting point of the range insertion.
            </summary>
            <value>
            The index.
            </value>
        </member>
        <member name="M:DynamicData.RangeChange`1.Add(`0)">
            <summary>
            Adds the specified item to the range.
            </summary>
            <param name="item">The item.</param>
        </member>
        <member name="M:DynamicData.RangeChange`1.GetEnumerator">
            <inheritdoc/>
        </member>
        <member name="M:DynamicData.RangeChange`1.Insert(System.Int32,`0)">
            <summary>
            Inserts the  item in the range at the specified index.
            </summary>
            <param name="index">The index.</param>
            <param name="item">The item.</param>
        </member>
        <member name="M:DynamicData.RangeChange`1.SetStartingIndex(System.Int32)">
            <summary>
            Sets the index of the starting index of the range.
            </summary>
            <param name="index">The index.</param>
        </member>
        <member name="M:DynamicData.RangeChange`1.ToString">
            <summary>
            Returns a <see cref="T:System.String" /> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String" /> that represents this instance.
            </returns>
        </member>
        <member name="M:DynamicData.RangeChange`1.System#Collections#IEnumerable#GetEnumerator">
            <inheritdoc/>
        </member>
        <member name="T:DynamicData.SortException">
            <summary>
            Thrown when an exception occurs within the sort operators.
            </summary>
        </member>
        <member name="M:DynamicData.SortException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.SortException"/> class.
            </summary>
            <param name="message">The message that describes the error.</param>
        </member>
        <member name="M:DynamicData.SortException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.SortException"/> class.
            </summary>
        </member>
        <member name="M:DynamicData.SortException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.SortException"/> class.
            </summary>
            <param name="message">A message about the exception.</param>
            <param name="innerException">A inner exception with further information.</param>
        </member>
        <member name="M:DynamicData.SortException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.SortException"/> class.
            </summary>
            <param name="serializationInfo">The serialization info.</param>
            <param name="streamingContext">The serialization context.</param>
        </member>
        <member name="T:DynamicData.SortOptions">
            <summary>
            Options for sorting.
            </summary>
        </member>
        <member name="F:DynamicData.SortOptions.None">
            <summary>
            No sort options are specified.
            </summary>
        </member>
        <member name="F:DynamicData.SortOptions.UseBinarySearch">
            <summary>
            Use binary search to locate item index.
            </summary>
        </member>
        <member name="T:DynamicData.SourceList`1">
            <summary>
            An editable observable list.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
        </member>
        <member name="M:DynamicData.SourceList`1.#ctor(System.IObservable{DynamicData.IChangeSet{`0}})">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.SourceList`1"/> class.
            </summary>
            <param name="source">The source.</param>
        </member>
        <member name="P:DynamicData.SourceList`1.Count">
            <inheritdoc />
        </member>
        <member name="P:DynamicData.SourceList`1.CountChanged">
            <inheritdoc />
        </member>
        <member name="P:DynamicData.SourceList`1.Items">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.SourceList`1.Connect(System.Func{`0,System.Boolean})">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.SourceList`1.Dispose">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.SourceList`1.Edit(System.Action{DynamicData.IExtendedList{`0}})">
            <inheritdoc />
        </member>
        <member name="M:DynamicData.SourceList`1.Preview(System.Func{`0,System.Boolean})">
            <inheritdoc />
        </member>
        <member name="T:DynamicData.SourceListEditConvenienceEx">
            <summary>
            Convenience methods for a source list.
            </summary>
        </member>
        <member name="M:DynamicData.SourceListEditConvenienceEx.Add``1(DynamicData.ISourceList{``0},``0)">
            <summary>
            Adds the specified item to the source list.
            </summary>
            <typeparam name="T">The item type.</typeparam>
            <param name="source">The source list.</param>
            <param name="item">The item to add.</param>
        </member>
        <member name="M:DynamicData.SourceListEditConvenienceEx.AddRange``1(DynamicData.ISourceList{``0},System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Adds the specified items to the source list.
            </summary>
            <typeparam name="T">The item type.</typeparam>
            <param name="source">The source.</param>
            <param name="items">The items.</param>
        </member>
        <member name="M:DynamicData.SourceListEditConvenienceEx.Clear``1(DynamicData.ISourceList{``0})">
            <summary>
            Clears all items from the specified source list.
            </summary>
            <typeparam name="T">The item type.</typeparam>
            <param name="source">The source to clear.</param>
        </member>
        <member name="M:DynamicData.SourceListEditConvenienceEx.EditDiff``1(DynamicData.ISourceList{``0},System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Loads the list with the specified items in an optimised manner i.e. calculates the differences between the old and new items
             in the list and amends only the differences.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="source">The source.</param>
            <param name="allItems">The items to compare against and performing a delta.</param>
            <param name="equalityComparer">The equality comparer used to determine whether an item has changed.</param>
        </member>
        <member name="M:DynamicData.SourceListEditConvenienceEx.Insert``1(DynamicData.ISourceList{``0},System.Int32,``0)">
            <summary>
            Adds the specified item to the source list.
            </summary>
            <typeparam name="T">The item type.</typeparam>
            <param name="source">The source.</param>
            <param name="index">The index of the item.</param>
            <param name="item">The item.</param>
        </member>
        <member name="M:DynamicData.SourceListEditConvenienceEx.InsertRange``1(DynamicData.ISourceList{``0},System.Collections.Generic.IEnumerable{``0},System.Int32)">
            <summary>
            Inserts the elements of a collection into the <see cref="T:DynamicData.IExtendedList`1" /> at the specified index.
            </summary>
            <typeparam name="T">The item type.</typeparam>
            <param name="source">The source.</param>
            <param name="items">The items.</param>
            <param name="index">The zero-based index at which the new elements should be inserted.</param>
        </member>
        <member name="M:DynamicData.SourceListEditConvenienceEx.Move``1(DynamicData.ISourceList{``0},System.Int32,System.Int32)">
            <summary>
            Moves an item from the original to the destination index.
            </summary>
            <typeparam name="T">The item type.</typeparam>
            <param name="source">The source.</param>
            <param name="original">The original.</param>
            <param name="destination">The destination.</param>
        </member>
        <member name="M:DynamicData.SourceListEditConvenienceEx.Remove``1(DynamicData.ISourceList{``0},``0)">
            <summary>
            Removes the specified item from the source list.
            </summary>
            <typeparam name="T">The item type.</typeparam>
            <param name="source">The source.</param>
            <param name="item">The item.</param>
            <returns>If the item was removed.</returns>
        </member>
        <member name="M:DynamicData.SourceListEditConvenienceEx.RemoveAt``1(DynamicData.ISourceList{``0},System.Int32)">
            <summary>
            Removes the element at the specified index.
            </summary>
            <typeparam name="T">The item type.</typeparam>
            <param name="source">The source.</param>
            <param name="index">The index.</param>
        </member>
        <member name="M:DynamicData.SourceListEditConvenienceEx.RemoveMany``1(DynamicData.ISourceList{``0},System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Removes the items from source in an optimised manner.
            </summary>
            <typeparam name="T">The item type.</typeparam>
            <param name="source">The source.</param>
            <param name="itemsToRemove">The items to remove.</param>
        </member>
        <member name="M:DynamicData.SourceListEditConvenienceEx.RemoveRange``1(DynamicData.ISourceList{``0},System.Int32,System.Int32)">
            <summary>
            Removes a range of elements from the <see cref="T:DynamicData.ISourceList`1" />.
            </summary>
            <typeparam name="T">The item type.</typeparam>
            <param name="source">The source.</param>
            <param name="index">The zero-based starting index of the range of elements to remove.</param>
            <param name="count">The number of elements to remove.</param>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index" /> is less than 0.-or-<paramref name="count" /> is less than 0.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="index" /> and <paramref name="count" /> do not denote a valid range of elements in the <see cref="T:System.Collections.Generic.List`1" />.</exception>
        </member>
        <member name="M:DynamicData.SourceListEditConvenienceEx.Replace``1(DynamicData.ISourceList{``0},``0,``0)">
            <summary>
            Replaces the specified original with the destination object.
            </summary>
            <typeparam name="T">The item type.</typeparam>
            <param name="source">The source.</param>
            <param name="original">The original.</param>
            <param name="destination">The destination.</param>
        </member>
        <member name="M:DynamicData.SourceListEditConvenienceEx.ReplaceAt``1(DynamicData.ISourceList{``0},System.Int32,``0)">
            <summary>
            Replaces the item at the specified index with the new item.
            </summary>
            <typeparam name="T">The item type.</typeparam>
            <param name="source">The source.</param>
            <param name="index">The index.</param>
            <param name="item">The item.</param>
        </member>
        <member name="T:DynamicData.SourceListEx">
            <summary>
            Source list extensions.
            </summary>
        </member>
        <member name="M:DynamicData.SourceListEx.Cast``2(DynamicData.ISourceList{``0},System.Func{``0,``1})">
             <summary>
             Connects to the list, and converts the changes to another form
            
             Alas, I had to add the converter due to type inference issues.
             </summary>
             <typeparam name="TSource">The type of the object.</typeparam>
             <typeparam name="TDestination">The type of the destination.</typeparam>
             <param name="source">The source.</param>
             <param name="conversionFactory">The conversion factory.</param>
             <returns>An observable which emits that change set.</returns>
        </member>
        <member name="T:DynamicData.UnspecifiedIndexException">
            <summary>
            Thrown when an index is expected but not specified.
            </summary>
        </member>
        <member name="M:DynamicData.UnspecifiedIndexException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.UnspecifiedIndexException"/> class.
            </summary>
            <param name="message">The message that describes the error.</param>
        </member>
        <member name="M:DynamicData.UnspecifiedIndexException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.UnspecifiedIndexException"/> class.
            </summary>
        </member>
        <member name="M:DynamicData.UnspecifiedIndexException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.UnspecifiedIndexException"/> class.
            </summary>
            <param name="message">The error message that explains the reason for the exception.</param>
            <param name="innerException">The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.</param>
        </member>
        <member name="M:DynamicData.UnspecifiedIndexException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.UnspecifiedIndexException"/> class.
            </summary>
            <param name="serializationInfo">The serialization info.</param>
            <param name="streamingContext">The serialization context.</param>
        </member>
        <member name="T:DynamicData.ObservableChangeSet">
            <summary>
            Creation methods for observable change sets.
            </summary>
        </member>
        <member name="M:DynamicData.ObservableChangeSet.Create``2(System.Func{DynamicData.ISourceCache{``0,``1},System.Action},System.Func{``0,``1})">
            <summary>
            Creates an observable cache from a specified Subscribe method implementation.
            </summary>
            <typeparam name="TObject">The type of the elements contained in the observable cache.</typeparam>
            <typeparam name="TKey">The type of the specified key.</typeparam>
            <param name="subscribe">  Implementation of the resulting observable cache's Subscribe method. </param>
            <param name="keySelector">The key selector.</param>
            <returns>The observable cache with the specified implementation for the Subscribe method.</returns>
        </member>
        <member name="M:DynamicData.ObservableChangeSet.Create``2(System.Func{DynamicData.ISourceCache{``0,``1},System.IDisposable},System.Func{``0,``1})">
            <summary>
            Creates an observable cache from a specified Subscribe method implementation.
            </summary>
            <typeparam name="TObject">The type of the elements contained in the observable cache.</typeparam>
            <typeparam name="TKey">The type of the specified key.</typeparam>
            <param name="subscribe">  Implementation of the resulting observable cache's Subscribe method. </param>
            <param name="keySelector">The key selector.</param>
            <returns>The observable cache with the specified implementation for the Subscribe method.</returns>
        </member>
        <member name="M:DynamicData.ObservableChangeSet.Create``2(System.Func{DynamicData.ISourceCache{``0,``1},System.Threading.Tasks.Task{System.IDisposable}},System.Func{``0,``1})">
            <summary>
            Creates an observable cache from a specified Subscribe method implementation.
            </summary>
            <typeparam name="TObject">The type of the elements contained in the observable cache.</typeparam>
            <typeparam name="TKey">The type of the specified key.</typeparam>
            <param name="subscribe">  Implementation of the resulting observable cache's Subscribe method. </param>
            <param name="keySelector">The key selector.</param>
            <returns>The observable cache with the specified implementation for the Subscribe method.</returns>
        </member>
        <member name="M:DynamicData.ObservableChangeSet.Create``2(System.Func{DynamicData.ISourceCache{``0,``1},System.Threading.CancellationToken,System.Threading.Tasks.Task{System.IDisposable}},System.Func{``0,``1})">
            <summary>
            Creates an observable cache from a specified cancellable asynchronous Subscribe method. The CancellationToken passed to the asynchronous Subscribe method is tied to the returned disposable subscription, allowing best-effort cancellation.
            </summary>
            <typeparam name="TObject">The type of the elements contained in the observable cache.</typeparam>
            <typeparam name="TKey">The type of the specified key.</typeparam>
            <param name="subscribe">  Implementation of the resulting observable cache's Subscribe method. </param>
            <param name="keySelector">The key selector.</param>
            <returns>The observable cache with the specified implementation for the Subscribe method.</returns>
        </member>
        <member name="M:DynamicData.ObservableChangeSet.Create``2(System.Func{DynamicData.ISourceCache{``0,``1},System.Threading.Tasks.Task{System.Action}},System.Func{``0,``1})">
            <summary>
            Creates an observable cache from a specified cancellable asynchronous Subscribe method. The CancellationToken passed to the asynchronous Subscribe method is tied to the returned disposable subscription, allowing best-effort cancellation.
            </summary>
            <typeparam name="TObject">The type of the elements contained in the observable cache.</typeparam>
            <typeparam name="TKey">The type of the specified key.</typeparam>
            <param name="subscribe">  Implementation of the resulting observable cache's Subscribe method. </param>
            <param name="keySelector">The key selector.</param>
            <returns>The observable cache with the specified implementation for the Subscribe method.</returns>
        </member>
        <member name="M:DynamicData.ObservableChangeSet.Create``2(System.Func{DynamicData.ISourceCache{``0,``1},System.Threading.CancellationToken,System.Threading.Tasks.Task{System.Action}},System.Func{``0,``1})">
            <summary>
            Creates an observable cache from a specified cancellable asynchronous Subscribe method. The CancellationToken passed to the asynchronous Subscribe method is tied to the returned disposable subscription, allowing best-effort cancellation.
            </summary>
            <typeparam name="TObject">The type of the elements contained in the observable cache.</typeparam>
            <typeparam name="TKey">The type of the specified key.</typeparam>
            <param name="subscribe">  Implementation of the resulting observable cache's Subscribe method. </param>
            <param name="keySelector">The key selector.</param>
            <returns>The observable cache with the specified implementation for the Subscribe method.</returns>
        </member>
        <member name="M:DynamicData.ObservableChangeSet.Create``2(System.Func{DynamicData.ISourceCache{``0,``1},System.Threading.Tasks.Task},System.Func{``0,``1})">
            <summary>
            Creates an observable cache from a specified asynchronous Subscribe method.
            </summary>
            <typeparam name="TObject">The type of the elements contained in the observable cache.</typeparam>
            <typeparam name="TKey">The type of the specified key.</typeparam>
            <param name="subscribe">  Implementation of the resulting observable cache's Subscribe method. </param>
            <param name="keySelector">The key selector.</param>
            <returns>The observable cache with the specified implementation for the Subscribe method.</returns>
        </member>
        <member name="M:DynamicData.ObservableChangeSet.Create``2(System.Func{DynamicData.ISourceCache{``0,``1},System.Threading.CancellationToken,System.Threading.Tasks.Task},System.Func{``0,``1})">
            <summary>
            Creates an observable cache from a specified cancellable asynchronous Subscribe method. The CancellationToken passed to the asynchronous Subscribe method is tied to the returned disposable subscription, allowing best-effort cancellation.
            </summary>
            <typeparam name="TObject">The type of the elements contained in the observable cache.</typeparam>
            <typeparam name="TKey">The type of the specified key.</typeparam>
            <param name="subscribe">  Implementation of the resulting observable cache's Subscribe method. </param>
            <param name="keySelector">The key selector.</param>
            <returns>The observable cache with the specified implementation for the Subscribe method.</returns>
        </member>
        <member name="M:DynamicData.ObservableChangeSet.Create``1(System.Func{DynamicData.ISourceList{``0},System.Action})">
            <summary>
            Creates an observable list from a specified Subscribe method implementation.
            </summary>
            <typeparam name="T">The type of the elements contained in the observable list.</typeparam>
            <param name="subscribe">  Implementation of the resulting observable list's Subscribe method. </param>
            <returns>The observable list with the specified implementation for the Subscribe method.</returns>
        </member>
        <member name="M:DynamicData.ObservableChangeSet.Create``1(System.Func{DynamicData.ISourceList{``0},System.IDisposable})">
            <summary>
            Creates an observable list from a specified Subscribe method implementation.
            </summary>
            <typeparam name="T">The type of the elements contained in the observable list.</typeparam>
            <param name="subscribe">  Implementation of the resulting observable list's Subscribe method. </param>
            <returns>The observable list with the specified implementation for the Subscribe method.</returns>
        </member>
        <member name="M:DynamicData.ObservableChangeSet.Create``1(System.Func{DynamicData.ISourceList{``0},System.Threading.Tasks.Task{System.IDisposable}})">
            <summary>
            Creates an observable list from a specified Subscribe method implementation.
            </summary>
            <typeparam name="T">The type of the elements contained in the observable list.</typeparam>
            <param name="subscribe">  Implementation of the resulting observable list's Subscribe method. </param>
            <returns>The observable list with the specified implementation for the Subscribe method.</returns>
        </member>
        <member name="M:DynamicData.ObservableChangeSet.Create``1(System.Func{DynamicData.ISourceList{``0},System.Threading.CancellationToken,System.Threading.Tasks.Task{System.IDisposable}})">
            <summary>
            Creates an observable list from a specified cancellable asynchronous Subscribe method. The CancellationToken passed to the asynchronous Subscribe method is tied to the returned disposable subscription, allowing best-effort cancellation.
            </summary>
            <typeparam name="T">The type of the elements contained in the observable list.</typeparam>
            <param name="subscribe">  Implementation of the resulting observable list's Subscribe method. </param>
            <returns>The observable list with the specified implementation for the Subscribe method.</returns>
        </member>
        <member name="M:DynamicData.ObservableChangeSet.Create``1(System.Func{DynamicData.ISourceList{``0},System.Threading.Tasks.Task{System.Action}})">
            <summary>
            Creates an observable list from a specified cancellable asynchronous Subscribe method. The CancellationToken passed to the asynchronous Subscribe method is tied to the returned disposable subscription, allowing best-effort cancellation.
            </summary>
            <typeparam name="T">The type of the elements contained in the observable list.</typeparam>
            <param name="subscribe">  Implementation of the resulting observable list's Subscribe method. </param>
            <returns>The observable list with the specified implementation for the Subscribe method.</returns>
        </member>
        <member name="M:DynamicData.ObservableChangeSet.Create``1(System.Func{DynamicData.ISourceList{``0},System.Threading.CancellationToken,System.Threading.Tasks.Task{System.Action}})">
            <summary>
            Creates an observable list from a specified cancellable asynchronous Subscribe method. The CancellationToken passed to the asynchronous Subscribe method is tied to the returned disposable subscription, allowing best-effort cancellation.
            </summary>
            <typeparam name="T">The type of the elements contained in the observable list.</typeparam>
            <param name="subscribe">  Implementation of the resulting observable list's Subscribe method. </param>
            <returns>The observable list with the specified implementation for the Subscribe method.</returns>
        </member>
        <member name="M:DynamicData.ObservableChangeSet.Create``1(System.Func{DynamicData.ISourceList{``0},System.Threading.Tasks.Task})">
            <summary>
            Creates an observable list from a specified asynchronous Subscribe method.
            </summary>
            <typeparam name="T">The type of the elements contained in the observable list.</typeparam>
            <param name="subscribe">  Implementation of the resulting observable list's Subscribe method. </param>
            <returns>The observable list with the specified implementation for the Subscribe method.</returns>
        </member>
        <member name="M:DynamicData.ObservableChangeSet.Create``1(System.Func{DynamicData.ISourceList{``0},System.Threading.CancellationToken,System.Threading.Tasks.Task})">
            <summary>
            Creates an observable list from a specified cancellable asynchronous Subscribe method. The CancellationToken passed to the asynchronous Subscribe method is tied to the returned disposable subscription, allowing best-effort cancellation.
            </summary>
            <typeparam name="T">The type of the elements contained in the observable list.</typeparam>
            <param name="subscribe">  Implementation of the resulting observable list's Subscribe method. </param>
            <returns>The observable list with the specified implementation for the Subscribe method.</returns>
        </member>
        <member name="T:DynamicData.ObsoleteEx">
            <summary>
            Obsolete methods: Kept in system to prevent breaking changes for now.
            </summary>
        </member>
        <member name="T:DynamicData.PLinq.ParallelEx">
            <summary>
            Parallelisation extensions for DynamicData.
             </summary>
        </member>
        <member name="T:DynamicData.PLinq.ParallelisationOptions">
            <summary>
            Options to specify parallelisation of stream operations.  Only applicable for .Net4 and .Net45 builds.
            </summary>
        </member>
        <member name="F:DynamicData.PLinq.ParallelisationOptions.Default">
            <summary>
            The default parallelisation options.
            </summary>
        </member>
        <member name="F:DynamicData.PLinq.ParallelisationOptions.None">
            <summary>
            Value to be used when no parallelisation should take place.
            </summary>
        </member>
        <member name="M:DynamicData.PLinq.ParallelisationOptions.#ctor(DynamicData.PLinq.ParallelType,System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:DynamicData.PLinq.ParallelisationOptions"/> class.
            </summary>
            <param name="type">The type of parallel operation.</param>
            <param name="threshold">The threshold before making the operation parallel.</param>
            <param name="maxDegreeOfParallelisation">The maximum degrees of parallelism.</param>
        </member>
        <member name="P:DynamicData.PLinq.ParallelisationOptions.MaxDegreeOfParallelisation">
            <summary>
            Gets the maximum degree of parallelisation.
            </summary>
        </member>
        <member name="P:DynamicData.PLinq.ParallelisationOptions.Threshold">
            <summary>
            Gets the threshold.
            </summary>
        </member>
        <member name="P:DynamicData.PLinq.ParallelisationOptions.Type">
            <summary>
            Gets the type.
            </summary>
        </member>
        <member name="T:DynamicData.PLinq.ParallelOperators">
            <summary>
            PLinq operators or Net4 and Net45 only.
            </summary>
        </member>
        <member name="M:DynamicData.PLinq.ParallelOperators.Filter``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.Boolean},DynamicData.PLinq.ParallelisationOptions)">
            <summary>
            Filters the stream using the specified predicate.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="filter">The filter.</param>
            <param name="parallelisationOptions">The parallelisation options.</param>
            <returns>An observable which emits a change set.</returns>
            <exception cref="T:System.ArgumentNullException">source.</exception>
        </member>
        <member name="M:DynamicData.PLinq.ParallelOperators.SubscribeMany``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,System.IDisposable},DynamicData.PLinq.ParallelisationOptions)">
            <summary>
            Subscribes to each item when it is added to the stream and unsubscribes when it is removed.  All items will be unsubscribed when the stream is disposed.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="subscriptionFactory">The subscription function.</param>
            <param name="parallelisationOptions">The parallelisation options.</param>
            <returns>An observable which emits a change set.</returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            subscriptionFactory.</exception>
            <remarks>
            Subscribes to each item when it is added or updates and unsubscribes when it is removed.
            </remarks>
        </member>
        <member name="M:DynamicData.PLinq.ParallelOperators.SubscribeMany``2(System.IObservable{DynamicData.IChangeSet{``0,``1}},System.Func{``0,``1,System.IDisposable},DynamicData.PLinq.ParallelisationOptions)">
            <summary>
            Subscribes to each item when it is added to the stream and unsubscribes when it is removed.  All items will be unsubscribed when the stream is disposed.
            </summary>
            <typeparam name="TObject">The type of the object.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="subscriptionFactory">The subscription function.</param>
            <param name="parallelisationOptions">The parallelisation options.</param>
            <returns>An observable which emits a change set.</returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            subscriptionFactory.</exception>
            <remarks>
            Subscribes to each item when it is added or updates and unsubscribes when it is removed.
            </remarks>
        </member>
        <member name="M:DynamicData.PLinq.ParallelOperators.Transform``3(System.IObservable{DynamicData.IChangeSet{``1,``2}},System.Func{``1,``2,``0},DynamicData.PLinq.ParallelisationOptions)">
            <summary>
            Projects each update item to a new form using the specified transform function.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="parallelisationOptions">The parallelisation options to be used on the transforms.</param>
            <returns>
            A transformed update collection.
            </returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            transformFactory.</exception>
        </member>
        <member name="M:DynamicData.PLinq.ParallelOperators.Transform``3(System.IObservable{DynamicData.IChangeSet{``1,``2}},System.Func{``1,``0},DynamicData.PLinq.ParallelisationOptions)">
            <summary>
            Projects each update item to a new form using the specified transform function.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="parallelisationOptions">The parallelisation options.</param>
            <returns>
            A transformed update collection.
            </returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            transformFactory.</exception>
        </member>
        <member name="M:DynamicData.PLinq.ParallelOperators.TransformSafe``3(System.IObservable{DynamicData.IChangeSet{``1,``2}},System.Func{``1,``0},System.Action{DynamicData.Kernel.Error{``1,``2}},DynamicData.PLinq.ParallelisationOptions)">
            <summary>
            Projects each update item to a new form using the specified transform function,
            providing an error handling action to safely handle transform errors without killing the stream.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="errorHandler">Provides the option to safely handle errors without killing the stream.
             If not specified the stream will terminate as per rx convention.
            </param>
            <param name="parallelisationOptions">The parallelisation options.</param>
            <returns>
            A transformed update collection.
            </returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            transformFactory.</exception>
        </member>
        <member name="M:DynamicData.PLinq.ParallelOperators.TransformSafe``3(System.IObservable{DynamicData.IChangeSet{``1,``2}},System.Func{``1,``2,``0},System.Action{DynamicData.Kernel.Error{``1,``2}},DynamicData.PLinq.ParallelisationOptions)">
            <summary>
            Projects each update item to a new form using the specified transform function,
            providing an error handling action to safely handle transform errors without killing the stream.
            </summary>
            <typeparam name="TDestination">The type of the destination.</typeparam>
            <typeparam name="TSource">The type of the source.</typeparam>
            <typeparam name="TKey">The type of the key.</typeparam>
            <param name="source">The source.</param>
            <param name="transformFactory">The transform factory.</param>
            <param name="errorHandler">Provides the option to safely handle errors without killing the stream.
             If not specified the stream will terminate as per rx convention.
            </param>
            <param name="parallelisationOptions">The parallelisation options to be used on the transforms.</param>
            <returns>
            A transformed update collection.
            </returns>
            <exception cref="T:System.ArgumentNullException">source
            or
            transformFactory.</exception>
        </member>
        <member name="T:DynamicData.PLinq.ParallelType">
            <summary>
            The type of parallelisation.
            </summary>
        </member>
        <member name="F:DynamicData.PLinq.ParallelType.None">
            <summary>
            No parallelisation will take place.
            </summary>
        </member>
        <member name="F:DynamicData.PLinq.ParallelType.Parallelise">
            <summary>
            Parallelisation will take place without preserving the enumerable order.
            </summary>
        </member>
        <member name="F:DynamicData.PLinq.ParallelType.Ordered">
            <summary>
            Parallelisation will take place whilst preserving the enumerable order.
            </summary>
        </member>
    </members>
</doc>
