commit 5e31048fd03f2e18e330cdf210221eeb3fa345d7
Author: Panagiotis Kanavos <pkanavos@gmail.com>
Date:   Tue Jan 3 21:30:08 2012 +0200

    Some warning fixes and change of some agents from a hand-coded Agent to Dataflow blocks

diff --git a/trunk/Libraries/System.Threading.Tasks.Dataflow.dll b/trunk/Libraries/System.Threading.Tasks.Dataflow.dll
new file mode 100644
index 0000000..8015c2c
Binary files /dev/null and b/trunk/Libraries/System.Threading.Tasks.Dataflow.dll differ
diff --git a/trunk/Libraries/System.Threading.Tasks.Dataflow.xml b/trunk/Libraries/System.Threading.Tasks.Dataflow.xml
new file mode 100644
index 0000000..18a5d05
--- /dev/null
+++ b/trunk/Libraries/System.Threading.Tasks.Dataflow.xml
@@ -0,0 +1,7557 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>System.Threading.Tasks.Dataflow</name>
+    </assembly>
+    <members>
+        <member name="T:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2">
+            <summary>
+            Provides a dataflow block that batches a specified number of inputs of potentially differing types
+            provided to one or more of its targets.
+            </summary>
+            <typeparam name="T1">Specifies the type of data accepted by the block's first target.</typeparam>
+            <typeparam name="T2">Specifies the type of data accepted by the block's second target.</typeparam>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.IReceivableSourceBlock`1">
+            <summary>Represents a dataflow block that supports receiving of messages without linking.</summary>
+            <typeparam name="TOutput">Specifies the type of data supplied by the <see cref="T:System.Threading.Tasks.Dataflow.IReceivableSourceBlock`1"/>.</typeparam>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.ISourceBlock`1">
+            <summary>Represents a dataflow block that is a source of data.</summary>
+            <typeparam name="TOutput">Specifies the type of data supplied by the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.</typeparam>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.IDataflowBlock">
+            <summary>Represents a dataflow block.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.IDataflowBlock.Complete">
+            <summary>
+        Signals to the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> that it should not accept
+        nor produce any more messages nor consume any more postponed messages.
+      </summary><remarks>
+        After Complete has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state) after it's processed all previously
+        available data. Complete will not block waiting for completion to occur, but rather will initiaite
+        the request; to wait for completion to occur, the <see cref="M:Completion"/> task may be used.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.IDataflowBlock.Fault(System.Exception)">
+            <summary>
+        Causes the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> to complete in a 
+        <see cref="F:System.Threading.Tasks.TaskStatus.Faulted"/> state.
+      </summary><param name="exception">The <see cref="T:System.Exception"/> that caused the faulting.</param><exception cref="T:System.ArgumentNullException">
+        The <paramref name="exception"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        After Fault has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state). Faulting a block causes 
+        buffered messages (uprocessed input messages as well as unoffered output messages) to be lost. 
+      </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.IDataflowBlock.Completion">
+            <summary>
+        Gets a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous operation and completion of the dataflow block.
+      </summary><remarks>
+        A dataflow block is considered completed when it is not currently processing a message and when it has guaranteed that it will not process
+        any more messages. The returned <see cref="T:System.Threading.Tasks.Task">Task</see> will transition to a completed state when the
+        associated block has completed. It will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state
+        when the block completes its processing successfully according to the dataflow block’s defined semantics, it will transition to
+        the <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state when the dataflow block has completed processing prematurely due to an unhandled exception,
+        and it will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">Canceled</see> state when the dataflow  block has completed processing
+        prematurely due to receiving a cancellation request.  If the task completes in the Faulted state, its Exception property will return
+        an <see cref="T:System.AggregateException"/> containing the one or more exceptions that caused the block to fail.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.ISourceBlock`1.LinkTo(System.Threading.Tasks.Dataflow.ITargetBlock{`0},System.Boolean)">
+            <summary>
+        Links the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> to the specified <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>.
+      </summary><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to which to connect this source.
+      </param><param name="unlinkAfterOne">
+        true if the source should unlink from the target after successfully propagating a single message; 
+        otherwise, false to remain connected even after a single message has been propagated.
+      </param><returns>An IDisposable that, upon calling Dispose, will unlink the source from the target.</returns><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.ISourceBlock`1.ConsumeMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0},System.Boolean@)">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to accept and consume a  
+        <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> previously offered by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being consumed.</param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> consuming the message.
+      </param><param name="messageConsumed">
+        True if the message was successfully consumed. False otherwise.
+      </param><returns>
+        <para>
+          The value of the consumed message. This may correspond to a different <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance than was previously reserved and
+          passed as the <paramref name="messageHeader"/> to <see cref="M:ConsumeMessage"/>. The consuming <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must 
+          use the returned value instead of the value passed as messageValue through <see cref="M:OfferMessage"/>.
+        </para>
+        <para>
+          If the message requested is not available, the return value will be null (Nothing in Visual Basic).
+        </para>
+      </returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> 
+          instance may use <see cref="M:ConsumeMessage"/>, and it must only be used
+          to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          offered by this source to the target.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.ISourceBlock`1.ReserveMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0})">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to reserve a previously offered <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> 
+        by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">
+        The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being reserved.
+      </param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> reserving the message.
+      </param><returns>true if the message was successfully reserved; otherwise, false.</returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> instance 
+          may use <see cref="M:ReserveMessage"/>, and it must only be used
+          to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          offered by this source to the target.
+        </para>
+        <para>
+          If true is returned, the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must subsequently call either <see cref="M:ConsumeMessage"/> or <see cref="M:ReserveMessage"/> for this message.
+          Failure to do so may result in the source being unable to propagate any further messages to this or other targets.
+        </para>
+        <para>
+          <see cref="M:ReserveMessage"/> must not be called while the target is holding any internal locks.  Doing so will violate the lock hierarchy
+          necessary to avoid deadlocks in a dataflow network.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.ISourceBlock`1.ReleaseReservation(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0})">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to release a previously reserved 
+        <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">
+        The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the reserved message being released.
+      </param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> releasing the message it previously reserved.
+      </param><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><exception cref="T:System.InvalidOperationException">
+        The <paramref name="target"/> did not have the message reserved.
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> 
+          instance may use <see cref="M:ReleaseMessage"/>, and it must only be used
+          to release <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          and successfully reserved by the target.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.IReceivableSourceBlock`1.TryReceive(System.Predicate{`0},`0@)">
+            <summary>
+        Attempts to synchronously receive an available output item from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="filter">
+        The predicate a value must successfully pass in order for it to be received. 
+        <paramref name="filter"/> may be null (Nothing in Visual Basic), in which case all items will pass.
+      </param><param name="item">The item received from the source.</param><returns>true if an item could be received; otherwise, false.</returns><remarks>
+        This method does not block waiting for the source to provide an item.
+        It will return after checking for an element, whether or not an element was available.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.IReceivableSourceBlock`1.TryReceiveAll(System.Collections.Generic.IList{`0}@)">
+            <summary>
+        Attempts to synchronously receive all available items from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="items">The items received from the source.</param><returns>true if one or more items could be received; otherwise, false.</returns><remarks>
+        This method does not block waiting for the source to provide an item.
+        It will return after checking for elements, whether or not an element was available.
+      </remarks>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.Internal.IDebuggerDisplay">
+            <summary>Implemented to provide customizable data for debugger displays.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.IDebuggerDisplay.Content">
+            <summary>The object to be displayed as the content of a DebuggerDisplayAttribute.</summary>
+            <remarks>
+            The property returns an object to allow the debugger to interpret arbitrary .NET objects.
+            The return value may be, but need not be limited to be, a string.
+            </remarks>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.m_batchSize">
+            <summary>The size of the batches generated by this BatchedJoin.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.m_sharedResources">
+            <summary>State shared among the targets.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.m_target1">
+            <summary>The target providing inputs of type T1.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.m_target2">
+            <summary>The target providing inputs of type T2.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.m_source">
+            <summary>The source side.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.#ctor(System.Int32)">
+            <summary>Initializes this <see cref="T:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2"/> with the specified configuration.</summary>
+            <param name="batchSize">The number of items to group into a batch.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="batchSize"/> must be positive.</exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.#ctor(System.Int32,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions)">
+            <summary>Initializes this <see cref="T:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2"/> with the specified configuration.</summary>
+            <param name="batchSize">The number of items to group into a batch.</param>
+            <param name="dataflowBlockOptions">The options with which to configure this <see cref="T:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2"/>.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="batchSize"/> must be positive.</exception>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="dataflowBlockOptions"/> is null (Nothing in Visual Basic).</exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.LinkTo(System.Threading.Tasks.Dataflow.ITargetBlock{System.Tuple{System.Collections.Generic.IList{`0},System.Collections.Generic.IList{`1}}},System.Boolean)">
+            <summary>
+        Links the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> to the specified <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>.
+      </summary><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to which to connect this source.
+      </param><param name="unlinkAfterOne">
+        true if the source should unlink from the target after successfully propagating a single message; 
+        otherwise, false to remain connected even after a single message has been propagated.
+      </param><returns>An IDisposable that, upon calling Dispose, will unlink the source from the target.</returns><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.TryReceive(System.Predicate{System.Tuple{System.Collections.Generic.IList{`0},System.Collections.Generic.IList{`1}}},System.Tuple{System.Collections.Generic.IList{`0},System.Collections.Generic.IList{`1}}@)">
+            <summary>
+        Attempts to synchronously receive an available output item from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="filter">
+        The predicate a value must successfully pass in order for it to be received. 
+        <paramref name="filter"/> may be null (Nothing in Visual Basic), in which case all items will pass.
+      </param><param name="item">The item received from the source.</param><returns>true if an item could be received; otherwise, false.</returns><remarks>
+        This method does not block waiting for the source to provide an item.
+        It will return after checking for an element, whether or not an element was available.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.TryReceiveAll(System.Collections.Generic.IList{System.Tuple{System.Collections.Generic.IList{`0},System.Collections.Generic.IList{`1}}}@)">
+            <summary>
+        Attempts to synchronously receive all available items from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="items">The items received from the source.</param><returns>true if one or more items could be received; otherwise, false.</returns><remarks>
+        This method does not block waiting for the source to provide an item.
+        It will return after checking for elements, whether or not an element was available.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.Complete">
+            <summary>
+        Signals to the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> that it should not accept
+        nor produce any more messages nor consume any more postponed messages.
+      </summary><remarks>
+        After Complete has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state) after it's processed all previously
+        available data. Complete will not block waiting for completion to occur, but rather will initiaite
+        the request; to wait for completion to occur, the <see cref="M:Completion"/> task may be used.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.System#Threading#Tasks#Dataflow#IDataflowBlock#Fault(System.Exception)">
+            <summary>
+        Causes the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> to complete in a 
+        <see cref="F:System.Threading.Tasks.TaskStatus.Faulted"/> state.
+      </summary><param name="exception">The <see cref="T:System.Exception"/> that caused the faulting.</param><exception cref="T:System.ArgumentNullException">
+        The <paramref name="exception"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        After Fault has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state). Faulting a block causes 
+        buffered messages (uprocessed input messages as well as unoffered output messages) to be lost. 
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.System#Threading#Tasks#Dataflow#ISourceBlock{System#Tuple{System#Collections#Generic#IList{T1}@System#Collections#Generic#IList{T2}}}#ConsumeMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{System.Tuple{System.Collections.Generic.IList{`0},System.Collections.Generic.IList{`1}}},System.Boolean@)">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to accept and consume a  
+        <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> previously offered by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being consumed.</param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> consuming the message.
+      </param><param name="messageConsumed">
+        True if the message was successfully consumed. False otherwise.
+      </param><returns>
+        <para>
+          The value of the consumed message. This may correspond to a different <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance than was previously reserved and
+          passed as the <paramref name="messageHeader"/> to <see cref="M:ConsumeMessage"/>. The consuming <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must 
+          use the returned value instead of the value passed as messageValue through <see cref="M:OfferMessage"/>.
+        </para>
+        <para>
+          If the message requested is not available, the return value will be null (Nothing in Visual Basic).
+        </para>
+      </returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> 
+          instance may use <see cref="M:ConsumeMessage"/>, and it must only be used
+          to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          offered by this source to the target.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.System#Threading#Tasks#Dataflow#ISourceBlock{System#Tuple{System#Collections#Generic#IList{T1}@System#Collections#Generic#IList{T2}}}#ReserveMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{System.Tuple{System.Collections.Generic.IList{`0},System.Collections.Generic.IList{`1}}})">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to reserve a previously offered <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> 
+        by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">
+        The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being reserved.
+      </param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> reserving the message.
+      </param><returns>true if the message was successfully reserved; otherwise, false.</returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> instance 
+          may use <see cref="M:ReserveMessage"/>, and it must only be used
+          to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          offered by this source to the target.
+        </para>
+        <para>
+          If true is returned, the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must subsequently call either <see cref="M:ConsumeMessage"/> or <see cref="M:ReserveMessage"/> for this message.
+          Failure to do so may result in the source being unable to propagate any further messages to this or other targets.
+        </para>
+        <para>
+          <see cref="M:ReserveMessage"/> must not be called while the target is holding any internal locks.  Doing so will violate the lock hierarchy
+          necessary to avoid deadlocks in a dataflow network.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.System#Threading#Tasks#Dataflow#ISourceBlock{System#Tuple{System#Collections#Generic#IList{T1}@System#Collections#Generic#IList{T2}}}#ReleaseReservation(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{System.Tuple{System.Collections.Generic.IList{`0},System.Collections.Generic.IList{`1}}})">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to release a previously reserved 
+        <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">
+        The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the reserved message being released.
+      </param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> releasing the message it previously reserved.
+      </param><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><exception cref="T:System.InvalidOperationException">
+        The <paramref name="target"/> did not have the message reserved.
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> 
+          instance may use <see cref="M:ReleaseMessage"/>, and it must only be used
+          to release <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          and successfully reserved by the target.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.CompleteEachTarget">
+            <summary>
+            Invokes Complete on each target
+            </summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.BatchSize">
+            <summary>Gets the size of the batches generated by this <see cref="T:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2"/>.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.Target1">
+            <summary>Gets a target that may be used to offer messages of the first type.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.Target2">
+            <summary>Gets a target that may be used to offer messages of the second type.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.OutputCount">
+            <summary>
+        Gets the number of output items available to be received from this block.
+      </summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.Completion">
+            <summary>
+        Gets a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous operation and completion of the dataflow block.
+      </summary><remarks>
+        A dataflow block is considered completed when it is not currently processing a message and when it has guaranteed that it will not process
+        any more messages. The returned <see cref="T:System.Threading.Tasks.Task">Task</see> will transition to a completed state when the
+        associated block has completed. It will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state
+        when the block completes its processing successfully according to the dataflow block’s defined semantics, it will transition to
+        the <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state when the dataflow block has completed processing prematurely due to an unhandled exception,
+        and it will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">Canceled</see> state when the dataflow  block has completed processing
+        prematurely due to receiving a cancellation request.  If the task completes in the Faulted state, its Exception property will return
+        an <see cref="T:System.AggregateException"/> containing the one or more exceptions that caused the block to fail.
+      </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.OutputCountForDebugger">
+            <summary>Gets the number of messages waiting to be processed.  This must only be used from the debugger as it avoids taking necessary locks.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.DebuggerDisplayContent">
+            <summary>The data to display in the debugger display attribute.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.System#Threading#Tasks#Dataflow#Internal#IDebuggerDisplay#Content">
+            <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.DebugView">
+            <summary>Provides a debugger type proxy for the Transform.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.DebugView.m_batchedJoinBlock">
+            <summary>The block being viewed.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.DebugView.m_sourceDebuggingInformation">
+            <summary>The source half of the block being viewed.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.DebugView.#ctor(System.Threading.Tasks.Dataflow.BatchedJoinBlock{`0,`1})">
+            <summary>Initializes the debug view.</summary>
+            <param name="batchedJoinBlock">The batched join being viewed.</param>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.DebugView.OutputQueue">
+            <summary>Gets the messages waiting to be received.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.DebugView.BatchesCreated">
+            <summary>Gets the number of batches created.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.DebugView.RemainingItemsForBatch">
+            <summary>Gets the number of items remaining to form a batch.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.DebugView.BatchSize">
+            <summary>Gets the size of the batches generated by this BatchedJoin.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.DebugView.Target1">
+            <summary>Gets the first target.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.DebugView.Target2">
+            <summary>Gets the second target.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.DebugView.TaskForOutputProcessing">
+            <summary>Gets the task being used for output processing.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.DebugView.DataflowBlockOptions">
+            <summary>Gets the DataflowBlockOptions used to configure this block.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.DebugView.IsCompleted">
+            <summary>Gets whether the block is completed.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.DebugView.Id">
+            <summary>Gets the block's Id.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.DebugView.LinkedTargets">
+            <summary>Gets the set of all targets linked from this block.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2.DebugView.NextMessageReservedFor">
+            <summary>Gets the target that holds a reservation on the next message, if any.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3">
+            <summary>
+            Provides a dataflow block that batches a specified number of inputs of potentially differing types
+            provided to one or more of its targets.
+            </summary>
+            <typeparam name="T1">Specifies the type of data accepted by the block's first target.</typeparam>
+            <typeparam name="T2">Specifies the type of data accepted by the block's second target.</typeparam>
+            <typeparam name="T3">Specifies the type of data accepted by the block's third target.</typeparam>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.m_batchSize">
+            <summary>The size of the batches generated by this BatchedJoin.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.m_sharedResources">
+            <summary>State shared among the targets.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.m_target1">
+            <summary>The target providing inputs of type T1.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.m_target2">
+            <summary>The target providing inputs of type T2.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.m_target3">
+            <summary>The target providing inputs of type T3.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.m_source">
+            <summary>The source side.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.#ctor(System.Int32)">
+            <summary>Initializes this <see cref="T:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3"/> with the specified configuration.</summary>
+            <param name="batchSize">The number of items to group into a batch.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="batchSize"/> must be positive.</exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.#ctor(System.Int32,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions)">
+            <summary>Initializes this <see cref="T:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3"/> with the specified configuration.</summary>
+            <param name="batchSize">The number of items to group into a batch.</param>
+            <param name="dataflowBlockOptions">The options with which to configure this <see cref="T:System.Threading.Tasks.Dataflow.BatchedJoinBlock`2"/>.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="batchSize"/> must be positive.</exception>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="dataflowBlockOptions"/> is null (Nothing in Visual Basic).</exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.LinkTo(System.Threading.Tasks.Dataflow.ITargetBlock{System.Tuple{System.Collections.Generic.IList{`0},System.Collections.Generic.IList{`1},System.Collections.Generic.IList{`2}}},System.Boolean)">
+            <summary>
+        Links the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> to the specified <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>.
+      </summary><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to which to connect this source.
+      </param><param name="unlinkAfterOne">
+        true if the source should unlink from the target after successfully propagating a single message; 
+        otherwise, false to remain connected even after a single message has been propagated.
+      </param><returns>An IDisposable that, upon calling Dispose, will unlink the source from the target.</returns><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.TryReceive(System.Predicate{System.Tuple{System.Collections.Generic.IList{`0},System.Collections.Generic.IList{`1},System.Collections.Generic.IList{`2}}},System.Tuple{System.Collections.Generic.IList{`0},System.Collections.Generic.IList{`1},System.Collections.Generic.IList{`2}}@)">
+            <summary>
+        Attempts to synchronously receive an available output item from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="filter">
+        The predicate a value must successfully pass in order for it to be received. 
+        <paramref name="filter"/> may be null (Nothing in Visual Basic), in which case all items will pass.
+      </param><param name="item">The item received from the source.</param><returns>true if an item could be received; otherwise, false.</returns><remarks>
+        This method does not block waiting for the source to provide an item.
+        It will return after checking for an element, whether or not an element was available.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.TryReceiveAll(System.Collections.Generic.IList{System.Tuple{System.Collections.Generic.IList{`0},System.Collections.Generic.IList{`1},System.Collections.Generic.IList{`2}}}@)">
+            <summary>
+        Attempts to synchronously receive all available items from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="items">The items received from the source.</param><returns>true if one or more items could be received; otherwise, false.</returns><remarks>
+        This method does not block waiting for the source to provide an item.
+        It will return after checking for elements, whether or not an element was available.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.Complete">
+            <summary>
+        Signals to the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> that it should not accept
+        nor produce any more messages nor consume any more postponed messages.
+      </summary><remarks>
+        After Complete has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state) after it's processed all previously
+        available data. Complete will not block waiting for completion to occur, but rather will initiaite
+        the request; to wait for completion to occur, the <see cref="M:Completion"/> task may be used.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.System#Threading#Tasks#Dataflow#IDataflowBlock#Fault(System.Exception)">
+            <summary>
+        Causes the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> to complete in a 
+        <see cref="F:System.Threading.Tasks.TaskStatus.Faulted"/> state.
+      </summary><param name="exception">The <see cref="T:System.Exception"/> that caused the faulting.</param><exception cref="T:System.ArgumentNullException">
+        The <paramref name="exception"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        After Fault has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state). Faulting a block causes 
+        buffered messages (uprocessed input messages as well as unoffered output messages) to be lost. 
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.System#Threading#Tasks#Dataflow#ISourceBlock{System#Tuple{System#Collections#Generic#IList{T1}@System#Collections#Generic#IList{T2}@System#Collections#Generic#IList{T3}}}#ConsumeMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{System.Tuple{System.Collections.Generic.IList{`0},System.Collections.Generic.IList{`1},System.Collections.Generic.IList{`2}}},System.Boolean@)">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to accept and consume a  
+        <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> previously offered by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being consumed.</param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> consuming the message.
+      </param><param name="messageConsumed">
+        True if the message was successfully consumed. False otherwise.
+      </param><returns>
+        <para>
+          The value of the consumed message. This may correspond to a different <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance than was previously reserved and
+          passed as the <paramref name="messageHeader"/> to <see cref="M:ConsumeMessage"/>. The consuming <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must 
+          use the returned value instead of the value passed as messageValue through <see cref="M:OfferMessage"/>.
+        </para>
+        <para>
+          If the message requested is not available, the return value will be null (Nothing in Visual Basic).
+        </para>
+      </returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> 
+          instance may use <see cref="M:ConsumeMessage"/>, and it must only be used
+          to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          offered by this source to the target.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.System#Threading#Tasks#Dataflow#ISourceBlock{System#Tuple{System#Collections#Generic#IList{T1}@System#Collections#Generic#IList{T2}@System#Collections#Generic#IList{T3}}}#ReserveMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{System.Tuple{System.Collections.Generic.IList{`0},System.Collections.Generic.IList{`1},System.Collections.Generic.IList{`2}}})">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to reserve a previously offered <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> 
+        by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">
+        The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being reserved.
+      </param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> reserving the message.
+      </param><returns>true if the message was successfully reserved; otherwise, false.</returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> instance 
+          may use <see cref="M:ReserveMessage"/>, and it must only be used
+          to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          offered by this source to the target.
+        </para>
+        <para>
+          If true is returned, the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must subsequently call either <see cref="M:ConsumeMessage"/> or <see cref="M:ReserveMessage"/> for this message.
+          Failure to do so may result in the source being unable to propagate any further messages to this or other targets.
+        </para>
+        <para>
+          <see cref="M:ReserveMessage"/> must not be called while the target is holding any internal locks.  Doing so will violate the lock hierarchy
+          necessary to avoid deadlocks in a dataflow network.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.System#Threading#Tasks#Dataflow#ISourceBlock{System#Tuple{System#Collections#Generic#IList{T1}@System#Collections#Generic#IList{T2}@System#Collections#Generic#IList{T3}}}#ReleaseReservation(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{System.Tuple{System.Collections.Generic.IList{`0},System.Collections.Generic.IList{`1},System.Collections.Generic.IList{`2}}})">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to release a previously reserved 
+        <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">
+        The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the reserved message being released.
+      </param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> releasing the message it previously reserved.
+      </param><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><exception cref="T:System.InvalidOperationException">
+        The <paramref name="target"/> did not have the message reserved.
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> 
+          instance may use <see cref="M:ReleaseMessage"/>, and it must only be used
+          to release <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          and successfully reserved by the target.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.CompleteEachTarget">
+            <summary>
+            Invokes Complete on each target
+            </summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.BatchSize">
+            <summary>Gets the size of the batches generated by this <see cref="T:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3"/>.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.Target1">
+            <summary>Gets a target that may be used to offer messages of the first type.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.Target2">
+            <summary>Gets a target that may be used to offer messages of the second type.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.Target3">
+            <summary>Gets a target that may be used to offer messages of the third type.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.OutputCount">
+            <summary>
+        Gets the number of output items available to be received from this block.
+      </summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.Completion">
+            <summary>
+        Gets a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous operation and completion of the dataflow block.
+      </summary><remarks>
+        A dataflow block is considered completed when it is not currently processing a message and when it has guaranteed that it will not process
+        any more messages. The returned <see cref="T:System.Threading.Tasks.Task">Task</see> will transition to a completed state when the
+        associated block has completed. It will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state
+        when the block completes its processing successfully according to the dataflow block’s defined semantics, it will transition to
+        the <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state when the dataflow block has completed processing prematurely due to an unhandled exception,
+        and it will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">Canceled</see> state when the dataflow  block has completed processing
+        prematurely due to receiving a cancellation request.  If the task completes in the Faulted state, its Exception property will return
+        an <see cref="T:System.AggregateException"/> containing the one or more exceptions that caused the block to fail.
+      </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.OutputCountForDebugger">
+            <summary>Gets the number of messages waiting to be processed.  This must only be used from the debugger as it avoids taking necessary locks.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.DebuggerDisplayContent">
+            <summary>The data to display in the debugger display attribute.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.System#Threading#Tasks#Dataflow#Internal#IDebuggerDisplay#Content">
+            <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.DebugView">
+            <summary>Provides a debugger type proxy for the Transform.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.DebugView.m_batchedJoinBlock">
+            <summary>The block being viewed.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.DebugView.m_sourceDebuggingInformation">
+            <summary>The source half of the block being viewed.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.DebugView.#ctor(System.Threading.Tasks.Dataflow.BatchedJoinBlock{`0,`1,`2})">
+            <summary>Initializes the debug view.</summary>
+            <param name="batchedJoinBlock">The batched join being viewed.</param>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.DebugView.OutputQueue">
+            <summary>Gets the messages waiting to be received.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.DebugView.BatchesCreated">
+            <summary>Gets the number of batches created.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.DebugView.RemainingItemsForBatch">
+            <summary>Gets the number of items remaining to form a batch.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.DebugView.BatchSize">
+            <summary>Gets the size of the batches generated by this BatchedJoin.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.DebugView.Target1">
+            <summary>Gets the first target.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.DebugView.Target2">
+            <summary>Gets the second target.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.DebugView.Target3">
+            <summary>Gets the second target.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.DebugView.TaskForOutputProcessing">
+            <summary>Gets the task being used for output processing.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.DebugView.DataflowBlockOptions">
+            <summary>Gets the DataflowBlockOptions used to configure this block.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.DebugView.IsCompleted">
+            <summary>Gets whether the block is completed.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.DebugView.Id">
+            <summary>Gets the block's Id.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.DebugView.LinkedTargets">
+            <summary>Gets the set of all targets linked from this block.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchedJoinBlock`3.DebugView.NextMessageReservedFor">
+            <summary>Gets the target that holds a reservation on the next message, if any.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTarget`1">
+            <summary>Provides the target used in a BatchedJoin.</summary>
+            <typeparam name="T">Specifies the type of data accepted by this target.</typeparam>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.ITargetBlock`1">
+            <summary>Represents a dataflow block that is a target for data.</summary>
+            <typeparam name="TInput">Specifies the type of data accepted by the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>.</typeparam>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.ITargetBlock`1.OfferMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,`0,System.Threading.Tasks.Dataflow.ISourceBlock{`0},System.Boolean)">
+            <!-- No matching elements were found for the following include tag --><include file="CommonXmlDocComments.xml" path="CommonXmlDocComments/Sources/Member[@name=&quot;OfferMessage&quot;]/*"/>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTarget`1.m_sharedResources">
+            <summary>The shared resources used by all targets associated with the same batched join instance.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTarget`1.m_decliningPermanently">
+            <summary>Whether this target is declining future messages.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTarget`1.m_messages">
+            <summary>Input messages for the next batch.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTarget`1.#ctor(System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTargetSharedResources)">
+            <summary>Initializes the target.</summary>
+            <param name="sharedResources">The shared resources used by all targets associated with this batched join.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTarget`1.GetAndEmptyMessages">
+            <summary>Gets the messages buffered by this target and then empties the collection.</summary>
+            <returns>The messages from the target.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTarget`1.OfferMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,`0,System.Threading.Tasks.Dataflow.ISourceBlock{`0},System.Boolean)">
+            <summary>
+        Offers a message to the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>, giving the target the opportunity to consume or postpone the message.
+      </summary><param name="messageHeader">
+        A <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance that represents the header of the message being offered.
+      </param><param name="messageValue">
+        The value of the message being offered.
+      </param><param name="source">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> offering the message. This may be null (Nothing in Visual Basic).
+      </param><param name="consumeToAccept">
+        true if the target must call ConsumeMessage synchronously during the call to OfferMessage, prior to returning
+        <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted"/>, in order to consume the message.
+        false if the target wanting to accept the message should not call ConsumeMessage, and should isntead simply return DataflowMessageStatus.Accepted.
+      </param><returns>
+        The status of the offered message. If the message was accepted by the target, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted"/> is returned, and the source should
+        no longer use the offered message, as it is now owned by the target. If the message was postponed by the target, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Postponed"/> is returned
+        as a notification that the target may later attempt to consume or reserve the message; in the meantime, the source still owns the message and may offer it to other blocks.
+        If the target would have otherwise postponed but source was null, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Declined"/> is instead returned. 
+        If the target tried to accept the message but missed it due to the source delivering the message to another target or simply discarding it, 
+        <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.NotAvailable"/> is returned.
+        If the target chose not to accept the message, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Declined"/> is returned.  If the target
+        chose not to accept the message and will never accept another message from this source, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.DecliningPermanently"/> is returned.
+      </returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentException">
+        <paramref name="consumeToAccept"/> may only be true if provided with a non-null <paramref name="source"/>.
+      </exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTarget`1.Complete">
+            <summary>
+        Signals to the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> that it should not accept
+        nor produce any more messages nor consume any more postponed messages.
+      </summary><remarks>
+        After Complete has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state) after it's processed all previously
+        available data. Complete will not block waiting for completion to occur, but rather will initiaite
+        the request; to wait for completion to occur, the <see cref="M:Completion"/> task may be used.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTarget`1.System#Threading#Tasks#Dataflow#IDataflowBlock#Fault(System.Exception)">
+            <summary>
+        Causes the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> to complete in a 
+        <see cref="F:System.Threading.Tasks.TaskStatus.Faulted"/> state.
+      </summary><param name="exception">The <see cref="T:System.Exception"/> that caused the faulting.</param><exception cref="T:System.ArgumentNullException">
+        The <paramref name="exception"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        After Fault has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state). Faulting a block causes 
+        buffered messages (uprocessed input messages as well as unoffered output messages) to be lost. 
+      </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTarget`1.Count">
+            <summary>Gets the number of messages buffered in this target.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTarget`1.System#Threading#Tasks#Dataflow#IDataflowBlock#Completion">
+            <summary>
+        Gets a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous operation and completion of the dataflow block.
+      </summary><remarks>
+        A dataflow block is considered completed when it is not currently processing a message and when it has guaranteed that it will not process
+        any more messages. The returned <see cref="T:System.Threading.Tasks.Task">Task</see> will transition to a completed state when the
+        associated block has completed. It will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state
+        when the block completes its processing successfully according to the dataflow block’s defined semantics, it will transition to
+        the <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state when the dataflow block has completed processing prematurely due to an unhandled exception,
+        and it will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">Canceled</see> state when the dataflow  block has completed processing
+        prematurely due to receiving a cancellation request.  If the task completes in the Faulted state, its Exception property will return
+        an <see cref="T:System.AggregateException"/> containing the one or more exceptions that caused the block to fail.
+      </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTarget`1.DebuggerDisplayContent">
+            <summary>The data to display in the debugger display attribute.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTarget`1.System#Threading#Tasks#Dataflow#Internal#IDebuggerDisplay#Content">
+            <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTarget`1.DebugView">
+            <summary>Provides a debugger type proxy for the Transform.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTarget`1.DebugView.m_batchedJoinBlockTarget">
+            <summary>The batched join block target being viewed.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTarget`1.DebugView.#ctor(System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTarget{`0})">
+            <summary>Initializes the debug view.</summary>
+            <param name="batchedJoinBlockTarget">The batched join target being viewed.</param>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTarget`1.DebugView.InputQueue">
+            <summary>Gets the messages waiting to be processed.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTarget`1.DebugView.IsDecliningPermanently">
+            <summary>Gets whether the block is declining further messages.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTargetSharedResources">
+            <summary>Provides a container for resources shared across all targets used by the same BatchedJoinBlock instance.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTargetSharedResources.#ctor(System.Int32,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions,System.Action,System.Action,System.Action{System.Exception},System.Action)">
+            <summary>Initializes the shared resources.</summary>
+            <param name="batchSize">The size of a batch to create.</param>
+            <param name="dataflowBlockOptions">The options used to configur the shared resources.  Assumed to be immutable.</param>
+            <param name="batchSizeReachedAction">The action to invoke when a batch is completed.</param>
+            <param name="allTargetsDecliningAction">The action to invoke when no more targets are accepting input.</param>
+            <param name="exceptionAction">The action to invoke when an exception needs to be logged.</param>
+            <param name="completionAction">The action to invoke when completing, typically invoked due to a call to Fault.</param>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTargetSharedResources.m_incomingLock">
+            <summary>
+            A lock used to synchronize all incoming messages on all targets. It protects all of the rest 
+            of the shared resource's state and will be held while invoking the delegates.
+            </summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTargetSharedResources.m_batchSize">
+            <summary>The size of the batches to generate.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTargetSharedResources.m_batchSizeReachedAction">
+            <summary>The action to invoke when enough elements have been accumulated to make a batch.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTargetSharedResources.m_allTargetsDecliningPermanentlyAction">
+            <summary>The action to invoke when all targets are declining further messages.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTargetSharedResources.m_exceptionAction">
+            <summary>The action to invoke when an exception has to be logged.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTargetSharedResources.m_completionAction">
+            <summary>The action to invoke when the owning block has to be completed.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTargetSharedResources.m_remainingItemsInBatch">
+            <summary>The number of items remaining to form a batch.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTargetSharedResources.m_remainingAliveTargets">
+            <summary>The number of targets still alive (i.e. not declining all further messages).</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTargetSharedResources.m_decliningPermanently">
+            <summary>Whether all targets should decline all further messages.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.BatchedJoinBlockTargetSharedResources.m_batchesCreated">
+            <summary>The number of batches created.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.Internal.SourceCore`1">
+            <summary>Provides a core implementation for blocks that implement <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.</summary>
+            <typeparam name="TOutput">Specifies the type of data supplied by the <see cref="T:System.Threading.Tasks.Dataflow.Internal.SourceCore`1"/>.</typeparam>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.m_completionTask">
+            <summary>A TaskCompletionSource that represents the completion of this block.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.m_targetRegistry">
+            <summary>A registry used to store all linked targets and information about them.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.m_messages">
+            <summary>All of the output messages queued up to be received by consumers/targets.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.m_executionContext">
+            <summary>The execution context captured when this block was instantiated.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.m_owningSource">
+            <summary>The source utilizing this helper.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.m_dataflowBlockOptions">
+            <summary>The options used to configure this block's execution.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.m_completeAction">
+            <summary>
+            An action to be invoked on the owner block to stop accepting messages.
+            This action is invoked when SourceCore encounters an exception.
+            </summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.m_itemsRemovedAction">
+            <summary>
+            An action to be invoked on the owner block when an item is removed.
+            This may be null if the owner block doesn't need to be notified.
+            </summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.m_itemCountingFunc">
+            <summary>Item counting function</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.m_taskForOutputProcessing">
+            <summary>The task used to process the output and offer it to targets.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.m_nextMessageId">
+            <summary>Counter for message IDs unique within this source block.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.m_nextMessageReservedFor">
+            <summary>The target that the next message is reserved for, or null if nothing is reserved.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.m_decliningPermanently">
+            <summary>Whether all future messages should be declined.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.m_enableOffering">
+            <summary>Whether this block should again attempt to offer messages to targets.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.m_completionReserved">
+            <summary>Whether someone has reserved the right to call CompleteBlockOncePossible.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.m_exceptions">
+            <summary>Exceptions that may have occured and gone unhandled during processing.</summary>
+            <remarks>
+            Marked volatile because we compare the m_exceptions reference to null while not under a lock,
+            but we manipulate it elsewhere (e.g. initializing it to non-null) while holding a lock.
+            </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.#ctor(System.Threading.Tasks.Dataflow.ISourceBlock{`0},System.Threading.Tasks.Dataflow.DataflowBlockOptions,System.Action{System.Threading.Tasks.Dataflow.ISourceBlock{`0}},System.Action{System.Threading.Tasks.Dataflow.ISourceBlock{`0},System.Int32},System.Func{System.Threading.Tasks.Dataflow.ISourceBlock{`0},`0,System.Collections.Generic.IList{`0},System.Int32})">
+            <summary>Initializes the source core.</summary>
+            <param name="owningSource">The source utilizing this core.</param>
+            <param name="dataflowBlockOptions">The options to use to configure the block.</param>
+            <param name="completeAction">Action to invoke in order to decline the associated target half, which will in turn decline this source core.</param>
+            <param name="itemsRemovedAction">Action to invoke when one or more items is removed.  This may be null.</param>
+            <param name="itemCountingFunc">
+            Action to invoke when the owner needs to be able to count the number of individual
+            items in an output or set of outputs.
+            </param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.LinkTo(System.Threading.Tasks.Dataflow.ITargetBlock{`0},System.Boolean)">
+            <summary>
+        Links the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> to the specified <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>.
+      </summary><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to which to connect this source.
+      </param><param name="unlinkAfterOne">
+        true if the source should unlink from the target after successfully propagating a single message; 
+        otherwise, false to remain connected even after a single message has been propagated.
+      </param><returns>An IDisposable that, upon calling Dispose, will unlink the source from the target.</returns><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.ConsumeMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0},System.Boolean@)">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to accept and consume a  
+        <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> previously offered by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being consumed.</param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> consuming the message.
+      </param><param name="messageConsumed">
+        True if the message was successfully consumed. False otherwise.
+      </param><returns>
+        <para>
+          The value of the consumed message. This may correspond to a different <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance than was previously reserved and
+          passed as the <paramref name="messageHeader"/> to <see cref="M:ConsumeMessage"/>. The consuming <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must 
+          use the returned value instead of the value passed as messageValue through <see cref="M:OfferMessage"/>.
+        </para>
+        <para>
+          If the message requested is not available, the return value will be null (Nothing in Visual Basic).
+        </para>
+      </returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> 
+          instance may use <see cref="M:ConsumeMessage"/>, and it must only be used
+          to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          offered by this source to the target.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.ReserveMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0})">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to reserve a previously offered <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> 
+        by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">
+        The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being reserved.
+      </param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> reserving the message.
+      </param><returns>true if the message was successfully reserved; otherwise, false.</returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> instance 
+          may use <see cref="M:ReserveMessage"/>, and it must only be used
+          to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          offered by this source to the target.
+        </para>
+        <para>
+          If true is returned, the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must subsequently call either <see cref="M:ConsumeMessage"/> or <see cref="M:ReserveMessage"/> for this message.
+          Failure to do so may result in the source being unable to propagate any further messages to this or other targets.
+        </para>
+        <para>
+          <see cref="M:ReserveMessage"/> must not be called while the target is holding any internal locks.  Doing so will violate the lock hierarchy
+          necessary to avoid deadlocks in a dataflow network.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.ReleaseReservation(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0})">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to release a previously reserved 
+        <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">
+        The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the reserved message being released.
+      </param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> releasing the message it previously reserved.
+      </param><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><exception cref="T:System.InvalidOperationException">
+        The <paramref name="target"/> did not have the message reserved.
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> 
+          instance may use <see cref="M:ReleaseMessage"/>, and it must only be used
+          to release <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          and successfully reserved by the target.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.TryReceive(System.Predicate{`0},`0@)">
+            <summary>
+        Attempts to synchronously receive an available output item from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="filter">
+        The predicate a value must successfully pass in order for it to be received. 
+        <paramref name="filter"/> may be null (Nothing in Visual Basic), in which case all items will pass.
+      </param><param name="item">The item received from the source.</param><returns>true if an item could be received; otherwise, false.</returns><remarks>
+        This method does not block waiting for the source to provide an item.
+        It will return after checking for an element, whether or not an element was available.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.TryReceiveAll(System.Collections.Generic.IList{`0}@)">
+            <summary>
+        Attempts to synchronously receive all available items from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="items">The items received from the source.</param><returns>true if one or more items could be received; otherwise, false.</returns><remarks>
+        This method does not block waiting for the source to provide an item.
+        It will return after checking for elements, whether or not an element was available.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.AddMessage(`0)">
+            <summary>Adds a message to the source block for propagation.</summary>
+            <param name="item">The item to be wrapped in a message to be added.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.AddMessages(System.Collections.Generic.IEnumerable{`0})">
+            <summary>Adds messages to the source block for propagation.</summary>
+            <param name="items">The list of items to be wrapped in messages to be added.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.AddException(System.Exception)">
+            <summary>Adds an individual exceptionto this source.</summary>
+            <param name="exception">The exception to add</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.AddExceptions(System.Collections.Generic.List{System.Exception})">
+            <summary>Adds exceptions to this source.</summary>
+            <param name="exceptions">The exceptions to add</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.AddAndUnwrapAggregateException(System.AggregateException)">
+            <summary>Adds the exceptions contained in an AggregateException to this source.</summary>
+            <param name="aggregateException">The exception to add</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.Complete">
+            <summary>Informs the block that it will not be receiving additional messages.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.OfferToTargets(System.Threading.Tasks.Dataflow.ITargetBlock{`0})">
+            <summary>Offers messages to all targets.</summary>
+            <param name="linkToTarget">
+            The newly linked target, if OfferToTargets is being called to synchronously
+            propagate to a target during a LinkTo operation.
+            </param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.OfferMessageToTarget(System.Threading.Tasks.Dataflow.DataflowMessageHeader,`0,System.Threading.Tasks.Dataflow.ITargetBlock{`0},System.Boolean@)">
+            <summary>Offers the message to the target.</summary>
+            <param name="header">The header of the message to offer.</param>
+            <param name="message">The message being offered.</param>
+            <param name="target">The single target to which the message should be offered.</param>
+            <param name="messageWasAccepted">true if the message was accepted by the target; otherwise, false.</param>
+            <returns>
+            true if the message should not be offered to additional targets; 
+            false if propagation should be allowed to continue.
+            </returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.OfferAsyncIfNecessary(System.Boolean,System.Boolean)">
+            <summary>Called when we want to enable asynchronously offering message to targets.</summary>
+            <param name="isReplacementReplica">Whether this call is the continuation of a previous message loop.</param>
+            <param name="includeOutgoingOnlyChecks">Whether this call should include in "what's necessary" checks that require the outgoing lock.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.OfferMessagesLoopWithExecutionContext">
+            <summary>Task body used to process messages under the right execution context.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.OfferMessagesLoopCore">
+            <summary>Task body used to process messages.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.CompleteBlockIfPossible">
+            <summary>Completes the block's processing if there's nothing left to do and never will be.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.CompleteBlockOncePossible">
+            <summary>
+            Completes the block.  This must only be called once, and only once all of the completion conditions are met.
+            As such, it must only be called from CompleteBlockIfPossible.
+            </summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.GetDebuggingInformation">
+            <summary>Gets information about this helper to be used for display in a debugger.</summary>
+            <returns>Debugging information about this source core.</returns>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.OutgoingLock">
+            <summary>Gets the object to use as the outgoing lock.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.ValueLock">
+            <summary>Gets the object to use as the value lock.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.Completion">
+            <summary>
+        Gets a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous operation and completion of the dataflow block.
+      </summary><remarks>
+        A dataflow block is considered completed when it is not currently processing a message and when it has guaranteed that it will not process
+        any more messages. The returned <see cref="T:System.Threading.Tasks.Task">Task</see> will transition to a completed state when the
+        associated block has completed. It will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state
+        when the block completes its processing successfully according to the dataflow block’s defined semantics, it will transition to
+        the <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state when the dataflow block has completed processing prematurely due to an unhandled exception,
+        and it will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">Canceled</see> state when the dataflow  block has completed processing
+        prematurely due to receiving a cancellation request.  If the task completes in the Faulted state, its Exception property will return
+        an <see cref="T:System.AggregateException"/> containing the one or more exceptions that caused the block to fail.
+      </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.OutputCount">
+            <summary>Gets the number of items available to be received from this block.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.CapturedContext">
+            <summary>Gets the execution context captured for this source core.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.HasExceptions">
+            <summary>Gets whether the m_exceptions list is non-null.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.DataflowBlockOptions">
+            <summary>Gets the DataflowBlockOptions used to configure this block.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.CanceledOrFaulted">
+            <summary>Gets whether the source has had cancellation requested or an exception has occurred.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.DebuggerDisplayContent">
+            <summary>Gets the object to display in the debugger display attribute.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.DebuggingInformation">
+            <summary>Provides debugging information about the source core.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.DebuggingInformation.m_source">
+            <summary>The source being viewed.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.DebuggingInformation.#ctor(System.Threading.Tasks.Dataflow.Internal.SourceCore{`0})">
+            <summary>Initializes the type proxy.</summary>
+            <param name="source">The source being viewed.</param>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.DebuggingInformation.OutputCount">
+            <summary>Gets the number of messages available for receiving.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.DebuggingInformation.OutputQueue">
+            <summary>Gets the messages available for receiving.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.DebuggingInformation.TaskForOutputProcessing">
+            <summary>Gets the task being used for output processing.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.DebuggingInformation.DataflowBlockOptions">
+            <summary>Gets the DataflowBlockOptions used to configure this block.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.DebuggingInformation.IsDecliningPermanently">
+            <summary>Gets whether the block is declining further messages.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.DebuggingInformation.IsCompleted">
+            <summary>Gets whether the block is completed.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.DebuggingInformation.LinkedTargets">
+            <summary>Gets the set of all targets linked from this block.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.SourceCore`1.DebuggingInformation.NextMessageReservedFor">
+            <summary>Gets the target that holds a reservation on the next message, if any.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.Internal.ActionOnDispose">
+            <summary>An IDisposable that will run an Action delegate when disposed.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.ActionOnDispose.s_empty">
+            <summary>An IDisposable that does nothing.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.ActionOnDispose.m_disposeDelegate">
+            <summary>The action to run when disposed.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.ActionOnDispose.m_state">
+            <summary>Optional state to be passed to the dispose delegate.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.ActionOnDispose.#ctor(System.Action{System.Object},System.Object)">
+            <summary>Initializes the ActionOnDispose.</summary>
+            <param name="actionWithState">The action to run when disposed.</param>
+            <param name="state">State to pass to the action when it's invoked.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.ActionOnDispose.System#IDisposable#Dispose">
+            <summary>Invoke the action.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.ActionOnDispose.Empty">
+            <summary>Gets an IDisposable that does nothing.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.ActionOnDispose.Disposed">
+            <summary>Gets whether the IDisposable has been disposed.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.TransformBlock`2">
+            <summary>Provides a dataflow block that invokes a provided <see cref="T:System.Func`2"/> delegate for every data element received.</summary>
+            <typeparam name="TInput">Specifies the type of data received and operated on by this <see cref="T:System.Threading.Tasks.Dataflow.TransformBlock`2"/>.</typeparam>
+            <typeparam name="TOutput">Specifies the type of data output by this <see cref="T:System.Threading.Tasks.Dataflow.TransformBlock`2"/>.</typeparam>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.IPropagatorBlock`2">
+            <summary>Represents a dataflow block that is both a target for data and a source of data.</summary>
+            <typeparam name="TInput">Specifies the type of data accepted by the <see cref="T:System.Threading.Tasks.Dataflow.IPropagatorBlock`2"/>.</typeparam>
+            <typeparam name="TOutput">Specifies the type of data supplied by the <see cref="T:System.Threading.Tasks.Dataflow.IPropagatorBlock`2"/>.</typeparam>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.TransformBlock`2.m_target">
+            <summary>The target side.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.TransformBlock`2.m_reorderingBuffer">
+            <summary>Buffer used to reorder outputs that may have completed out-of-order between the target half and the source half.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.TransformBlock`2.m_source">
+            <summary>The source side.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.TransformBlock`2.#ctor(System.Func{`0,`1})">
+            <summary>Initializes the <see cref="T:System.Threading.Tasks.Dataflow.TransformBlock`2"/> with the specified <see cref="T:System.Func`2"/>.</summary>
+            <param name="transform">The function to invoke with each data element received.</param>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="transform"/> is null (Nothing in Visual Basic).</exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.TransformBlock`2.#ctor(System.Func{`0,`1},System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions)">
+            <summary>
+            Initializes the <see cref="T:System.Threading.Tasks.Dataflow.TransformBlock`2"/> with the specified <see cref="T:System.Func`2"/> and 
+            <see cref="T:System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions"/>.
+            </summary>
+            <param name="transform">The function to invoke with each data element received.</param>
+            <param name="dataflowBlockOptions">The options with which to configure this <see cref="T:System.Threading.Tasks.Dataflow.TransformBlock`2"/>.</param>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="transform"/> is null (Nothing in Visual Basic).</exception>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="dataflowBlockOptions"/> is null (Nothing in Visual Basic).</exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.TransformBlock`2.#ctor(System.Func{`0,System.Threading.Tasks.Task{`1}})">
+            <summary>Initializes the <see cref="T:System.Threading.Tasks.Dataflow.TransformBlock`2"/> with the specified <see cref="T:System.Func`2"/>.</summary>
+            <param name="transform">The function to invoke with each data element received.</param>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="transform"/> is null (Nothing in Visual Basic).</exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.TransformBlock`2.#ctor(System.Func{`0,System.Threading.Tasks.Task{`1}},System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions)">
+            <summary>
+            Initializes the <see cref="T:System.Threading.Tasks.Dataflow.TransformBlock`2"/> with the specified <see cref="T:System.Func`2"/>
+            and <see cref="T:System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions"/>.
+            </summary>
+            <param name="transform">The function to invoke with each data element received.</param>
+            <param name="dataflowBlockOptions">The options with which to configure this <see cref="T:System.Threading.Tasks.Dataflow.TransformBlock`2"/>.</param>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="transform"/> is null (Nothing in Visual Basic).</exception>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="dataflowBlockOptions"/> is null (Nothing in Visual Basic).</exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.TransformBlock`2.#ctor(System.Delegate,System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions)">
+            <summary>
+            Initializes the <see cref="T:System.Threading.Tasks.Dataflow.TransformBlock`2"/> with the specified <see cref="T:System.Func`2"/> 
+            and <see cref="T:System.Threading.Tasks.Dataflow.DataflowBlockOptions"/>.
+            </summary>
+            <param name="transform">The function to invoke with each data element received.</param>
+            <param name="dataflowBlockOptions">The options with which to configure this <see cref="T:System.Threading.Tasks.Dataflow.TransformBlock`2"/>.</param>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="transform"/> is null (Nothing in Visual Basic).</exception>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="dataflowBlockOptions"/> is null (Nothing in Visual Basic).</exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.TransformBlock`2.ProcessMessage(System.Func{`0,`1},System.Collections.Generic.KeyValuePair{`0,System.Int64})">
+            <summary>Processes the message with a user-provided transform function that returns a TOutput.</summary>
+            <param name="transform">The transform function to use to process the message.</param>
+            <param name="messageWithId">The message to be processed.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.TransformBlock`2.ProcessMessageWithTask(System.Func{`0,System.Threading.Tasks.Task{`1}},System.Collections.Generic.KeyValuePair{`0,System.Int64})">
+            <summary>Processes the message with a user-provided transform function that returns a task of TOutput.</summary>
+            <param name="transform">The transform function to use to process the message.</param>
+            <param name="messageWithId">The message to be processed.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.TransformBlock`2.AsyncCompleteProcessMessageWithTask(System.Threading.Tasks.Task{`1},System.Collections.Generic.KeyValuePair{`0,System.Int64})">
+            <summary>Completes the processing of an asynchronous message.</summary>
+            <param name="completed">The completed task storing the output data generated for an input message.</param>
+            <param name="messageWithId">The originating message</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.TransformBlock`2.Complete">
+            <summary>
+        Signals to the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> that it should not accept
+        nor produce any more messages nor consume any more postponed messages.
+      </summary><remarks>
+        After Complete has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state) after it's processed all previously
+        available data. Complete will not block waiting for completion to occur, but rather will initiaite
+        the request; to wait for completion to occur, the <see cref="M:Completion"/> task may be used.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.TransformBlock`2.System#Threading#Tasks#Dataflow#IDataflowBlock#Fault(System.Exception)">
+            <summary>
+        Causes the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> to complete in a 
+        <see cref="F:System.Threading.Tasks.TaskStatus.Faulted"/> state.
+      </summary><param name="exception">The <see cref="T:System.Exception"/> that caused the faulting.</param><exception cref="T:System.ArgumentNullException">
+        The <paramref name="exception"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        After Fault has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state). Faulting a block causes 
+        buffered messages (uprocessed input messages as well as unoffered output messages) to be lost. 
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.TransformBlock`2.LinkTo(System.Threading.Tasks.Dataflow.ITargetBlock{`1},System.Boolean)">
+            <summary>
+        Links the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> to the specified <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>.
+      </summary><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to which to connect this source.
+      </param><param name="unlinkAfterOne">
+        true if the source should unlink from the target after successfully propagating a single message; 
+        otherwise, false to remain connected even after a single message has been propagated.
+      </param><returns>An IDisposable that, upon calling Dispose, will unlink the source from the target.</returns><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.TransformBlock`2.TryReceive(System.Predicate{`1},`1@)">
+            <summary>
+        Attempts to synchronously receive an available output item from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="filter">
+        The predicate a value must successfully pass in order for it to be received. 
+        <paramref name="filter"/> may be null (Nothing in Visual Basic), in which case all items will pass.
+      </param><param name="item">The item received from the source.</param><returns>true if an item could be received; otherwise, false.</returns><remarks>
+        This method does not block waiting for the source to provide an item.
+        It will return after checking for an element, whether or not an element was available.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.TransformBlock`2.TryReceiveAll(System.Collections.Generic.IList{`1}@)">
+            <summary>
+        Attempts to synchronously receive all available items from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="items">The items received from the source.</param><returns>true if one or more items could be received; otherwise, false.</returns><remarks>
+        This method does not block waiting for the source to provide an item.
+        It will return after checking for elements, whether or not an element was available.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.TransformBlock`2.System#Threading#Tasks#Dataflow#ITargetBlock{TInput}#OfferMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,`0,System.Threading.Tasks.Dataflow.ISourceBlock{`0},System.Boolean)">
+            <summary>
+        Offers a message to the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>, giving the target the opportunity to consume or postpone the message.
+      </summary><param name="messageHeader">
+        A <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance that represents the header of the message being offered.
+      </param><param name="messageValue">
+        The value of the message being offered.
+      </param><param name="source">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> offering the message. This may be null (Nothing in Visual Basic).
+      </param><param name="consumeToAccept">
+        true if the target must call ConsumeMessage synchronously during the call to OfferMessage, prior to returning
+        <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted"/>, in order to consume the message.
+        false if the target wanting to accept the message should not call ConsumeMessage, and should isntead simply return DataflowMessageStatus.Accepted.
+      </param><returns>
+        The status of the offered message. If the message was accepted by the target, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted"/> is returned, and the source should
+        no longer use the offered message, as it is now owned by the target. If the message was postponed by the target, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Postponed"/> is returned
+        as a notification that the target may later attempt to consume or reserve the message; in the meantime, the source still owns the message and may offer it to other blocks.
+        If the target would have otherwise postponed but source was null, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Declined"/> is instead returned. 
+        If the target tried to accept the message but missed it due to the source delivering the message to another target or simply discarding it, 
+        <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.NotAvailable"/> is returned.
+        If the target chose not to accept the message, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Declined"/> is returned.  If the target
+        chose not to accept the message and will never accept another message from this source, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.DecliningPermanently"/> is returned.
+      </returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentException">
+        <paramref name="consumeToAccept"/> may only be true if provided with a non-null <paramref name="source"/>.
+      </exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.TransformBlock`2.System#Threading#Tasks#Dataflow#ISourceBlock{TOutput}#ConsumeMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`1},System.Boolean@)">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to accept and consume a  
+        <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> previously offered by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being consumed.</param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> consuming the message.
+      </param><param name="messageConsumed">
+        True if the message was successfully consumed. False otherwise.
+      </param><returns>
+        <para>
+          The value of the consumed message. This may correspond to a different <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance than was previously reserved and
+          passed as the <paramref name="messageHeader"/> to <see cref="M:ConsumeMessage"/>. The consuming <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must 
+          use the returned value instead of the value passed as messageValue through <see cref="M:OfferMessage"/>.
+        </para>
+        <para>
+          If the message requested is not available, the return value will be null (Nothing in Visual Basic).
+        </para>
+      </returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> 
+          instance may use <see cref="M:ConsumeMessage"/>, and it must only be used
+          to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          offered by this source to the target.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.TransformBlock`2.System#Threading#Tasks#Dataflow#ISourceBlock{TOutput}#ReserveMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`1})">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to reserve a previously offered <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> 
+        by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">
+        The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being reserved.
+      </param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> reserving the message.
+      </param><returns>true if the message was successfully reserved; otherwise, false.</returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> instance 
+          may use <see cref="M:ReserveMessage"/>, and it must only be used
+          to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          offered by this source to the target.
+        </para>
+        <para>
+          If true is returned, the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must subsequently call either <see cref="M:ConsumeMessage"/> or <see cref="M:ReserveMessage"/> for this message.
+          Failure to do so may result in the source being unable to propagate any further messages to this or other targets.
+        </para>
+        <para>
+          <see cref="M:ReserveMessage"/> must not be called while the target is holding any internal locks.  Doing so will violate the lock hierarchy
+          necessary to avoid deadlocks in a dataflow network.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.TransformBlock`2.System#Threading#Tasks#Dataflow#ISourceBlock{TOutput}#ReleaseReservation(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`1})">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to release a previously reserved 
+        <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">
+        The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the reserved message being released.
+      </param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> releasing the message it previously reserved.
+      </param><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><exception cref="T:System.InvalidOperationException">
+        The <paramref name="target"/> did not have the message reserved.
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> 
+          instance may use <see cref="M:ReleaseMessage"/>, and it must only be used
+          to release <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          and successfully reserved by the target.
+        </para>
+      </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.TransformBlock`2.Completion">
+            <summary>
+        Gets a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous operation and completion of the dataflow block.
+      </summary><remarks>
+        A dataflow block is considered completed when it is not currently processing a message and when it has guaranteed that it will not process
+        any more messages. The returned <see cref="T:System.Threading.Tasks.Task">Task</see> will transition to a completed state when the
+        associated block has completed. It will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state
+        when the block completes its processing successfully according to the dataflow block’s defined semantics, it will transition to
+        the <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state when the dataflow block has completed processing prematurely due to an unhandled exception,
+        and it will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">Canceled</see> state when the dataflow  block has completed processing
+        prematurely due to receiving a cancellation request.  If the task completes in the Faulted state, its Exception property will return
+        an <see cref="T:System.AggregateException"/> containing the one or more exceptions that caused the block to fail.
+      </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.TransformBlock`2.InputCount">
+            <summary>
+        Gets the number of input items waiting to be processed by this block.
+      </summary><remarks>
+        The InputCount does not include any items currently being processed by the block or any items that 
+        have already been processed by the block.
+      </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.TransformBlock`2.OutputCount">
+            <summary>
+        Gets the number of output items available to be received from this block.
+      </summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.TransformBlock`2.InputCountForDebugger">
+            <summary>Gets the number of messages waiting to be processed.  This must only be used from the debugger as it avoids taking necessary locks.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.TransformBlock`2.OutputCountForDebugger">
+            <summary>Gets the number of messages waiting to be processed.  This must only be used from the debugger as it avoids taking necessary locks.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.TransformBlock`2.DebuggerDisplayContent">
+            <summary>The data to display in the debugger display attribute.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.TransformBlock`2.System#Threading#Tasks#Dataflow#Internal#IDebuggerDisplay#Content">
+            <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.TransformBlock`2.DebugView">
+            <summary>Provides a debugger type proxy for the TransformBlock.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.TransformBlock`2.DebugView.m_transformBlock">
+            <summary>The transform being viewed.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.TransformBlock`2.DebugView.m_targetDebuggingInformation">
+            <summary>The target half of the block being viewed.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.TransformBlock`2.DebugView.m_sourceDebuggingInformation">
+            <summary>The source half of the block being viewed.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.TransformBlock`2.DebugView.#ctor(System.Threading.Tasks.Dataflow.TransformBlock{`0,`1})">
+            <summary>Initializes the debug view.</summary>
+            <param name="transformBlock">The transform being viewed.</param>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.TransformBlock`2.DebugView.InputQueue">
+            <summary>Gets the messages waiting to be processed.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.TransformBlock`2.DebugView.PostponedMessages">
+            <summary>Gets any postponed messages.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.TransformBlock`2.DebugView.OutputQueue">
+            <summary>Gets the messages waiting to be received.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.TransformBlock`2.DebugView.CurrentDegreeOfParallelism">
+            <summary>Gets the number of oustanding input operations.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.TransformBlock`2.DebugView.TaskForOutputProcessing">
+            <summary>Gets the task being used for output processing.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.TransformBlock`2.DebugView.DataflowBlockOptions">
+            <summary>Gets the DataflowBlockOptions used to configure this block.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.TransformBlock`2.DebugView.IsDecliningPermanently">
+            <summary>Gets whether the block is declining further messages.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.TransformBlock`2.DebugView.IsCompleted">
+            <summary>Gets whether the block is completed.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.TransformBlock`2.DebugView.Id">
+            <summary>Gets the block's Id.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.TransformBlock`2.DebugView.LinkedTargets">
+            <summary>Gets the set of all targets linked from this block.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.TransformBlock`2.DebugView.NextMessageReservedFor">
+            <summary>Gets the target that holds a reservation on the next message, if any.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.Internal.TargetCoreOptions">
+            <summary>Options used to configure a target core.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.TargetCoreOptions.None">
+            <summary>Synchronous completion, both a target and a source, etc.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.TargetCoreOptions.UsesAsyncCompletion">
+            <summary>Whether the block relies on the delegate to signal when an async operation has completed.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.TargetCoreOptions.RepresentsBlockCompletion">
+            <summary>
+            Whether the block containing this target core is just a target or also has a source side.
+            If it's just a target, then this target core's completion represents the entire block's completion.
+            </summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.Internal.TargetCore`1">
+            <summary>
+            Provides a core implementation of <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>.</summary>
+            <typeparam name="TInput">Specifies the type of data accepted by the <see cref="T:System.Threading.Tasks.Dataflow.Internal.TargetCore`1"/>.</typeparam>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.m_messages">
+            <summary>The messages in this target.</summary>
+            <remarks>This field doubles as the IncomingLock.</remarks>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.m_executionContext">
+            <summary>The context captured when the block was instantiated.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.m_completionSource">
+            <summary>A task representing the completion of the block.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.m_owningTarget">
+            <summary>The target block using this helper.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.m_dataflowBlockOptions">
+            <summary>The options associated with this block.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.m_callAction">
+            <summary>An action to invoke for every accepted message.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.m_targetCoreOptions">
+            <summary>Whether the block relies on the delegate to signal when an async operation has completed.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.m_boundingState">
+            <summary>Bounding state for when the block is executing in bounded mode.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.m_reorderingBuffer">
+            <summary>The reordering buffer used by the owner.  May be null.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.m_exceptions">
+            <summary>Exceptions that may have occured and gone unhandled during processing.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.m_decliningPermanently">
+            <summary>Whether to stop accepting new messages.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.m_numberOfOutstandingOperations">
+            <summary>The number of operations (including service tasks) currently running asynchronously.</summary>
+            <remarks>Must always be accessed from inside a lock.</remarks>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.m_numberOfOutstandingServiceTasks">
+            <summary>The number of service tasks in async mode currently running.</summary>
+            <remarks>Must always be accessed from inside a lock.</remarks>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.m_nextAvailableInputMessageId">
+            <summary>The next available ID we can assign to a message about to be processed.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.m_completionReserved">
+            <summary>A task has reserved the right to run the completion routine.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.#ctor(System.Threading.Tasks.Dataflow.ITargetBlock{`0},System.Action{System.Collections.Generic.KeyValuePair{`0,System.Int64}},System.Threading.Tasks.Dataflow.Internal.IReorderingBuffer,System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions,System.Threading.Tasks.Dataflow.Internal.TargetCoreOptions)">
+            <summary>Initializes the target core.</summary>
+            <param name="owningTarget">The target using this helper.</param>
+            <param name="callAction">An action to invoke for all accepted items.</param>
+            <param name="reorderingBuffer">The reordering buffer used by the owner; may be null.</param>
+            <param name="dataflowBlockOptions">The options to use to configure this block. The target core assumes these options are immutable.</param>
+            <param name="targetCoreOptions">Options for how the target core should behave.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.Complete(System.Exception,System.Boolean,System.Boolean,System.Boolean)">
+            <summary>Internal Complete entry point with extra parameters for different contexts.</summary>
+            <param name="exception">If not null, the block will be faulted.</param>
+            <param name="dropPendingMessages">If true, any unprocessed input messages will be dropped.</param>
+            <param name="storeExceptionEvenIfAlreadyCompleting">If true, an exception will be stored after m_decliningPermanently has been set to true.</param>
+            <param name="unwrapInnerExceptions">If true, exception will be treated as an AggregateException.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.OfferMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,`0,System.Threading.Tasks.Dataflow.ISourceBlock{`0},System.Boolean)">
+            <summary>
+        Offers a message to the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>, giving the target the opportunity to consume or postpone the message.
+      </summary><param name="messageHeader">
+        A <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance that represents the header of the message being offered.
+      </param><param name="messageValue">
+        The value of the message being offered.
+      </param><param name="source">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> offering the message. This may be null (Nothing in Visual Basic).
+      </param><param name="consumeToAccept">
+        true if the target must call ConsumeMessage synchronously during the call to OfferMessage, prior to returning
+        <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted"/>, in order to consume the message.
+        false if the target wanting to accept the message should not call ConsumeMessage, and should isntead simply return DataflowMessageStatus.Accepted.
+      </param><returns>
+        The status of the offered message. If the message was accepted by the target, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted"/> is returned, and the source should
+        no longer use the offered message, as it is now owned by the target. If the message was postponed by the target, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Postponed"/> is returned
+        as a notification that the target may later attempt to consume or reserve the message; in the meantime, the source still owns the message and may offer it to other blocks.
+        If the target would have otherwise postponed but source was null, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Declined"/> is instead returned. 
+        If the target tried to accept the message but missed it due to the source delivering the message to another target or simply discarding it, 
+        <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.NotAvailable"/> is returned.
+        If the target chose not to accept the message, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Declined"/> is returned.  If the target
+        chose not to accept the message and will never accept another message from this source, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.DecliningPermanently"/> is returned.
+      </returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentException">
+        <paramref name="consumeToAccept"/> may only be true if provided with a non-null <paramref name="source"/>.
+      </exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.SignalOneAsyncMessageCompleted">
+            <summary>Signals to the target core that a previously launched asynchronous operation has now completed.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.SignalOneAsyncMessageCompleted(System.Int32)">
+            <summary>Signals to the target core that a previously launched asynchronous operation has now completed.</summary>
+            <param name="boundingCountChange">The number of elements by which to change the bounding count, if bounding is occurring.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.ProcessAsyncIfNecessary(System.Boolean)">
+            <summary>Called when new messages are available to be processed.</summary>
+            <param name="repeat">Whether this call is the continuation of a previous message loop.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.ProcessMessagesLoopWithExecutionContext">
+            <summary>Task body used to process messages under the right execution context.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.ProcessMessageLoopCore">
+            <summary>Task body used to process messages.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.TryGetNextMessageForNewAsyncOperation(System.Collections.Generic.KeyValuePair{`0,System.Int64}@)">
+            <summary>Retrieves the next message from the input queue for the useAsyncCompletion mode.</summary>
+            <param name="messageWithId">The next message retrieved.</param>
+            <returns>true if a message was found and removed; otherwise, false.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.TryGetNextAvailableOrPostponedMessage(System.Collections.Generic.KeyValuePair{`0,System.Int64}@)">
+            <summary>
+            Either takes the next available message from the input queue or retrieves a postponed 
+            message from a source, based on whether we're in greedy or non-greedy mode.
+            </summary>
+            <param name="messageWithId">The retrieved item with its Id.</param>
+            <returns>true if a message could be removed and returned; otherwise, false.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.TryConsumePostponedMessage(System.Collections.Generic.KeyValuePair{`0,System.Int64}@)">
+            <summary>Consumes a single postponed message.</summary>
+            <returns>true if a message was consumed; otherwise, false.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.CompleteBlockIfPossible">
+            <summary>Completes the block once all completion conditions are met.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.CompleteBlockOncePossible">
+            <summary>
+            Completes the block.  This must only be called once, and only once all of the completion conditions are met.
+            As such, it must only be called from CompleteBlockIfPossible.
+            </summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.ChangeBoundingCount(System.Int32)">
+            <summary>Increases or decreases the bounding count.</summary>
+            <param name="count">The incremental addition (positive to increase, negative to decrease).</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.GetDebuggingInformation">
+            <summary>Gets information about this helper to be used for display in a debugger.</summary>
+            <returns>Debugging information about this target.</returns>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.IncomingLock">
+            <summary>Gets the object used as the incoming lock.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.Completion">
+            <summary>
+        Gets a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous operation and completion of the dataflow block.
+      </summary><remarks>
+        A dataflow block is considered completed when it is not currently processing a message and when it has guaranteed that it will not process
+        any more messages. The returned <see cref="T:System.Threading.Tasks.Task">Task</see> will transition to a completed state when the
+        associated block has completed. It will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state
+        when the block completes its processing successfully according to the dataflow block’s defined semantics, it will transition to
+        the <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state when the dataflow block has completed processing prematurely due to an unhandled exception,
+        and it will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">Canceled</see> state when the dataflow  block has completed processing
+        prematurely due to receiving a cancellation request.  If the task completes in the Faulted state, its Exception property will return
+        an <see cref="T:System.AggregateException"/> containing the one or more exceptions that caused the block to fail.
+      </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.InputCount">
+            <summary>Gets the number of items waiting to be processed by this target.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.UsesAsyncCompletion">
+            <summary>Gets whether this instance has been cosntructed for async processing.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.HasRoomForMoreOperations">
+            <summary>Gets whether there's room to launch more processing operations.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.HasRoomForMoreServiceTasks">
+            <summary>Gets whether there's room to launch more service tasks for doing/launching processing operations.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.CanceledOrFaulted">
+            <summary>Gets whether the target has had cancellation requested or an exception has occurred.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.IsBounded">
+            <summary>Gets whether the target core is operating in a bounded mode.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.DebuggerDisplayContent">
+            <summary>Gets the object to display in the debugger display attribute.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.DebuggingInformation">
+            <summary>Provides a wrapper for commonly needed debugging information.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.DebuggingInformation.m_target">
+            <summary>The target being viewed.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.DebuggingInformation.#ctor(System.Threading.Tasks.Dataflow.Internal.TargetCore{`0})">
+            <summary>Initializes the debugging helper.</summary>
+            <param name="target">The target being viewed.</param>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.DebuggingInformation.InputCount">
+            <summary>Gets the number of messages waiting to be processed.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.DebuggingInformation.InputQueue">
+            <summary>Gets the messages waiting to be processed.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.DebuggingInformation.PostponedMessages">
+            <summary>Gets any postponed messages.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.DebuggingInformation.CurrentDegreeOfParallelism">
+            <summary>Gets the current number of outstanding input processing operations.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.DebuggingInformation.DataflowBlockOptions">
+            <summary>Gets the DataflowBlockOptions used to configure this block.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.DebuggingInformation.IsDecliningPermanently">
+            <summary>Gets whether the block is declining further messages.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.TargetCore`1.DebuggingInformation.IsCompleted">
+            <summary>Gets whether the block is completed.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.DataflowBlock">
+            <summary>
+            Provides a set of static (Shared in Visual Basic) methods for working with dataflow blocks.
+            </summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.LinkTo``1(System.Threading.Tasks.Dataflow.ISourceBlock{``0},System.Threading.Tasks.Dataflow.ITargetBlock{``0})">
+            <summary>Links the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> to the specified <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>.</summary>
+            <param name="source">The source from which to link.</param>
+            <param name="target">The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to which to connect the source.</param>
+            <returns>An IDisposable that, upon calling Dispose, will unlink the source from the target.</returns>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="source"/> is null (Nothing in Visual Basic).</exception>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="target"/> is null (Nothing in Visual Basic).</exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.LinkTo``1(System.Threading.Tasks.Dataflow.ISourceBlock{``0},System.Threading.Tasks.Dataflow.ITargetBlock{``0},System.Predicate{``0})">
+            <summary>Links the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> to the specified <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> using the specified filter.</summary>
+            <param name="source">The source from which to link.</param>
+            <param name="target">The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to which to connect the source.</param>
+            <param name="predicate">The filter a message must pass in order for it to propagate from the source to the target.</param>
+            <returns>An IDisposable that, upon calling Dispose, will unlink the source from the target.</returns>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="source"/> is null (Nothing in Visual Basic).</exception>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="target"/> is null (Nothing in Visual Basic).</exception>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="predicate"/> is null (Nothing in Visual Basic).</exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.LinkTo``1(System.Threading.Tasks.Dataflow.ISourceBlock{``0},System.Threading.Tasks.Dataflow.ITargetBlock{``0},System.Predicate{``0},System.Boolean)">
+            <summary>Links the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> to the specified <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> using the specified filter.</summary>
+            <param name="source">The source from which to link.</param>
+            <param name="target">The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to which to connect the source.</param>
+            <param name="predicate">The filter a message must pass in order for it to propagate from the source to the target.</param>
+            <param name="discardsMessages">true if messages that don't meet the predicate are discarded; otherwise, false, to decline such messages.</param>
+            <returns>An IDisposable that, upon calling Dispose, will unlink the source from the target.</returns>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="source"/> is null (Nothing in Visual Basic).</exception>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="target"/> is null (Nothing in Visual Basic).</exception>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="predicate"/> is null (Nothing in Visual Basic).</exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.Post``1(System.Threading.Tasks.Dataflow.ITargetBlock{``0},``0)">
+            <summary>Posts an item to the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>.</summary>
+            <typeparam name="TInput">Specifies the type of data accepted by the target block.</typeparam>
+            <param name="target">The target block.</param>
+            <param name="item">The item being offered to the target.</param>
+            <returns>true if the item was accepted by the target block; otherwise, false.</returns>
+            <remarks>
+            This method will return once the target block has decided to accept or decline the item,
+            but unless otherwise dictated by special semantics of the target block, it does not wait
+            for the item to actually be processed (for example, <see cref="T:System.Threading.Tasks.Dataflow.ActionBlock`1"/>
+            will return from Post as soon as it has stored the posted item into its input queue).  From the perspective
+            of the block's processing, Post is asynchronous. For target blocks that support postponing offered messages, 
+            or for blocks that may do more processing in their Post implementation, consider using
+             <see cref="T:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsync">SendAsync</see>, 
+            which will return immediately and will enable the target to postpone the posted message and later consume it 
+            after SendAsync returns.
+            </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsync``1(System.Threading.Tasks.Dataflow.ITargetBlock{``0},``0)">
+            <summary>Asynchronously offers a message to the target message block, allowing for postponement.</summary>
+            <typeparam name="TInput">Specifies the type of the data to post to the target.</typeparam>
+            <param name="target">The target to which to post the data.</param>
+            <param name="item">The item being offered to the target.</param>
+            <returns>
+            A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous send.  If the target
+            accepts and consumes the offered element during the call to <see cref="M:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsync``1(System.Threading.Tasks.Dataflow.ITargetBlock{``0},``0)"/>, upon return
+            from the call the resulting <see cref="T:System.Threading.Tasks.Task`1"/> will be completed and its <see cref="P:System.Threading.Tasks.Task`1.Result">Result</see> 
+            property will return true.  If the target declines the offered element during the call, upon return from the call the resulting <see cref="T:System.Threading.Tasks.Task`1"/> will
+            be completed and its <see cref="P:System.Threading.Tasks.Task`1.Result">Result</see> property will return false. If the target
+            postpones the offered element, the element will be buffered until such time that the target consumes or releases it, at which
+            point the Task will complete, with its<see cref="P:System.Threading.Tasks.Task`1.Result"/>indicating whether the message was consumed.  If the target
+            never attempts to consume or release the message, the returned task will never complete.
+            </returns>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="target"/> is null (Nothing in Visual Basic).</exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.TryReceive``1(System.Threading.Tasks.Dataflow.IReceivableSourceBlock{``0},``0@)">
+            <summary>
+            Attempts to synchronously receive an item from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+            </summary>
+            <param name="source">The source from which to receive.</param>
+            <param name="item">The item received from the source.</param>
+            <returns>true if an item could be received; otherwise, false.</returns>
+            <remarks>
+            This method does not wait until the source has an item to provide.
+            It will return whether or not an element was available.
+            </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveAsync``1(System.Threading.Tasks.Dataflow.ISourceBlock{``0})">
+            <summary>Asynchronously receives a value from the specified source.</summary>
+            <typeparam name="TOutput">Specifies the type of data contained in the source.</typeparam>
+            <param name="source">The source from which to asynchronously receive.</param>
+            <returns>
+            A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous receive operation.  When an item is successfully received from the source,
+            the returned task will be completed and its <see cref="P:System.Threading.Tasks.Task`1.Result">Result</see> will return the received item.  If an item cannot be retrieved,
+            because the source is empty and completed, the returned task will be canceled.
+            </returns>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="source"/> is null (Nothing in Visual Basic).</exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveAsync``1(System.Threading.Tasks.Dataflow.ISourceBlock{``0},System.Threading.CancellationToken)">
+            <summary>Asynchronously receives a value from the specified source.</summary>
+            <typeparam name="TOutput">Specifies the type of data contained in the source.</typeparam>
+            <param name="source">The source from which to asynchronously receive.</param>
+            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> which may be used to cancel the receive operation.</param>
+            <returns>
+            A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous receive operation.  When an item is successfully received from the source,
+            the returned task will be completed and its <see cref="P:System.Threading.Tasks.Task`1.Result">Result</see> will return the received item.  If an item cannot be retrieved,
+            either because cancellation is requested or the source is empty and completed, the returned task will be canceled.
+            </returns>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="source"/> is null (Nothing in Visual Basic).</exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveAsync``1(System.Threading.Tasks.Dataflow.ISourceBlock{``0},System.TimeSpan)">
+            <summary>Asynchronously receives a value from the specified source.</summary>
+            <typeparam name="TOutput">Specifies the type of data contained in the source.</typeparam>
+            <param name="source">The source from which to asynchronously receive.</param>
+            <param name="timeout">A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds to wait, or a TimeSpan that represents -1 milliseconds to wait indefinitely.</param>
+            <returns>
+            A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous receive operation.  When an item is successfully received from the source,
+            the returned task will be completed and its <see cref="P:System.Threading.Tasks.Task`1.Result">Result</see> will return the received item.  If an item cannot be retrieved,
+            either because the timeout expires or the source is empty and completed, the returned task will be canceled.
+            </returns>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="source"/> is null (Nothing in Visual Basic).</exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            timeout is a negative number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than <see cref="F:System.Int32.MaxValue"/>.
+            </exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveAsync``1(System.Threading.Tasks.Dataflow.ISourceBlock{``0},System.TimeSpan,System.Threading.CancellationToken)">
+            <summary>Asynchronously receives a value from the specified source.</summary>
+            <typeparam name="TOutput">Specifies the type of data contained in the source.</typeparam>
+            <param name="source">The source from which to asynchronously receive.</param>
+            <param name="timeout">A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds to wait, or a TimeSpan that represents -1 milliseconds to wait indefinitely.</param>
+            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> which may be used to cancel the receive operation.</param>
+            <returns>
+            A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous receive operation.  When an item is successfully received from the source,
+            the returned task will be completed and its <see cref="P:System.Threading.Tasks.Task`1.Result">Result</see> will return the received item.  If an item cannot be retrieved,
+            either because the timeout expires, cancellation is requested, or the source is empty and completed, the returned task will be canceled.
+            </returns>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="source"/> is null (Nothing in Visual Basic).</exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            timeout is a negative number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than <see cref="F:System.Int32.MaxValue"/>.
+            </exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.Receive``1(System.Threading.Tasks.Dataflow.ISourceBlock{``0})">
+            <summary>Synchronously receives an item from the source.</summary>
+            <typeparam name="TOutput">Specifies the type of data contained in the source.</typeparam>
+            <param name="source">The source from which to receive.</param>
+            <returns>The received item.</returns>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="source"/> is null (Nothing in Visual Basic).</exception>
+            <exception cref="T:System.InvalidOperationException">No item could be received from the source.</exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.Receive``1(System.Threading.Tasks.Dataflow.ISourceBlock{``0},System.Threading.CancellationToken)">
+            <summary>Synchronously receives an item from the source.</summary>
+            <typeparam name="TOutput">Specifies the type of data contained in the source.</typeparam>
+            <param name="source">The source from which to receive.</param>
+            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> which may be used to cancel the receive operation.</param>
+            <returns>The received item.</returns>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="source"/> is null (Nothing in Visual Basic).</exception>
+            <exception cref="T:System.InvalidOperationException">No item could be received from the source.</exception>
+            <exception cref="T:System.OperationCanceledException">The operation was canceled before an item was received from the source.</exception>
+            <remarks>
+            If the source successfully offered an item that was received by this operation, it will be returned, even if a concurrent cancellation request occurs.
+            </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.Receive``1(System.Threading.Tasks.Dataflow.ISourceBlock{``0},System.TimeSpan)">
+            <summary>Synchronously receives an item from the source.</summary>
+            <typeparam name="TOutput">Specifies the type of data contained in the source.</typeparam>
+            <param name="source">The source from which to receive.</param>
+            <param name="timeout">A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds to wait, or a TimeSpan that represents -1 milliseconds to wait indefinitely.</param>
+            <returns>The received item.</returns>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            timeout is a negative number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than <see cref="F:System.Int32.MaxValue"/>.
+            </exception>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="source"/> is null (Nothing in Visual Basic).</exception>
+            <exception cref="T:System.InvalidOperationException">No item could be received from the source.</exception>
+            <exception cref="T:System.TimeoutException">The specified timeout expired before an item was received from the source.</exception>
+            <remarks>
+            If the source successfully offered an item that was received by this operation, it will be returned, even if a concurrent timeout occurs.
+            </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.Receive``1(System.Threading.Tasks.Dataflow.ISourceBlock{``0},System.TimeSpan,System.Threading.CancellationToken)">
+            <summary>Synchronously receives an item from the source.</summary>
+            <typeparam name="TOutput">Specifies the type of data contained in the source.</typeparam>
+            <param name="source">The source from which to receive.</param>
+            <param name="timeout">A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds to wait, or a TimeSpan that represents -1 milliseconds to wait indefinitely.</param>
+            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> which may be used to cancel the receive operation.</param>
+            <returns>The received item.</returns>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="source"/> is null (Nothing in Visual Basic).</exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            timeout is a negative number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than <see cref="F:System.Int32.MaxValue"/>.
+            </exception>
+            <exception cref="T:System.InvalidOperationException">No item could be received from the source.</exception>
+            <exception cref="T:System.TimeoutException">The specified timeout expired before an item was received from the source.</exception>
+            <exception cref="T:System.OperationCanceledException">The operation was canceled before an item was received from the source.</exception>
+            <remarks>
+            If the source successfully offered an item that was received by this operation, it will be returned, even if a concurrent timeout or cancellation request occurs.
+            </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveCore``1(System.Threading.Tasks.Dataflow.ISourceBlock{``0},System.Boolean,System.TimeSpan,System.Threading.CancellationToken)">
+            <summary>Receives an item from the source.</summary>
+            <typeparam name="TOutput">Specifies the type of data contained in the source.</typeparam>
+            <param name="source">The source from which to receive.</param>
+            <param name="attemptTryReceive">Whether to first attempt using TryReceive to get a value from the source.</param>
+            <param name="timeout">A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds to wait, or a TimeSpan that represents -1 milliseconds to wait indefinitely.</param>
+            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> which may be used to cancel the receive operation.</param>
+            <returns>A Task for the receive operation.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveCoreByLinking``1(System.Threading.Tasks.Dataflow.ISourceBlock{``0},System.Int32,System.Threading.CancellationToken)">
+            <summary>Receives an item from the source by linking a temporary target from it.</summary>
+            <typeparam name="TOutput">Specifies the type of data contained in the source.</typeparam>
+            <param name="source">The source from which to receive.</param>
+            <param name="millisecondsTimeout">The number of milliseconds to wait, or -1 to wait indefinitely.</param>
+            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> which may be used to cancel the receive operation.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.OutputAvailableAsync``1(System.Threading.Tasks.Dataflow.ISourceBlock{``0})">
+            <summary>
+            Provides a <see cref="T:System.Threading.Tasks.Task`1"/> 
+            that asynchronously monitors the source for available output.
+            </summary>
+            <typeparam name="TOutput">Specifies the type of data contained in the source.</typeparam>
+            <param name="source">The source to monitor.</param>
+            <returns>
+            A <see cref="T:System.Threading.Tasks.Task`1"/> that informs of whether and when
+            more output is available.  When the task completes, if it's<see cref="P:System.Threading.Tasks.Task`1.Result"/> is true, more output 
+            is available in the source (though another consumer of the source may retrieve the data).  
+            If it returns false, more output is not and will never be available, due to the source 
+            completing prior to output being available.
+            </returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.Encapsulate``2(System.Threading.Tasks.Dataflow.ITargetBlock{``0},System.Threading.Tasks.Dataflow.ISourceBlock{``1})">
+            <summary>Encapsulates a target and a source into a single propagator.</summary>
+            <typeparam name="TInput">Specifies the type of input expected by the target.</typeparam>
+            <typeparam name="TOutput">Specifies the type of output produced by the source.</typeparam>
+            <param name="target">The target to encapsulate.</param>
+            <param name="source">The source to encapsulate.</param>
+            <returns>The encapsulated target and source.</returns>
+            <remarks>
+            This method does not in any way connect the target to the source. It creates a
+            propagator block whose target methods delegate to the specified target and whose
+            source methods delegate to the specified source.  Any connection between the target
+            and the source is left for the developer to explicitly provide.  The propagator's
+            <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> implementation delegates to the specified source.
+            </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.Choose``2(System.Threading.Tasks.Dataflow.ISourceBlock{``0},System.Action{``0},System.Threading.Tasks.Dataflow.ISourceBlock{``1},System.Action{``1})">
+            <summary>Monitors two dataflow sources, invoking the provided handler for whichever source makes data available first.</summary>
+            <typeparam name="T1">Specifies type of data contained in the first source.</typeparam>
+            <typeparam name="T2">Specifies type of data contained in the second source.</typeparam>
+            <param name="source1">The first source.</param>
+            <param name="action1">The handler to execute on data from the first source.</param>
+            <param name="source2">The second source.</param>
+            <param name="action2">The handler to execute on data from the second source.</param>
+            <returns>
+            <para>
+            A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous choice.
+            If both sources are completed prior to the choice completing, 
+            the resulting task will be canceled. When one of the sources has data available and successfully propagates 
+            it to the choice, the resulting task will complete when the handler completes: if the handler throws an exception,
+            the task will end in the <see cref="F:System.Threading.Tasks.TaskStatus.Faulted"/> state containing the unhandled exception, otherwise the task
+            will end with its <see cref="P:System.Threading.Tasks.Task`1.Result"/> set to either 0 or 1 to
+            represent the first or second source, respectively.
+            </para>
+            <para>
+            This method will only consume an element from one of the two data sources, never both.
+            </para>
+            </returns>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="source1"/> is null (Nothing in Visual Basic).</exception>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="action1"/> is null (Nothing in Visual Basic).</exception>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="source2"/> is null (Nothing in Visual Basic).</exception>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="action2"/> is null (Nothing in Visual Basic).</exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.Choose``2(System.Threading.Tasks.Dataflow.ISourceBlock{``0},System.Action{``0},System.Threading.Tasks.Dataflow.ISourceBlock{``1},System.Action{``1},System.Threading.Tasks.Dataflow.DataflowBlockOptions)">
+            <summary>Monitors two dataflow sources, invoking the provided handler for whichever source makes data available first.</summary>
+            <typeparam name="T1">Specifies type of data contained in the first source.</typeparam>
+            <typeparam name="T2">Specifies type of data contained in the second source.</typeparam>
+            <param name="source1">The first source.</param>
+            <param name="action1">The handler to execute on data from the first source.</param>
+            <param name="source2">The second source.</param>
+            <param name="action2">The handler to execute on data from the second source.</param>
+            <param name="dataflowBlockOptions">The options with which to configure this choice.</param>
+            <returns>
+            <para>
+            A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous choice.
+            If both sources are completed prior to the choice completing, or if the CancellationToken
+            provided as part of <paramref name="dataflowBlockOptions"/> is canceled prior to the choice completing,
+            the resulting task will be canceled. When one of the sources has data available and successfully propagates 
+            it to the choice, the resulting task will complete when the handler completes: if the handler throws an exception,
+            the task will end in the <see cref="F:System.Threading.Tasks.TaskStatus.Faulted"/> state containing the unhandled exception, otherwise the task
+            will end with its <see cref="P:System.Threading.Tasks.Task`1.Result"/> set to either 0 or 1 to
+            represent the first or second source, respectively.
+            </para>
+            <para>
+            This method will only consume an element from one of the two data sources, never both.
+            If cancellation is requested after an element has been received, the cancellation request will be ignored,
+            and the relevant handler will be allowed to execute. 
+            </para>
+            </returns>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="source1"/> is null (Nothing in Visual Basic).</exception>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="action1"/> is null (Nothing in Visual Basic).</exception>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="source2"/> is null (Nothing in Visual Basic).</exception>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="action2"/> is null (Nothing in Visual Basic).</exception>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="dataflowBlockOptions"/> is null (Nothing in Visual Basic).</exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.Choose``3(System.Threading.Tasks.Dataflow.ISourceBlock{``0},System.Action{``0},System.Threading.Tasks.Dataflow.ISourceBlock{``1},System.Action{``1},System.Threading.Tasks.Dataflow.ISourceBlock{``2},System.Action{``2})">
+            <summary>Monitors two dataflow sources, invoking the provided handler for whichever source makes data available first.</summary>
+            <typeparam name="T1">Specifies type of data contained in the first source.</typeparam>
+            <typeparam name="T2">Specifies type of data contained in the second source.</typeparam>
+            <typeparam name="T3">Specifies type of data contained in the third source.</typeparam>
+            <param name="source1">The first source.</param>
+            <param name="action1">The handler to execute on data from the first source.</param>
+            <param name="source2">The second source.</param>
+            <param name="action2">The handler to execute on data from the second source.</param>
+            <param name="source3">The third source.</param>
+            <param name="action3">The handler to execute on data from the third source.</param>
+            <returns>
+            <para>
+            A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous choice.
+            If all sources are completed prior to the choice completing, 
+            the resulting task will be canceled. When one of the sources has data available and successfully propagates 
+            it to the choice, the resulting task will complete when the handler completes: if the handler throws an exception,
+            the task will end in the <see cref="F:System.Threading.Tasks.TaskStatus.Faulted"/> state containing the unhandled exception, otherwise the task
+            will end with its <see cref="P:System.Threading.Tasks.Task`1.Result"/> set to the 0-based index of the source.
+            </para>
+            <para>
+            This method will only consume an element from one of the data sources, never more than one.
+            </para>
+            </returns>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="source1"/> is null (Nothing in Visual Basic).</exception>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="action1"/> is null (Nothing in Visual Basic).</exception>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="source2"/> is null (Nothing in Visual Basic).</exception>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="action2"/> is null (Nothing in Visual Basic).</exception>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="source3"/> is null (Nothing in Visual Basic).</exception>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="action3"/> is null (Nothing in Visual Basic).</exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.Choose``3(System.Threading.Tasks.Dataflow.ISourceBlock{``0},System.Action{``0},System.Threading.Tasks.Dataflow.ISourceBlock{``1},System.Action{``1},System.Threading.Tasks.Dataflow.ISourceBlock{``2},System.Action{``2},System.Threading.Tasks.Dataflow.DataflowBlockOptions)">
+            <summary>Monitors two dataflow sources, invoking the provided handler for whichever source makes data available first.</summary>
+            <typeparam name="T1">Specifies type of data contained in the first source.</typeparam>
+            <typeparam name="T2">Specifies type of data contained in the second source.</typeparam>
+            <typeparam name="T3">Specifies type of data contained in the third source.</typeparam>
+            <param name="source1">The first source.</param>
+            <param name="action1">The handler to execute on data from the first source.</param>
+            <param name="source2">The second source.</param>
+            <param name="action2">The handler to execute on data from the second source.</param>
+            <param name="source3">The third source.</param>
+            <param name="action3">The handler to execute on data from the third source.</param>
+            <param name="dataflowBlockOptions">The options with which to configure this choice.</param>
+            <returns>
+            <para>
+            A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous choice.
+            If all sources are completed prior to the choice completing, or if the CancellationToken
+            provided as part of <paramref name="dataflowBlockOptions"/> is canceled prior to the choice completing,
+            the resulting task will be canceled. When one of the sources has data available and successfully propagates 
+            it to the choice, the resulting task will complete when the handler completes: if the handler throws an exception,
+            the task will end in the <see cref="F:System.Threading.Tasks.TaskStatus.Faulted"/> state containing the unhandled exception, otherwise the task
+            will end with its <see cref="P:System.Threading.Tasks.Task`1.Result"/> set to the 0-based index of the source.
+            </para>
+            <para>
+            This method will only consume an element from one of the data sources, never more than one.
+            If cancellation is requested after an element has been received, the cancellation request will be ignored,
+            and the relevant handler will be allowed to execute. 
+            </para>
+            </returns>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="source1"/> is null (Nothing in Visual Basic).</exception>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="action1"/> is null (Nothing in Visual Basic).</exception>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="source2"/> is null (Nothing in Visual Basic).</exception>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="action2"/> is null (Nothing in Visual Basic).</exception>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="source3"/> is null (Nothing in Visual Basic).</exception>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="action3"/> is null (Nothing in Visual Basic).</exception>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="dataflowBlockOptions"/> is null (Nothing in Visual Basic).</exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.CreateChooseBranch``1(System.Runtime.CompilerServices.StrongBox{System.Threading.Tasks.Task},System.Threading.CancellationTokenSource,System.Threading.Tasks.TaskCompletionSource{System.Int32},System.Threading.Tasks.TaskScheduler,System.Int32,System.Threading.Tasks.Dataflow.ISourceBlock{``0},System.Action{``0})">
+            <summary>Creates a target for a branch of a Choose.</summary>
+            <typeparam name="T">Specifies the type of data coming through this branch.</typeparam>
+            <param name="boxedCompleted">A strong box around the completed Task from any target. Also sync obj for access to the targets.</param>
+            <param name="cts">The CancellationTokenSource used to issue tear down / cancellation requests.</param>
+            <param name="result">The result task used to represent the overall Choose operation.</param>
+            <param name="scheduler">The TaskScheduler on which to scheduler work.</param>
+            <param name="branchId">The ID of this branch, used to complete the resultTask.</param>
+            <param name="source">The source with which this branch is associated.</param>
+            <param name="action">The action to run for a single element received from the source.</param>
+            <returns>A task representing the branch.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.AsObservable``1(System.Threading.Tasks.Dataflow.ISourceBlock{``0})">
+            <summary>Creates a new <see cref="T:System.IObservable`1"/> abstraction over the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.</summary>
+            <typeparam name="TOutput">Specifies the type of data contained in the source.</typeparam>
+            <param name="source">The source to wrap.</param>
+            <returns>An IObservable{TOutput} that enables observers to be subscribed to the source.</returns>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="source"/> is null (Nothing in Visual Basic).</exception>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.s_nonGreedyExecutionOptions">
+            <summary>Cached options for non-greedy processing.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.AsObserver``1(System.Threading.Tasks.Dataflow.ITargetBlock{``0})">
+            <summary>Creates a new <see cref="T:System.IObserver`1"/> abstraction over the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>.</summary>
+            <typeparam name="TInput">Specifies the type of input accepted by the target block.</typeparam>
+            <param name="target">The target to wrap.</param>
+            <returns>An observer that wraps the target block.</returns>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1">
+            <summary>Provides a synchronous filter for use in filtered LinkTos.</summary>
+            <typeparam name="T">Specifies the type of data being filtered.</typeparam>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.m_source">
+            <summary>The source connected with this filter.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.m_target">
+            <summary>The target with which this block is associated.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.m_userProvidedPredicate">
+            <summary>The predicate provided by the user.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.m_discardsMessages">
+            <summary>Whether to accept and drop messages that don't meet the filter.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.m_executionContext">
+            <summary>The execution context captured when this propagator was instantiated.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.#ctor(System.Threading.Tasks.Dataflow.ISourceBlock{`0},System.Threading.Tasks.Dataflow.ITargetBlock{`0},System.Predicate{`0},System.Boolean)">
+            <summary>Initializes the filter passthrough.</summary>
+            <param name="source">The source connected to this filter.</param>
+            <param name="target">The target to which filtered messages should be passed.</param>
+            <param name="predicate">The predicate to run for each messsage.</param>
+            <param name="discardsMessages">Whether to accept and drop messages that don't meet the filter.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.RunPredicate(`0)">
+            <summary>Runs the user-provided predicate over an item in the correct execution context.</summary>
+            <param name="item">The item to evaluate.</param>
+            <returns>true if the item passed the filter; otherwise, false.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.System#Threading#Tasks#Dataflow#ITargetBlock{T}#OfferMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,`0,System.Threading.Tasks.Dataflow.ISourceBlock{`0},System.Boolean)">
+            <summary>
+        Offers a message to the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>, giving the target the opportunity to consume or postpone the message.
+      </summary><param name="messageHeader">
+        A <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance that represents the header of the message being offered.
+      </param><param name="messageValue">
+        The value of the message being offered.
+      </param><param name="source">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> offering the message. This may be null (Nothing in Visual Basic).
+      </param><param name="consumeToAccept">
+        true if the target must call ConsumeMessage synchronously during the call to OfferMessage, prior to returning
+        <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted"/>, in order to consume the message.
+        false if the target wanting to accept the message should not call ConsumeMessage, and should isntead simply return DataflowMessageStatus.Accepted.
+      </param><returns>
+        The status of the offered message. If the message was accepted by the target, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted"/> is returned, and the source should
+        no longer use the offered message, as it is now owned by the target. If the message was postponed by the target, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Postponed"/> is returned
+        as a notification that the target may later attempt to consume or reserve the message; in the meantime, the source still owns the message and may offer it to other blocks.
+        If the target would have otherwise postponed but source was null, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Declined"/> is instead returned. 
+        If the target tried to accept the message but missed it due to the source delivering the message to another target or simply discarding it, 
+        <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.NotAvailable"/> is returned.
+        If the target chose not to accept the message, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Declined"/> is returned.  If the target
+        chose not to accept the message and will never accept another message from this source, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.DecliningPermanently"/> is returned.
+      </returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentException">
+        <paramref name="consumeToAccept"/> may only be true if provided with a non-null <paramref name="source"/>.
+      </exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.System#Threading#Tasks#Dataflow#ISourceBlock{T}#ConsumeMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0},System.Boolean@)">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to accept and consume a  
+        <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> previously offered by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being consumed.</param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> consuming the message.
+      </param><param name="messageConsumed">
+        True if the message was successfully consumed. False otherwise.
+      </param><returns>
+        <para>
+          The value of the consumed message. This may correspond to a different <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance than was previously reserved and
+          passed as the <paramref name="messageHeader"/> to <see cref="M:ConsumeMessage"/>. The consuming <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must 
+          use the returned value instead of the value passed as messageValue through <see cref="M:OfferMessage"/>.
+        </para>
+        <para>
+          If the message requested is not available, the return value will be null (Nothing in Visual Basic).
+        </para>
+      </returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> 
+          instance may use <see cref="M:ConsumeMessage"/>, and it must only be used
+          to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          offered by this source to the target.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.System#Threading#Tasks#Dataflow#ISourceBlock{T}#ReserveMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0})">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to reserve a previously offered <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> 
+        by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">
+        The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being reserved.
+      </param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> reserving the message.
+      </param><returns>true if the message was successfully reserved; otherwise, false.</returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> instance 
+          may use <see cref="M:ReserveMessage"/>, and it must only be used
+          to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          offered by this source to the target.
+        </para>
+        <para>
+          If true is returned, the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must subsequently call either <see cref="M:ConsumeMessage"/> or <see cref="M:ReserveMessage"/> for this message.
+          Failure to do so may result in the source being unable to propagate any further messages to this or other targets.
+        </para>
+        <para>
+          <see cref="M:ReserveMessage"/> must not be called while the target is holding any internal locks.  Doing so will violate the lock hierarchy
+          necessary to avoid deadlocks in a dataflow network.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.System#Threading#Tasks#Dataflow#ISourceBlock{T}#ReleaseReservation(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0})">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to release a previously reserved 
+        <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">
+        The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the reserved message being released.
+      </param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> releasing the message it previously reserved.
+      </param><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><exception cref="T:System.InvalidOperationException">
+        The <paramref name="target"/> did not have the message reserved.
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> 
+          instance may use <see cref="M:ReleaseMessage"/>, and it must only be used
+          to release <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          and successfully reserved by the target.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.System#Threading#Tasks#Dataflow#IDataflowBlock#Complete">
+            <summary>
+        Signals to the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> that it should not accept
+        nor produce any more messages nor consume any more postponed messages.
+      </summary><remarks>
+        After Complete has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state) after it's processed all previously
+        available data. Complete will not block waiting for completion to occur, but rather will initiaite
+        the request; to wait for completion to occur, the <see cref="M:Completion"/> task may be used.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.System#Threading#Tasks#Dataflow#IDataflowBlock#Fault(System.Exception)">
+            <summary>
+        Causes the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> to complete in a 
+        <see cref="F:System.Threading.Tasks.TaskStatus.Faulted"/> state.
+      </summary><param name="exception">The <see cref="T:System.Exception"/> that caused the faulting.</param><exception cref="T:System.ArgumentNullException">
+        The <paramref name="exception"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        After Fault has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state). Faulting a block causes 
+        buffered messages (uprocessed input messages as well as unoffered output messages) to be lost. 
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.System#Threading#Tasks#Dataflow#ISourceBlock{T}#LinkTo(System.Threading.Tasks.Dataflow.ITargetBlock{`0},System.Boolean)">
+            <summary>
+        Links the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> to the specified <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>.
+      </summary><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to which to connect this source.
+      </param><param name="unlinkAfterOne">
+        true if the source should unlink from the target after successfully propagating a single message; 
+        otherwise, false to remain connected even after a single message has been propagated.
+      </param><returns>An IDisposable that, upon calling Dispose, will unlink the source from the target.</returns><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.System#Threading#Tasks#Dataflow#IDataflowBlock#Completion">
+            <summary>
+        Gets a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous operation and completion of the dataflow block.
+      </summary><remarks>
+        A dataflow block is considered completed when it is not currently processing a message and when it has guaranteed that it will not process
+        any more messages. The returned <see cref="T:System.Threading.Tasks.Task">Task</see> will transition to a completed state when the
+        associated block has completed. It will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state
+        when the block completes its processing successfully according to the dataflow block’s defined semantics, it will transition to
+        the <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state when the dataflow block has completed processing prematurely due to an unhandled exception,
+        and it will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">Canceled</see> state when the dataflow  block has completed processing
+        prematurely due to receiving a cancellation request.  If the task completes in the Faulted state, its Exception property will return
+        an <see cref="T:System.AggregateException"/> containing the one or more exceptions that caused the block to fail.
+      </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.DebuggerDisplayContent">
+            <summary>The data to display in the debugger display attribute.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.System#Threading#Tasks#Dataflow#Internal#IDebuggerDisplay#Content">
+            <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.PredicateContextState">
+            <summary>Manually closes over state necessary in FilteredLinkPropagator.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.PredicateContextState.Input">
+            <summary>The input to be filtered.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.PredicateContextState.Predicate">
+            <summary>The predicate function.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.PredicateContextState.Output">
+            <summary>The result of the filtering operation.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.PredicateContextState.#ctor(`0,System.Predicate{`0})">
+            <summary>Initializes the predicate state.</summary>
+            <param name="input">The input to be filtered.</param>
+            <param name="predicate">The predicate function.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.PredicateContextState.Run">
+            <summary>Runs the predicate function over the input and stores the result into the output.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.DebugView">
+            <summary>Provides a debugger type proxy for a filter.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.DebugView.m_filter">
+            <summary>The filter.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.DebugView.#ctor(System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator{`0})">
+            <summary>Initializes the debug view.</summary>
+            <param name="filter">The filter to view.</param>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.DebugView.LinkedTarget">
+            <summary>The linked target for this filter.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.FilteredLinkPropagator`1.DebugView.DiscardsMessages">
+            <summary>Whether the filter is discarding messages.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1">
+            <summary>
+            Provides a source used by SendAsync that will buffer a single message and signal when it's been accepted or declined.
+            </summary>
+            <remarks>This source must only be passed to a single target, and must only be used once.</remarks>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.m_target">
+            <summary>The target to offer to.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.m_messageValue">
+            <summary>The buffered message.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.#ctor(System.Threading.Tasks.Dataflow.ITargetBlock{`0},`0)">
+            <summary>Initializes the source.</summary>
+            <param name="target">The target to offer to.</param>
+            <param name="messageValue">The message to offer and buffer.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.Finalize">
+            <summary>Finalizer that completes the returned task if all references to this source are dropped.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.CompleteAsAccepted(System.Boolean)">
+            <summary>Completes the source in an "Accepted" state.</summary>
+            <param name="runAsync">true to accept asynchronously; false to accept synchronously.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.CompleteAsDeclined(System.Boolean)">
+            <summary>Completes the source in an "Declined" state.</summary>
+            <param name="runAsync">true to decline asynchronously; false to decline synchronously.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.CompleteAsFaulted(System.Exception,System.Boolean)">
+            <summary>Completes the source in faulted state.</summary>
+            <param name="exception">The exception with which to fault.</param>
+            <param name="runAsync">true to fault asynchronously; false to fault synchronously.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.RunCompletionAction(System.Action{System.Object},System.Object,System.Boolean)">
+            <summary>Executes a completion action.</summary>
+            <param name="completionAction">The action to execute, passed the state.</param>
+            <param name="completionActionState">The state to pass into the delegate.</param>
+            <param name="runAsync">true to execute the action asynchronously; false to execute it synchronously.</param>
+            <remarks>
+            async should be true if this is being called on a path that has the target on the stack, e.g.
+            the target is calling to ConsumeMessage.  We don't want to block the target indefinitely
+            with any synchronous continuations off of the returned send async task.
+            </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.OfferToTargetAsync">
+            <summary>Offers the message to the target asynchronously.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.OfferToTarget">
+            <summary>Offers the message to the target synchronously.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.System#Threading#Tasks#Dataflow#ISourceBlock{TOutput}#ConsumeMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0},System.Boolean@)">
+            <summary>Called by the target to consume the buffered message.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.System#Threading#Tasks#Dataflow#ISourceBlock{TOutput}#ReserveMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0})">
+            <summary>Called by the target to reserve the buffered message.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.System#Threading#Tasks#Dataflow#ISourceBlock{TOutput}#ReleaseReservation(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0})">
+            <summary>Called by the target to release a reservation on the buffered message.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.System#Threading#Tasks#Dataflow#ISourceBlock{TOutput}#LinkTo(System.Threading.Tasks.Dataflow.ITargetBlock{`0},System.Boolean)">
+            <summary>Not supported.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.System#Threading#Tasks#Dataflow#IDataflowBlock#Complete">
+            <summary>Not supported.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.System#Threading#Tasks#Dataflow#IDataflowBlock#Fault(System.Exception)">
+            <summary>
+        Causes the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> to complete in a 
+        <see cref="F:System.Threading.Tasks.TaskStatus.Faulted"/> state.
+      </summary><param name="exception">The <see cref="T:System.Exception"/> that caused the faulting.</param><exception cref="T:System.ArgumentNullException">
+        The <paramref name="exception"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        After Fault has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state). Faulting a block causes 
+        buffered messages (uprocessed input messages as well as unoffered output messages) to be lost. 
+      </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.System#Threading#Tasks#Dataflow#IDataflowBlock#Completion">
+            <summary>Not supported.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.DebuggerDisplayContent">
+            <summary>The data to display in the debugger display attribute.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.System#Threading#Tasks#Dataflow#Internal#IDebuggerDisplay#Content">
+            <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.DebugView">
+            <summary>Provides a debugger type proxy for the source.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.DebugView.m_source">
+            <summary>The source.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.DebugView.#ctor(System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource{`0})">
+            <summary>Initializes the debug view.</summary>
+            <param name="source">The source to view.</param>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.DebugView.Target">
+            <summary>The target to which we're linked.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.DebugView.Message">
+            <summary>The message buffered by the source.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.SendAsyncSource`1.DebugView.Completion">
+            <summary>The Task represented the posting of the message.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveCoreByLinkingCleanupReason">
+            <summary>The reason for a ReceiveCoreByLinking call failing.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveCoreByLinkingCleanupReason.Success">
+            <summary>The Receive operation completed successfully, obtaining a value from the source.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveCoreByLinkingCleanupReason.Timer">
+            <summary>The timer expired before a value could be received.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveCoreByLinkingCleanupReason.Cancellation">
+            <summary>The cancellation token had cancellation requested before a value could be received.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveCoreByLinkingCleanupReason.SourceCompletion">
+            <summary>The source completed before a value could be received.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveCoreByLinkingCleanupReason.SourceProtocolError">
+            <summary>An error occurred while linking up the target.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveCoreByLinkingCleanupReason.ErrorDuringCleanup">
+            <summary>An error during cleanup after completion for another reason.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveTarget`1">
+            <summary>Provides a TaskCompletionSource that is also a dataflow target for use in ReceiveCore.</summary>
+            <typeparam name="T">Specifies the type of data offered to the target.</typeparam>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveTarget`1.CachedLinkingTimerCallback">
+            <summary>Cached delegate used in ReceiveCoreByLinking on the created timer.  Passed the ReceiveTarget as the argument.</summary>
+            <remarks>The C# compiler will not cache this delegate by default due to it being a generic method on a non-generic class.</remarks>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveTarget`1.CachedLinkingCancellationCallback">
+            <summary>Cached delegate used in ReceiveCoreByLinking on the cancellation token. Passed the ReceiveTarget as the state argument.</summary>
+            <remarks>The C# compiler will not cache this delegate by default due to it being a generic method on a non-generic class.</remarks>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveTarget`1.CachedLinkingCompletionCallback">
+            <summary>Cached delegate used in ReceiveCoreByLinking to know when the source completes. Passed the ReceiveTarget as the state argument.</summary>
+            <remarks>
+            The C# compiler will not cache this delegate by default due to it being a generic method on a non-generic class.
+            The completed parameter may be null; it should not be used here, and is only part of the signature so as to 
+            match the relevant ContinueWith overload.
+            </remarks>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveTarget`1.m_receivedException">
+            <summary>The received exception if an error occurred.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveTarget`1.m_receivedValue">
+            <summary>The received value if we accepted a value from the source.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveTarget`1.m_cleanupReserved">
+            <summary>Indicates a code path is already on route to complete the target. 0 is false, 1 is true.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveTarget`1.m_cts">
+            <summary>The cancellation token source representing both external and internal cancellation.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveTarget`1.m_regFromExternalCancellationToken">
+            <summary>The registration on the external token that cancels the internal token.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveTarget`1.m_timer">
+            <summary>The timer that fires when the timeout has been exceeded.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveTarget`1.m_unlink">
+            <summary>The unlinker from removing this target from the source from which we're receiving.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveTarget`1.#ctor">
+            <summary>Initializes the target.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveTarget`1.ReserveCleanupAndComplete">
+            <summary>Atomically (using IncomingLock) tries to reserve the completion routine.</summary>
+            <returns>Whether access to the completion routine was reserved for this caller.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveTarget`1.System#Threading#Tasks#Dataflow#ITargetBlock{T}#OfferMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,`0,System.Threading.Tasks.Dataflow.ISourceBlock{`0},System.Boolean)">
+            <summary>Offers a message to be used to complete the TaskCompletionSource.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveTarget`1.CleanupAndComplete(System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveCoreByLinkingCleanupReason)">
+            <summary>Cleans up the target for completion.</summary>
+            <param name="reason">The reason we're completing and cleaning up.</param>
+            <remarks>This method must only be called once on this instance.</remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveTarget`1.CreateExceptionForSourceCompletion">
+            <summary>Creates an exception to use when a source completed before receiving a value.</summary>
+            <returns>The initialized exception.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveTarget`1.CreateExceptionForTimeout">
+            <summary>Creates an exception to use when a timeout occurs before receiving a value.</summary>
+            <returns>The initialized exception.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveTarget`1.System#Threading#Tasks#Dataflow#IDataflowBlock#Complete">
+            <summary>
+        Signals to the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> that it should not accept
+        nor produce any more messages nor consume any more postponed messages.
+      </summary><remarks>
+        After Complete has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state) after it's processed all previously
+        available data. Complete will not block waiting for completion to occur, but rather will initiaite
+        the request; to wait for completion to occur, the <see cref="M:Completion"/> task may be used.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveTarget`1.System#Threading#Tasks#Dataflow#IDataflowBlock#Fault(System.Exception)">
+            <summary>
+        Causes the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> to complete in a 
+        <see cref="F:System.Threading.Tasks.TaskStatus.Faulted"/> state.
+      </summary><param name="exception">The <see cref="T:System.Exception"/> that caused the faulting.</param><exception cref="T:System.ArgumentNullException">
+        The <paramref name="exception"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        After Fault has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state). Faulting a block causes 
+        buffered messages (uprocessed input messages as well as unoffered output messages) to be lost. 
+      </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveTarget`1.IncomingLock">
+            <summary>Gets the sync obj used to synchronize all activity on this target.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveTarget`1.System#Threading#Tasks#Dataflow#IDataflowBlock#Completion">
+            <summary>
+        Gets a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous operation and completion of the dataflow block.
+      </summary><remarks>
+        A dataflow block is considered completed when it is not currently processing a message and when it has guaranteed that it will not process
+        any more messages. The returned <see cref="T:System.Threading.Tasks.Task">Task</see> will transition to a completed state when the
+        associated block has completed. It will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state
+        when the block completes its processing successfully according to the dataflow block’s defined semantics, it will transition to
+        the <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state when the dataflow block has completed processing prematurely due to an unhandled exception,
+        and it will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">Canceled</see> state when the dataflow  block has completed processing
+        prematurely due to receiving a cancellation request.  If the task completes in the Faulted state, its Exception property will return
+        an <see cref="T:System.AggregateException"/> containing the one or more exceptions that caused the block to fail.
+      </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveTarget`1.DebuggerDisplayContent">
+            <summary>The data to display in the debugger display attribute.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveTarget`1.System#Threading#Tasks#Dataflow#Internal#IDebuggerDisplay#Content">
+            <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.DataflowBlock.OutputAvailableAsyncTarget`1">
+            <summary>Provides a target used in HasMoreAsync operations.</summary>
+            <typeparam name="T">Specifies the type of data in the data source being checked.</typeparam>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.OutputAvailableAsyncTarget`1.#ctor">
+            <summary>Initializes the target.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.OutputAvailableAsyncTarget`1.System#Threading#Tasks#Dataflow#ITargetBlock{T}#OfferMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,`0,System.Threading.Tasks.Dataflow.ISourceBlock{`0},System.Boolean)">
+            <summary>Completes the task when offered a message (but doesn't consume the message).</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.OutputAvailableAsyncTarget`1.System#Threading#Tasks#Dataflow#IDataflowBlock#Complete">
+            <summary>
+        Signals to the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> that it should not accept
+        nor produce any more messages nor consume any more postponed messages.
+      </summary><remarks>
+        After Complete has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state) after it's processed all previously
+        available data. Complete will not block waiting for completion to occur, but rather will initiaite
+        the request; to wait for completion to occur, the <see cref="M:Completion"/> task may be used.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.OutputAvailableAsyncTarget`1.System#Threading#Tasks#Dataflow#IDataflowBlock#Fault(System.Exception)">
+            <summary>
+        Causes the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> to complete in a 
+        <see cref="F:System.Threading.Tasks.TaskStatus.Faulted"/> state.
+      </summary><param name="exception">The <see cref="T:System.Exception"/> that caused the faulting.</param><exception cref="T:System.ArgumentNullException">
+        The <paramref name="exception"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        After Fault has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state). Faulting a block causes 
+        buffered messages (uprocessed input messages as well as unoffered output messages) to be lost. 
+      </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.OutputAvailableAsyncTarget`1.System#Threading#Tasks#Dataflow#IDataflowBlock#Completion">
+            <summary>
+        Gets a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous operation and completion of the dataflow block.
+      </summary><remarks>
+        A dataflow block is considered completed when it is not currently processing a message and when it has guaranteed that it will not process
+        any more messages. The returned <see cref="T:System.Threading.Tasks.Task">Task</see> will transition to a completed state when the
+        associated block has completed. It will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state
+        when the block completes its processing successfully according to the dataflow block’s defined semantics, it will transition to
+        the <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state when the dataflow block has completed processing prematurely due to an unhandled exception,
+        and it will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">Canceled</see> state when the dataflow  block has completed processing
+        prematurely due to receiving a cancellation request.  If the task completes in the Faulted state, its Exception property will return
+        an <see cref="T:System.AggregateException"/> containing the one or more exceptions that caused the block to fail.
+      </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.OutputAvailableAsyncTarget`1.DebuggerDisplayContent">
+            <summary>The data to display in the debugger display attribute.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.OutputAvailableAsyncTarget`1.System#Threading#Tasks#Dataflow#Internal#IDebuggerDisplay#Content">
+            <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.DataflowBlock.EncapsulatingPropagator`2">
+            <summary>Provides a dataflow block that encapsulates a target and a source to form a single propagator.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.EncapsulatingPropagator`2.m_target">
+            <summary>The target half.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.EncapsulatingPropagator`2.m_source">
+            <summary>The source half.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.EncapsulatingPropagator`2.Complete">
+            <summary>
+        Signals to the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> that it should not accept
+        nor produce any more messages nor consume any more postponed messages.
+      </summary><remarks>
+        After Complete has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state) after it's processed all previously
+        available data. Complete will not block waiting for completion to occur, but rather will initiaite
+        the request; to wait for completion to occur, the <see cref="M:Completion"/> task may be used.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.EncapsulatingPropagator`2.System#Threading#Tasks#Dataflow#IDataflowBlock#Fault(System.Exception)">
+            <summary>
+        Causes the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> to complete in a 
+        <see cref="F:System.Threading.Tasks.TaskStatus.Faulted"/> state.
+      </summary><param name="exception">The <see cref="T:System.Exception"/> that caused the faulting.</param><exception cref="T:System.ArgumentNullException">
+        The <paramref name="exception"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        After Fault has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state). Faulting a block causes 
+        buffered messages (uprocessed input messages as well as unoffered output messages) to be lost. 
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.EncapsulatingPropagator`2.OfferMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,`0,System.Threading.Tasks.Dataflow.ISourceBlock{`0},System.Boolean)">
+            <summary>
+        Offers a message to the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>, giving the target the opportunity to consume or postpone the message.
+      </summary><param name="messageHeader">
+        A <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance that represents the header of the message being offered.
+      </param><param name="messageValue">
+        The value of the message being offered.
+      </param><param name="source">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> offering the message. This may be null (Nothing in Visual Basic).
+      </param><param name="consumeToAccept">
+        true if the target must call ConsumeMessage synchronously during the call to OfferMessage, prior to returning
+        <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted"/>, in order to consume the message.
+        false if the target wanting to accept the message should not call ConsumeMessage, and should isntead simply return DataflowMessageStatus.Accepted.
+      </param><returns>
+        The status of the offered message. If the message was accepted by the target, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted"/> is returned, and the source should
+        no longer use the offered message, as it is now owned by the target. If the message was postponed by the target, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Postponed"/> is returned
+        as a notification that the target may later attempt to consume or reserve the message; in the meantime, the source still owns the message and may offer it to other blocks.
+        If the target would have otherwise postponed but source was null, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Declined"/> is instead returned. 
+        If the target tried to accept the message but missed it due to the source delivering the message to another target or simply discarding it, 
+        <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.NotAvailable"/> is returned.
+        If the target chose not to accept the message, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Declined"/> is returned.  If the target
+        chose not to accept the message and will never accept another message from this source, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.DecliningPermanently"/> is returned.
+      </returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentException">
+        <paramref name="consumeToAccept"/> may only be true if provided with a non-null <paramref name="source"/>.
+      </exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.EncapsulatingPropagator`2.LinkTo(System.Threading.Tasks.Dataflow.ITargetBlock{`1},System.Boolean)">
+            <summary>
+        Links the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> to the specified <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>.
+      </summary><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to which to connect this source.
+      </param><param name="unlinkAfterOne">
+        true if the source should unlink from the target after successfully propagating a single message; 
+        otherwise, false to remain connected even after a single message has been propagated.
+      </param><returns>An IDisposable that, upon calling Dispose, will unlink the source from the target.</returns><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.EncapsulatingPropagator`2.TryReceive(System.Predicate{`1},`1@)">
+            <summary>
+        Attempts to synchronously receive an available output item from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="filter">
+        The predicate a value must successfully pass in order for it to be received. 
+        <paramref name="filter"/> may be null (Nothing in Visual Basic), in which case all items will pass.
+      </param><param name="item">The item received from the source.</param><returns>true if an item could be received; otherwise, false.</returns><remarks>
+        This method does not block waiting for the source to provide an item.
+        It will return after checking for an element, whether or not an element was available.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.EncapsulatingPropagator`2.TryReceiveAll(System.Collections.Generic.IList{`1}@)">
+            <summary>
+        Attempts to synchronously receive all available items from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="items">The items received from the source.</param><returns>true if one or more items could be received; otherwise, false.</returns><remarks>
+        This method does not block waiting for the source to provide an item.
+        It will return after checking for elements, whether or not an element was available.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.EncapsulatingPropagator`2.ConsumeMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`1},System.Boolean@)">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to accept and consume a  
+        <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> previously offered by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being consumed.</param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> consuming the message.
+      </param><param name="messageConsumed">
+        True if the message was successfully consumed. False otherwise.
+      </param><returns>
+        <para>
+          The value of the consumed message. This may correspond to a different <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance than was previously reserved and
+          passed as the <paramref name="messageHeader"/> to <see cref="M:ConsumeMessage"/>. The consuming <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must 
+          use the returned value instead of the value passed as messageValue through <see cref="M:OfferMessage"/>.
+        </para>
+        <para>
+          If the message requested is not available, the return value will be null (Nothing in Visual Basic).
+        </para>
+      </returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> 
+          instance may use <see cref="M:ConsumeMessage"/>, and it must only be used
+          to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          offered by this source to the target.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.EncapsulatingPropagator`2.ReserveMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`1})">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to reserve a previously offered <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> 
+        by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">
+        The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being reserved.
+      </param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> reserving the message.
+      </param><returns>true if the message was successfully reserved; otherwise, false.</returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> instance 
+          may use <see cref="M:ReserveMessage"/>, and it must only be used
+          to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          offered by this source to the target.
+        </para>
+        <para>
+          If true is returned, the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must subsequently call either <see cref="M:ConsumeMessage"/> or <see cref="M:ReserveMessage"/> for this message.
+          Failure to do so may result in the source being unable to propagate any further messages to this or other targets.
+        </para>
+        <para>
+          <see cref="M:ReserveMessage"/> must not be called while the target is holding any internal locks.  Doing so will violate the lock hierarchy
+          necessary to avoid deadlocks in a dataflow network.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.EncapsulatingPropagator`2.ReleaseReservation(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`1})">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to release a previously reserved 
+        <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">
+        The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the reserved message being released.
+      </param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> releasing the message it previously reserved.
+      </param><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><exception cref="T:System.InvalidOperationException">
+        The <paramref name="target"/> did not have the message reserved.
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> 
+          instance may use <see cref="M:ReleaseMessage"/>, and it must only be used
+          to release <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          and successfully reserved by the target.
+        </para>
+      </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.EncapsulatingPropagator`2.Completion">
+            <summary>
+        Gets a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous operation and completion of the dataflow block.
+      </summary><remarks>
+        A dataflow block is considered completed when it is not currently processing a message and when it has guaranteed that it will not process
+        any more messages. The returned <see cref="T:System.Threading.Tasks.Task">Task</see> will transition to a completed state when the
+        associated block has completed. It will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state
+        when the block completes its processing successfully according to the dataflow block’s defined semantics, it will transition to
+        the <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state when the dataflow block has completed processing prematurely due to an unhandled exception,
+        and it will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">Canceled</see> state when the dataflow  block has completed processing
+        prematurely due to receiving a cancellation request.  If the task completes in the Faulted state, its Exception property will return
+        an <see cref="T:System.AggregateException"/> containing the one or more exceptions that caused the block to fail.
+      </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.EncapsulatingPropagator`2.DebuggerDisplayContent">
+            <summary>The data to display in the debugger display attribute.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.EncapsulatingPropagator`2.System#Threading#Tasks#Dataflow#Internal#IDebuggerDisplay#Content">
+            <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.DataflowBlock.EncapsulatingPropagator`2.DebugView">
+            <summary>A debug view for the propagator.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.EncapsulatingPropagator`2.DebugView.m_propagator">
+            <summary>The propagator being debugged.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.EncapsulatingPropagator`2.DebugView.#ctor(System.Threading.Tasks.Dataflow.DataflowBlock.EncapsulatingPropagator{`0,`1})">
+            <summary>Initializes the debug view.</summary>
+            <param name="propagator">The propagator being debugged.</param>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.EncapsulatingPropagator`2.DebugView.Target">
+            <summary>The target.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.EncapsulatingPropagator`2.DebugView.Source">
+            <summary>The source.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.DataflowBlock.ChooseTarget`1">
+            <summary>Provides a dataflow target used by Choose to receive data from a single source.</summary>
+            <typeparam name="T">Specifies the type of data offered to this target.</typeparam>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.ChooseTarget`1.s_sourceCompletionHandler">
+            <summary>Delegate used to notify the target that it should be canceled due to the source completing.</summary>
+            <remarks>The target is passed as the state.</remarks>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.ChooseTarget`1.m_completed">
+            <summary>
+            A wrapper for the task that represents the completed branch of this choice.
+            The wrapper is also the sync object used to protect all choice branch's access to shared state.
+            </summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.ChooseTarget`1.#ctor(System.Runtime.CompilerServices.StrongBox{System.Threading.Tasks.Task},System.Threading.CancellationToken)">
+            <summary>Initializes the target.</summary>
+            <param name="completed">The completed wrapper shared between all choice branches.</param>
+            <param name="cancellationToken">The cancellation token used to cancel this target.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.ChooseTarget`1.OfferMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,`0,System.Threading.Tasks.Dataflow.ISourceBlock{`0},System.Boolean)">
+            <summary>Called when this choice branch is being offered a message.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.ChooseTarget`1.System#Threading#Tasks#Dataflow#IDataflowBlock#Complete">
+            <summary>
+        Signals to the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> that it should not accept
+        nor produce any more messages nor consume any more postponed messages.
+      </summary><remarks>
+        After Complete has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state) after it's processed all previously
+        available data. Complete will not block waiting for completion to occur, but rather will initiaite
+        the request; to wait for completion to occur, the <see cref="M:Completion"/> task may be used.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.ChooseTarget`1.System#Threading#Tasks#Dataflow#IDataflowBlock#Fault(System.Exception)">
+            <summary>
+        Causes the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> to complete in a 
+        <see cref="F:System.Threading.Tasks.TaskStatus.Faulted"/> state.
+      </summary><param name="exception">The <see cref="T:System.Exception"/> that caused the faulting.</param><exception cref="T:System.ArgumentNullException">
+        The <paramref name="exception"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        After Fault has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state). Faulting a block causes 
+        buffered messages (uprocessed input messages as well as unoffered output messages) to be lost. 
+      </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.ChooseTarget`1.System#Threading#Tasks#Dataflow#IDataflowBlock#Completion">
+            <summary>
+        Gets a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous operation and completion of the dataflow block.
+      </summary><remarks>
+        A dataflow block is considered completed when it is not currently processing a message and when it has guaranteed that it will not process
+        any more messages. The returned <see cref="T:System.Threading.Tasks.Task">Task</see> will transition to a completed state when the
+        associated block has completed. It will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state
+        when the block completes its processing successfully according to the dataflow block’s defined semantics, it will transition to
+        the <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state when the dataflow block has completed processing prematurely due to an unhandled exception,
+        and it will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">Canceled</see> state when the dataflow  block has completed processing
+        prematurely due to receiving a cancellation request.  If the task completes in the Faulted state, its Exception property will return
+        an <see cref="T:System.AggregateException"/> containing the one or more exceptions that caused the block to fail.
+      </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.ChooseTarget`1.DebuggerDisplayContent">
+            <summary>The data to display in the debugger display attribute.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.ChooseTarget`1.System#Threading#Tasks#Dataflow#Internal#IDebuggerDisplay#Content">
+            <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.DataflowBlock.SourceObservable`1">
+            <summary>Provides an IObservable veneer over a source block.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.SourceObservable`1.Table">
+            <summary>The table that maps source to cached observable.</summary>
+            <remarks>
+            ConditionalWeakTable doesn't do the initialization under a lock, just the publication.
+            This means that if there's a race to create two observables off the same source, we could end
+            up instantiating multiple SourceObservable instances, of which only one will be published.
+            Worst case, we end up with a few additional continuations off of the source's completion task.
+            </remarks>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.SourceObservable`1.SubscriptionLock">
+            <summary>Object used to synchronize all subscriptions, unsubscriptions, and propagations.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.SourceObservable`1.m_source">
+            <summary>The wrapped source.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.SourceObservable`1.m_observersState">
+            <summary>
+            The current target.  We use the same target until the number of subscribers
+            drops to 0, at which point we substitute in a new target.
+            </summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SourceObservable`1.#ctor(System.Threading.Tasks.Dataflow.ISourceBlock{`0})">
+            <summary>Initializes the SourceObservable.</summary>
+            <param name="source">The source to wrap.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SourceObservable`1.GetCompletionError">
+            <summary>Gets any exceptions from the source block.</summary>
+            <returns>The aggregate exception of all errors, or null if everything completed successfully.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SourceObservable`1.System#IObservable{TOutput}#Subscribe(System.IObserver{`0})">
+            <summary>Subscribes the observer to the source.</summary>
+            <param name="observer">the observer to subscribe.</param>
+            <returns>An IDisposable that may be used to unsubscribe the source.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SourceObservable`1.Unsubscribe(System.IObserver{`0})">
+            <summary>Unsubscribes the observer.</summary>
+            <param name="observer">The observer being unsubscribed.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SourceObservable`1.ResetObserverState">
+            <summary>Resets the observer state to the original, unactive state.</summary>
+            <returns>The list of active observers prior to the reset.</returns>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.SourceObservable`1.DebuggerDisplayContent">
+            <summary>The data to display in the debugger display attribute.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.SourceObservable`1.System#Threading#Tasks#Dataflow#Internal#IDebuggerDisplay#Content">
+            <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.DataflowBlock.SourceObservable`1.DebugView">
+            <summary>Provides a debugger type proxy for the observable.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.SourceObservable`1.DebugView.m_observable">
+            <summary>The observable being debugged.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SourceObservable`1.DebugView.#ctor(System.Threading.Tasks.Dataflow.DataflowBlock.SourceObservable{`0})">
+            <summary>Initializes the debug view.</summary>
+            <param name="observable">The target being debugged.</param>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.SourceObservable`1.DebugView.Observers">
+            <summary>Gets an enumerable of the observers.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.DataflowBlock.SourceObservable`1.ObserversState">
+            <summary>State associated with the current target for propagating data to observers.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.SourceObservable`1.ObserversState.Observable">
+            <summary>The owning SourceObservable.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.SourceObservable`1.ObserversState.Target">
+            <summary>The ActionBlock that consumes data from a source and offers it to targets.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.SourceObservable`1.ObserversState.Canceler">
+            <summary>Used to cancel continuations when they're no longer necessary.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.SourceObservable`1.ObserversState.Observers">
+            <summary>
+            A list of the observers currently registered with this target.  The list is immutable
+            to enable iteration through the list while the set of observers may be changing.
+            </summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.SourceObservable`1.ObserversState.Unlinker">
+            <summary>Used to unlink the source from this target when the last observer is unsubscribed.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SourceObservable`1.ObserversState.#ctor(System.Threading.Tasks.Dataflow.DataflowBlock.SourceObservable{`0})">
+            <summary>Initializes the target instance.</summary>
+            <param name="observable">The owning observable.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SourceObservable`1.ObserversState.ProcessItem(`0)">
+            <summary>Forwards an item to all currently subscribed observers.</summary>
+            <param name="item">The item to forward.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.SourceObservable`1.ObserversState.NotifyObserversOfCompletion(System.Exception)">
+            <summary>Notifies all currently registered observers that they should complete.</summary>
+            <param name="targetException">
+            Non-null when an unexpected exception occurs during processing.  Faults
+            all subscribed observers and resets the observable back to its original condition.
+            </param>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.DataflowBlock.TargetObserver`1">
+            <summary>Provides an observer wrapper for a target block.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlock.TargetObserver`1.m_target">
+            <summary>The wrapped target.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.TargetObserver`1.#ctor(System.Threading.Tasks.Dataflow.ITargetBlock{`0})">
+            <summary>Initializes the observer.</summary>
+            <param name="target">The target to wrap.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.TargetObserver`1.System#IObserver{TInput}#OnNext(`0)">
+            <summary>Sends the value to the observer.</summary>
+            <param name="value">The value to send.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.TargetObserver`1.System#IObserver{TInput}#OnCompleted">
+            <summary>Completes the target.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlock.TargetObserver`1.System#IObserver{TInput}#OnError(System.Exception)">
+            <summary>Forwards the error to the target.</summary>
+            <param name="error">The exception to forward.</param>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.TargetObserver`1.DebuggerDisplayContent">
+            <summary>The data to display in the debugger display attribute.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.DataflowBlock.TargetObserver`1.System#Threading#Tasks#Dataflow#Internal#IDebuggerDisplay#Content">
+            <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.BufferBlock`1">
+            <summary>Provides a buffer for storing data.</summary>
+            <typeparam name="T">Specifies the type of the data buffered by this dataflow block.</typeparam>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BufferBlock`1.m_source">
+            <summary>The core logic for the buffer block.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BufferBlock`1.m_boundingState">
+            <summary>The bounding state for when in bounding mode; null if not bounding.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BufferBlock`1.m_targetDecliningPermanently">
+            <summary>Whether all future messages should be declined on the target.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BufferBlock`1.m_targetCompletionReserved">
+            <summary>A task has reserved the right to run the target's completion routine.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BufferBlock`1.#ctor">
+            <summary>Initializes the <see cref="T:System.Threading.Tasks.Dataflow.BufferBlock`1"/>.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BufferBlock`1.#ctor(System.Threading.Tasks.Dataflow.DataflowBlockOptions)">
+            <summary>Initializes the <see cref="T:System.Threading.Tasks.Dataflow.BufferBlock`1"/> with the specified <see cref="T:System.Threading.Tasks.Dataflow.DataflowBlockOptions"/>.</summary>
+            <param name="dataflowBlockOptions">The options with which to configure this <see cref="T:System.Threading.Tasks.Dataflow.BufferBlock`1"/>.</param>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="dataflowBlockOptions"/> is null (Nothing in Visual Basic).</exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BufferBlock`1.System#Threading#Tasks#Dataflow#ITargetBlock{T}#OfferMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,`0,System.Threading.Tasks.Dataflow.ISourceBlock{`0},System.Boolean)">
+            <summary>
+        Offers a message to the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>, giving the target the opportunity to consume or postpone the message.
+      </summary><param name="messageHeader">
+        A <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance that represents the header of the message being offered.
+      </param><param name="messageValue">
+        The value of the message being offered.
+      </param><param name="source">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> offering the message. This may be null (Nothing in Visual Basic).
+      </param><param name="consumeToAccept">
+        true if the target must call ConsumeMessage synchronously during the call to OfferMessage, prior to returning
+        <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted"/>, in order to consume the message.
+        false if the target wanting to accept the message should not call ConsumeMessage, and should isntead simply return DataflowMessageStatus.Accepted.
+      </param><returns>
+        The status of the offered message. If the message was accepted by the target, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted"/> is returned, and the source should
+        no longer use the offered message, as it is now owned by the target. If the message was postponed by the target, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Postponed"/> is returned
+        as a notification that the target may later attempt to consume or reserve the message; in the meantime, the source still owns the message and may offer it to other blocks.
+        If the target would have otherwise postponed but source was null, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Declined"/> is instead returned. 
+        If the target tried to accept the message but missed it due to the source delivering the message to another target or simply discarding it, 
+        <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.NotAvailable"/> is returned.
+        If the target chose not to accept the message, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Declined"/> is returned.  If the target
+        chose not to accept the message and will never accept another message from this source, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.DecliningPermanently"/> is returned.
+      </returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentException">
+        <paramref name="consumeToAccept"/> may only be true if provided with a non-null <paramref name="source"/>.
+      </exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BufferBlock`1.Complete">
+            <summary>
+        Signals to the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> that it should not accept
+        nor produce any more messages nor consume any more postponed messages.
+      </summary><remarks>
+        After Complete has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state) after it's processed all previously
+        available data. Complete will not block waiting for completion to occur, but rather will initiaite
+        the request; to wait for completion to occur, the <see cref="M:Completion"/> task may be used.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BufferBlock`1.System#Threading#Tasks#Dataflow#IDataflowBlock#Fault(System.Exception)">
+            <summary>
+        Causes the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> to complete in a 
+        <see cref="F:System.Threading.Tasks.TaskStatus.Faulted"/> state.
+      </summary><param name="exception">The <see cref="T:System.Exception"/> that caused the faulting.</param><exception cref="T:System.ArgumentNullException">
+        The <paramref name="exception"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        After Fault has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state). Faulting a block causes 
+        buffered messages (uprocessed input messages as well as unoffered output messages) to be lost. 
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BufferBlock`1.LinkTo(System.Threading.Tasks.Dataflow.ITargetBlock{`0},System.Boolean)">
+            <summary>
+        Links the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> to the specified <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>.
+      </summary><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to which to connect this source.
+      </param><param name="unlinkAfterOne">
+        true if the source should unlink from the target after successfully propagating a single message; 
+        otherwise, false to remain connected even after a single message has been propagated.
+      </param><returns>An IDisposable that, upon calling Dispose, will unlink the source from the target.</returns><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BufferBlock`1.TryReceive(System.Predicate{`0},`0@)">
+            <summary>
+        Attempts to synchronously receive an available output item from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="filter">
+        The predicate a value must successfully pass in order for it to be received. 
+        <paramref name="filter"/> may be null (Nothing in Visual Basic), in which case all items will pass.
+      </param><param name="item">The item received from the source.</param><returns>true if an item could be received; otherwise, false.</returns><remarks>
+        This method does not block waiting for the source to provide an item.
+        It will return after checking for an element, whether or not an element was available.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BufferBlock`1.TryReceiveAll(System.Collections.Generic.IList{`0}@)">
+            <summary>
+        Attempts to synchronously receive all available items from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="items">The items received from the source.</param><returns>true if one or more items could be received; otherwise, false.</returns><remarks>
+        This method does not block waiting for the source to provide an item.
+        It will return after checking for elements, whether or not an element was available.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BufferBlock`1.System#Threading#Tasks#Dataflow#ISourceBlock{T}#ConsumeMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0},System.Boolean@)">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to accept and consume a  
+        <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> previously offered by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being consumed.</param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> consuming the message.
+      </param><param name="messageConsumed">
+        True if the message was successfully consumed. False otherwise.
+      </param><returns>
+        <para>
+          The value of the consumed message. This may correspond to a different <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance than was previously reserved and
+          passed as the <paramref name="messageHeader"/> to <see cref="M:ConsumeMessage"/>. The consuming <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must 
+          use the returned value instead of the value passed as messageValue through <see cref="M:OfferMessage"/>.
+        </para>
+        <para>
+          If the message requested is not available, the return value will be null (Nothing in Visual Basic).
+        </para>
+      </returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> 
+          instance may use <see cref="M:ConsumeMessage"/>, and it must only be used
+          to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          offered by this source to the target.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BufferBlock`1.System#Threading#Tasks#Dataflow#ISourceBlock{T}#ReserveMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0})">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to reserve a previously offered <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> 
+        by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">
+        The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being reserved.
+      </param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> reserving the message.
+      </param><returns>true if the message was successfully reserved; otherwise, false.</returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> instance 
+          may use <see cref="M:ReserveMessage"/>, and it must only be used
+          to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          offered by this source to the target.
+        </para>
+        <para>
+          If true is returned, the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must subsequently call either <see cref="M:ConsumeMessage"/> or <see cref="M:ReserveMessage"/> for this message.
+          Failure to do so may result in the source being unable to propagate any further messages to this or other targets.
+        </para>
+        <para>
+          <see cref="M:ReserveMessage"/> must not be called while the target is holding any internal locks.  Doing so will violate the lock hierarchy
+          necessary to avoid deadlocks in a dataflow network.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BufferBlock`1.System#Threading#Tasks#Dataflow#ISourceBlock{T}#ReleaseReservation(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0})">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to release a previously reserved 
+        <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">
+        The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the reserved message being released.
+      </param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> releasing the message it previously reserved.
+      </param><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><exception cref="T:System.InvalidOperationException">
+        The <paramref name="target"/> did not have the message reserved.
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> 
+          instance may use <see cref="M:ReleaseMessage"/>, and it must only be used
+          to release <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          and successfully reserved by the target.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BufferBlock`1.OnItemsRemoved(System.Int32)">
+            <summary>Notifies the block that one or more items was removed from the queue.</summary>
+            <param name="numItemsRemoved">The number of items removed.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BufferBlock`1.ConsumeAsyncIfNecessary(System.Boolean)">
+            <summary>Called when postponed messages may need to be consumed.</summary>
+            <param name="isReplacementReplica">Whether this call is the continuation of a previous message loop.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BufferBlock`1.ConsumeMessagesLoopWithExecutionContext">
+            <summary>Task body used to consume postponed messages under the right execution context.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BufferBlock`1.ConsumeMessagesLoopCore">
+            <summary>Task body used to consume postponed messages.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BufferBlock`1.ConsumeAndStoreOneMessageIfAvailable">
+            <summary>
+            Retrieves one postponed message if there's room and if we can consume a postoned message.
+            Stores any consumed message into the source half.
+            </summary>
+            <returns>true if a message could be consumed and stored; otherwise, false.</returns>
+            <remarks>This must only be called from the asynchronous processing loop.</remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BufferBlock`1.CompleteTargetIfPossible">
+            <summary>Completes the target, notifying the source, once all completion conditions are met.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BufferBlock`1.IncomingLock">
+            <summary>Gets the lock object used to synchronize incoming requests.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BufferBlock`1.Count">
+            <summary>Gets the number of items currently stored in the buffer.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BufferBlock`1.Completion">
+            <summary>
+        Gets a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous operation and completion of the dataflow block.
+      </summary><remarks>
+        A dataflow block is considered completed when it is not currently processing a message and when it has guaranteed that it will not process
+        any more messages. The returned <see cref="T:System.Threading.Tasks.Task">Task</see> will transition to a completed state when the
+        associated block has completed. It will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state
+        when the block completes its processing successfully according to the dataflow block’s defined semantics, it will transition to
+        the <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state when the dataflow block has completed processing prematurely due to an unhandled exception,
+        and it will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">Canceled</see> state when the dataflow  block has completed processing
+        prematurely due to receiving a cancellation request.  If the task completes in the Faulted state, its Exception property will return
+        an <see cref="T:System.AggregateException"/> containing the one or more exceptions that caused the block to fail.
+      </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BufferBlock`1.CountForDebugger">
+            <summary>Gets the number of messages in the buffer.  This must only be used from the debugger as it avoids taking necessary locks.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BufferBlock`1.DebuggerDisplayContent">
+            <summary>The data to display in the debugger display attribute.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BufferBlock`1.System#Threading#Tasks#Dataflow#Internal#IDebuggerDisplay#Content">
+            <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.BufferBlock`1.DebugView">
+            <summary>Provides a debugger type proxy for the BufferBlock.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BufferBlock`1.DebugView.m_bufferBlock">
+            <summary>The buffer block.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BufferBlock`1.DebugView.m_sourceDebuggingInformation">
+            <summary>The buffer's source half.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BufferBlock`1.DebugView.#ctor(System.Threading.Tasks.Dataflow.BufferBlock{`0})">
+            <summary>Initializes the debug view.</summary>
+            <param name="bufferBlock">The BufferBlock being viewed.</param>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BufferBlock`1.DebugView.PostponedMessages">
+            <summary>Gets the collection of postponed message headers.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BufferBlock`1.DebugView.Queue">
+            <summary>Gets the messages in the buffer.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BufferBlock`1.DebugView.TaskForInputProcessing">
+            <summary>The task used to process messages.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BufferBlock`1.DebugView.TaskForOutputProcessing">
+            <summary>Gets the task being used for output processing.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BufferBlock`1.DebugView.DataflowBlockOptions">
+            <summary>Gets the DataflowBlockOptions used to configure this block.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BufferBlock`1.DebugView.IsDecliningPermanently">
+            <summary>Gets whether the block is declining further messages.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BufferBlock`1.DebugView.IsCompleted">
+            <summary>Gets whether the block is completed.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BufferBlock`1.DebugView.Id">
+            <summary>Gets the block's Id.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BufferBlock`1.DebugView.LinkedTargets">
+            <summary>Gets the set of all targets linked from this block.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BufferBlock`1.DebugView.NextMessageReservedFor">
+            <summary>Gets the set of all targets linked from this block.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.Internal.ImmutableList`1">
+            <summary>Provides a simple, immutable list.</summary>
+            <typeparam name="T">Specifies the type of the data stored in the list.</typeparam>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.ImmutableList`1.s_empty">
+            <summary>An empty list.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.ImmutableList`1.m_array">
+            <summary>The immutable data in this list instance.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.ImmutableList`1.#ctor">
+            <summary>Initializes the immutable list to be empty.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.ImmutableList`1.#ctor(`0[])">
+            <summary>Initializes the immutable list with the specified elements.</summary>
+            <param name="elements">The element array to use for this list's data.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.ImmutableList`1.Add(`0)">
+            <summary>Creates a new immutable list from this list and the additional element.</summary>
+            <param name="item">The item to add.</param>
+            <returns>The new list.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.ImmutableList`1.Remove(`0)">
+            <summary>Creates a new immutable list from this list and without the specified element.</summary>
+            <param name="item">The item to remove.</param>
+            <returns>The new list.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.ImmutableList`1.Contains(`0)">
+            <summary>Gets whether the list contains the specified item.</summary>
+            <param name="item">The item to lookup.</param>
+            <returns>true if the list contains the item; otherwise, false.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.ImmutableList`1.GetEnumerator">
+            <summary>Returns an enumerator that iterates through the collection.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.ImmutableList`1.System#Collections#IEnumerable#GetEnumerator">
+            <summary>Returns an enumerator that iterates through the collection.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.ImmutableList`1.Empty">
+            <summary>Gets the empty list.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.ImmutableList`1.Count">
+            <summary>Gets the number of elements in this list.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.Internal.ImmutableList`1.DebugView">
+            <summary>Debugger type proxy for ImmutableList.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.ImmutableList`1.DebugView.m_list">
+            <summary>The list being visualized.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.ImmutableList`1.DebugView.#ctor(System.Threading.Tasks.Dataflow.Internal.ImmutableList{`0})">
+            <summary>Initializes the debug view.</summary>
+            <param name="list">The list being debugged.</param>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.ImmutableList`1.DebugView.Items">
+            <summary>Gets the contents of the list.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.Internal.TargetRegistry`1">
+            <summary>Stores targets registered with a source.</summary>
+            <typeparam name="T">Specifies the type of data accepted by the targets.</typeparam>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.TargetRegistry`1.m_orderedTargetList">
+            <summary>An ordered list of targets.  Targets should be offered messages in order from index 0 to N-1.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.TargetRegistry`1.m_targetInformation">
+            <summary>A mapping of targets to information about them.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.TargetRegistry`1.m_owningSource">
+            <summary>A reference to the owning source block.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.TargetRegistry`1.m_unlinkAfterOneCount">
+            <summary>An optimization that allows us to skip dictionary lookup when there are no 'unlinkAfterOne' targets.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.TargetRegistry`1.#ctor(System.Threading.Tasks.Dataflow.ISourceBlock{`0})">
+            <summary>Initializes the registry.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.TargetRegistry`1.Add(System.Threading.Tasks.Dataflow.ITargetBlock{`0}@,System.Boolean)">
+            <summary>Adds a target to the registry.</summary>
+            <param name="target">The target to add.</param>
+            <param name="unlinkAfterOne">
+            A Boolean value indicating whether the target should be disconnected after one successful propagation.
+            </param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.TargetRegistry`1.Contains(System.Threading.Tasks.Dataflow.ITargetBlock{`0})">
+            <summary>Gets whether the registry contains a particular target.</summary>
+            <param name="target">The target.</param>
+            <returns>true if the registry contains the target; otherwise, false.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.TargetRegistry`1.Clear">
+            <summary>Clears the target registry.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.TargetRegistry`1.Remove(System.Threading.Tasks.Dataflow.ITargetBlock{`0},System.Boolean)">
+            <summary>Removes the target from the registry.</summary>
+            <param name="target">The target to remove.</param>
+            <param name="onlyIfUnlinkAfterOne">
+            Only remove the target if it's configured to be unlinked after one propagation.
+            </param>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.TargetRegistry`1.Count">
+            <summary>Gets the number of items in the registry.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.TargetRegistry`1.OrderedTargetList">
+            <summary>Gets the ordered target list.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.Internal.TargetRegistry`1.LinkedTargetInfo">
+            <summary>Information about a registered target.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.TargetRegistry`1.LinkedTargetInfo.#ctor(System.Boolean,System.Collections.Generic.LinkedListNode{System.Threading.Tasks.Dataflow.ITargetBlock{`0}})">
+            <summary>Initializes the LinkedTargetInfo.</summary>
+            <param name="unlinkAfterOne">Whether the target should be disconnected after one successful propagation.</param>
+            <param name="listNode">The linked list node for this entry.</param>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.TargetRegistry`1.LinkedTargetInfo.UnlinkAfterOne">
+            <summary>Whether to unlink this node after one propagation.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.TargetRegistry`1.LinkedTargetInfo.ListNode">
+            <summary>The linked list node for this entry.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.Internal.TargetRegistry`1.NopLinkPropagator">
+            <summary>Provides a nop passthrough for use with TargetRegistry.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.TargetRegistry`1.NopLinkPropagator.m_owningSource">
+            <summary>The source that encapsulates this block.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.TargetRegistry`1.NopLinkPropagator.m_target">
+            <summary>The target with which this block is associated.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.TargetRegistry`1.NopLinkPropagator.#ctor(System.Threading.Tasks.Dataflow.ISourceBlock{`0},System.Threading.Tasks.Dataflow.ITargetBlock{`0})">
+            <summary>Initializes the passthrough.</summary>
+            <param name="owningSource">The source that encapsulates this block.</param>
+            <param name="target">The target to which messages should be forwarded.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.TargetRegistry`1.NopLinkPropagator.System#Threading#Tasks#Dataflow#ITargetBlock{T}#OfferMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,`0,System.Threading.Tasks.Dataflow.ISourceBlock{`0},System.Boolean)">
+            <summary>
+        Offers a message to the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>, giving the target the opportunity to consume or postpone the message.
+      </summary><param name="messageHeader">
+        A <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance that represents the header of the message being offered.
+      </param><param name="messageValue">
+        The value of the message being offered.
+      </param><param name="source">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> offering the message. This may be null (Nothing in Visual Basic).
+      </param><param name="consumeToAccept">
+        true if the target must call ConsumeMessage synchronously during the call to OfferMessage, prior to returning
+        <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted"/>, in order to consume the message.
+        false if the target wanting to accept the message should not call ConsumeMessage, and should isntead simply return DataflowMessageStatus.Accepted.
+      </param><returns>
+        The status of the offered message. If the message was accepted by the target, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted"/> is returned, and the source should
+        no longer use the offered message, as it is now owned by the target. If the message was postponed by the target, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Postponed"/> is returned
+        as a notification that the target may later attempt to consume or reserve the message; in the meantime, the source still owns the message and may offer it to other blocks.
+        If the target would have otherwise postponed but source was null, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Declined"/> is instead returned. 
+        If the target tried to accept the message but missed it due to the source delivering the message to another target or simply discarding it, 
+        <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.NotAvailable"/> is returned.
+        If the target chose not to accept the message, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Declined"/> is returned.  If the target
+        chose not to accept the message and will never accept another message from this source, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.DecliningPermanently"/> is returned.
+      </returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentException">
+        <paramref name="consumeToAccept"/> may only be true if provided with a non-null <paramref name="source"/>.
+      </exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.TargetRegistry`1.NopLinkPropagator.System#Threading#Tasks#Dataflow#ISourceBlock{T}#ConsumeMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0},System.Boolean@)">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to accept and consume a  
+        <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> previously offered by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being consumed.</param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> consuming the message.
+      </param><param name="messageConsumed">
+        True if the message was successfully consumed. False otherwise.
+      </param><returns>
+        <para>
+          The value of the consumed message. This may correspond to a different <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance than was previously reserved and
+          passed as the <paramref name="messageHeader"/> to <see cref="M:ConsumeMessage"/>. The consuming <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must 
+          use the returned value instead of the value passed as messageValue through <see cref="M:OfferMessage"/>.
+        </para>
+        <para>
+          If the message requested is not available, the return value will be null (Nothing in Visual Basic).
+        </para>
+      </returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> 
+          instance may use <see cref="M:ConsumeMessage"/>, and it must only be used
+          to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          offered by this source to the target.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.TargetRegistry`1.NopLinkPropagator.System#Threading#Tasks#Dataflow#ISourceBlock{T}#ReserveMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0})">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to reserve a previously offered <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> 
+        by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">
+        The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being reserved.
+      </param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> reserving the message.
+      </param><returns>true if the message was successfully reserved; otherwise, false.</returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> instance 
+          may use <see cref="M:ReserveMessage"/>, and it must only be used
+          to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          offered by this source to the target.
+        </para>
+        <para>
+          If true is returned, the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must subsequently call either <see cref="M:ConsumeMessage"/> or <see cref="M:ReserveMessage"/> for this message.
+          Failure to do so may result in the source being unable to propagate any further messages to this or other targets.
+        </para>
+        <para>
+          <see cref="M:ReserveMessage"/> must not be called while the target is holding any internal locks.  Doing so will violate the lock hierarchy
+          necessary to avoid deadlocks in a dataflow network.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.TargetRegistry`1.NopLinkPropagator.System#Threading#Tasks#Dataflow#ISourceBlock{T}#ReleaseReservation(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0})">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to release a previously reserved 
+        <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">
+        The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the reserved message being released.
+      </param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> releasing the message it previously reserved.
+      </param><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><exception cref="T:System.InvalidOperationException">
+        The <paramref name="target"/> did not have the message reserved.
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> 
+          instance may use <see cref="M:ReleaseMessage"/>, and it must only be used
+          to release <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          and successfully reserved by the target.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.TargetRegistry`1.NopLinkPropagator.System#Threading#Tasks#Dataflow#IDataflowBlock#Complete">
+            <summary>
+        Signals to the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> that it should not accept
+        nor produce any more messages nor consume any more postponed messages.
+      </summary><remarks>
+        After Complete has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state) after it's processed all previously
+        available data. Complete will not block waiting for completion to occur, but rather will initiaite
+        the request; to wait for completion to occur, the <see cref="M:Completion"/> task may be used.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.TargetRegistry`1.NopLinkPropagator.System#Threading#Tasks#Dataflow#IDataflowBlock#Fault(System.Exception)">
+            <summary>
+        Causes the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> to complete in a 
+        <see cref="F:System.Threading.Tasks.TaskStatus.Faulted"/> state.
+      </summary><param name="exception">The <see cref="T:System.Exception"/> that caused the faulting.</param><exception cref="T:System.ArgumentNullException">
+        The <paramref name="exception"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        After Fault has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state). Faulting a block causes 
+        buffered messages (uprocessed input messages as well as unoffered output messages) to be lost. 
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.TargetRegistry`1.NopLinkPropagator.System#Threading#Tasks#Dataflow#ISourceBlock{T}#LinkTo(System.Threading.Tasks.Dataflow.ITargetBlock{`0},System.Boolean)">
+            <summary>
+        Links the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> to the specified <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>.
+      </summary><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to which to connect this source.
+      </param><param name="unlinkAfterOne">
+        true if the source should unlink from the target after successfully propagating a single message; 
+        otherwise, false to remain connected even after a single message has been propagated.
+      </param><returns>An IDisposable that, upon calling Dispose, will unlink the source from the target.</returns><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.TargetRegistry`1.NopLinkPropagator.System#Threading#Tasks#Dataflow#IDataflowBlock#Completion">
+            <summary>
+        Gets a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous operation and completion of the dataflow block.
+      </summary><remarks>
+        A dataflow block is considered completed when it is not currently processing a message and when it has guaranteed that it will not process
+        any more messages. The returned <see cref="T:System.Threading.Tasks.Task">Task</see> will transition to a completed state when the
+        associated block has completed. It will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state
+        when the block completes its processing successfully according to the dataflow block’s defined semantics, it will transition to
+        the <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state when the dataflow block has completed processing prematurely due to an unhandled exception,
+        and it will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">Canceled</see> state when the dataflow  block has completed processing
+        prematurely due to receiving a cancellation request.  If the task completes in the Faulted state, its Exception property will return
+        an <see cref="T:System.AggregateException"/> containing the one or more exceptions that caused the block to fail.
+      </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.TargetRegistry`1.NopLinkPropagator.DebuggerDisplayContent">
+            <summary>The data to display in the debugger display attribute.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.TargetRegistry`1.NopLinkPropagator.System#Threading#Tasks#Dataflow#Internal#IDebuggerDisplay#Content">
+            <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.Internal.TargetRegistry`1.NopLinkPropagator.DebugView">
+            <summary>Provides a debugger type proxy for a passthrough.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.TargetRegistry`1.NopLinkPropagator.DebugView.m_passthrough">
+            <summary>The passthrough.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.TargetRegistry`1.NopLinkPropagator.DebugView.#ctor(System.Threading.Tasks.Dataflow.Internal.TargetRegistry{`0}.NopLinkPropagator)">
+            <summary>Initializes the debug view.</summary>
+            <param name="passthrough">The passthrough to view.</param>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.TargetRegistry`1.NopLinkPropagator.DebugView.LinkedTarget">
+            <summary>The linked target for this block.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.Internal.TargetRegistry`1.DebugView">
+            <summary>Provides a debugger type proxy for the target registry.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.TargetRegistry`1.DebugView.m_registry">
+            <summary>The registry being debugged.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.TargetRegistry`1.DebugView.#ctor(System.Threading.Tasks.Dataflow.Internal.TargetRegistry{`0})">
+            <summary>Initializes the type proxy.</summary>
+            <param name="registry">The target registry.</param>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.TargetRegistry`1.DebugView.Targets">
+            <summary>Gets a list of all targets to show in the debugger.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.Internal.Common">
+            <summary>Internal helper utilities.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.Common.INVALID_REORDERING_ID">
+            <summary>
+            An invalid ID to assign for reordering purposes.  This value is chosen to be the last of the 64-bit integers that
+            could ever be assigned as a reordering ID.
+            </summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.Common.SINGLE_MESSAGE_ID">
+            <summary>A well-known message ID for code that will send exactly one message or 
+            where the exact message ID is not important.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.Common.EXCEPTIONDATAKEY_DATAFLOWMESSAGEVALUE">
+            <summary>The name of the key in an Exception's Data collection used to store information on a dataflow message.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.Common.SingleMessageHeader">
+            <summary>A perf optimization for caching a well-known message header instead of
+            constructing one every time it is needed.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.Common.ContractAssertMonitorStatus(System.Object,System.Boolean)">
+            <summary>Asserts that a given synchronization object is either held or not held.</summary>
+            <param name="syncObj">The monitor to check.</param>
+            <param name="held">Whether we want to assert that it's currently held or not held.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.Common.GetBlockId(System.Threading.Tasks.Dataflow.IDataflowBlock)">
+            <summary>Gets an ID for the dataflow block.</summary>
+            <param name="block">The dataflow block.</param>
+            <returns>An ID for the dataflow block.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.Common.GetNameForDebugger(System.Object)">
+            <summary>Gets the name for the specified object, suitable to be rendered in a debugger window.</summary>
+            <param name="obj">The object for which a name is needed.</param>
+            <returns>The name of the object.</returns>
+            <remarks>This is used from DebuggerDisplay attributes.</remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.Common.IsCooperativeCancellation(System.Exception)">
+            <summary>
+            Gets whether the exception represents a cooperative cancellation acknowledgement.
+            </summary>
+            <param name="exception">The exception to check.</param>
+            <returns>true if this exception represents a cooperative cancellation acknowledgement; otherwise, false.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.Common.WireCancellationToComplete(System.Threading.CancellationToken,System.Threading.Tasks.Task,System.Action{System.Object},System.Object)">
+            <summary>Registers a block for cancellation by completing when cancellation is requested.</summary>
+            <param name="cancellationToken">The block's cancellation token.</param>
+            <param name="completionTask">The task that will complete when the block is completely done processing.</param>
+            <param name="completeAction">An action that will decline permanently on the state passed to it.</param>
+            <param name="completeState">The block on which to decline permanently.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.Common.PollForTaskCompletionAsync(System.Threading.Tasks.Task,System.Action,System.Threading.CancellationToken)">
+            <summary>Asynchronously polls for a task's completion.</summary>
+            <param name="task">The task to poll for completion.</param>
+            <param name="callback">The callback to invoke when the source completes.</param>
+            <param name="cancellationToken">A cancellation token used to cancel polling.</param>
+            <remarks>
+            Post-.NET4, passing a CTS to ContinueWith causes the continuation to be removed.  But in .NET 4 it does not,
+            which can lead to memory leaks when used this way.  We need to know when a long-lived task completes, so
+            our best option for .NET 4 is just to poll, and cancel the polling when everything completes sucessfully.
+            </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.Common.InitializeStackTrace(System.Exception)">
+            <summary>Initializes the stack trace and watson bucket of an inactive exception.</summary>
+            <param name="exception">The exception to initialize.</param>
+            <returns>The initialized exception.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.Common.StoreDataflowMessageValueIntoExceptionData``1(System.Exception,``0,System.Boolean)">
+            <summary>Stores details on a dataflow message into an Exception's Data collection.</summary>
+            <typeparam name="T">Specifies the type of data stored in the message.</typeparam>
+            <param name="exc">The Exception whose Data collection should store message information.</param>
+            <param name="messageValue">The message information to be stored.</param>
+            <param name="targetInnerExceptions">Whether to store the data into the exception's inner exception(s) in addition to the exception itself.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.Common.StoreStringIntoExceptionData(System.Exception,System.String,System.String)">
+            <summary>Stores the specified string value into the specified key slot of the specified exception's data dictionary.</summary>
+            <param name="exception">The exception into which the key/value should be stored.</param>
+            <param name="key">The key.</param>
+            <param name="value">The value to be serialized as a string and stored.</param>
+            <remarks>If the key is already present in the exception's data dictionary, the value is not overwritten.</remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.Common.ThrowAsync(System.Exception)">
+            <summary>Throws an exception asynchronously on the thread pool.</summary>
+            <param name="error">The exception to throw.</param>
+            <remarks>
+            This function is used when an exception needs to be propagated from a thread
+            other than the current context.  This could happen, for example, if the exception
+            should cause the standard CLR exception escalation behavior, but we're inside
+            of a task that will squirrel the exception away.
+            </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.Common.AddException(System.Collections.Generic.List{System.Exception}@,System.Exception,System.Boolean)">
+            <summary>Adds the exception to the list, first initializing the list if the list is null.</summary>
+            <param name="list">The list to add the exception to, and initialize if null.</param>
+            <param name="exception">The exception to add or whose inner exception(s) should be added.</param>
+            <param name="unwrapInnerExceptions">Unwrap and add the inner exception(s) rather than the specified exception directly.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.Common.CreateTaskFromResult``1(``0)">
+            <summary>Creates a task completed with the specified result.</summary>
+            <typeparam name="TResult">Specifies the type of the result for this task.</typeparam>
+            <param name="result">The result with which to complete the task.</param>
+            <returns>The completed task.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.Common.CreateTaskFromException``1(System.Exception)">
+            <summary>Creates a task faulted with the specified exception.</summary>
+            <typeparam name="TResult">Specifies the type of the result for this task.</typeparam>
+            <param name="exception">The exception with which to complete the task.</param>
+            <returns>The faulted task.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.Common.CreateTaskFromCancellation``1(System.Threading.CancellationToken)">
+            <summary>Creates a task canceled with the specified cancellation token.</summary>
+            <typeparam name="TResult">Specifies the type of the result for this task.</typeparam>
+            <returns>The canceled task.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.Common.GetPotentiallyNotSupportedCompletionTask(System.Threading.Tasks.Dataflow.IDataflowBlock)">
+            <summary>Gets the completion task of a block, and protects against common cases of the completion task not being implemented or supported.</summary>
+            <param name="block">The block.</param>
+            <returns>The completion task, or null if the block's completion task is not implemented or supported.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.Common.CreateUnlinker``1(System.Object,System.Threading.Tasks.Dataflow.Internal.TargetRegistry{``0},System.Threading.Tasks.Dataflow.ITargetBlock{``0})">
+            <summary>
+            Creates an IDisposable that, when disposed, will acquire the outgoing lock while removing 
+            the target block from the target registry.
+            </summary>
+            <typeparam name="TOutput">Specifies the type of data in the block.</typeparam>
+            <param name="outgoingLock">The outgoing lock used to protect the target registry.</param>
+            <param name="targetRegistry">The target registry from which the target should be removed.</param>
+            <param name="targetBlock">The target to remove from the registry.</param>
+            <returns>An IDisposable that will unregister the target block from the registry while holding the outgoing lock.</returns>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.Common.InfiniteTimeSpan">
+            <summary>An infinite TimeSpan.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.Common.IsValidTimeout(System.TimeSpan)">
+            <summary>Validates that a timeout either is -1 or is non-negative and within the range of an Int32.</summary>
+            <param name="timeout">The timeout to validate.</param>
+            <returns>true if the timeout is valid; otherwise, false.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.Common.GetCreationOptionsForTask(System.Boolean)">
+            <summary>Gets the options to use for tasks.</summary>
+            <param name="isReplacementReplica">If this task is being created to replace another.</param>
+            <remarks>
+            These options should be used for all tasks that have the potential to run user code or
+            that are repeatedly spawned and thus need a modicum of fair treatment.
+            </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.Common.CreateCopyAndRun(System.Threading.ExecutionContext,System.Threading.ContextCallback,System.Object)">
+            <summary>Runs the provided callback under a copy of the specified, non-null context.</summary>
+            <param name="executionContext">The context to copy and utilize to run the callback.</param>
+            <param name="callback">The callback to execute.</param>
+            <param name="state">The state to pass to the callback.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.Common.InvokeCallbackWithContext(System.Threading.ExecutionContext,System.Threading.ContextCallback,System.Object)">
+            <summary>Executes a callback delegate in the specified execution context.</summary>
+            <param name="executionContext">The context in which to execute.  If null, the delegate will be invoked directly.</param>
+            <param name="callback">The delegate to execute.</param>
+            <param name="state">The data to pass to the callback delegate.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.Common.InvokeCloningFunctionWithContext``1(System.Threading.ExecutionContext,System.Func{``0,``0},``0)">
+            <summary>Executes a cloning function in the specified execution context.</summary>
+            <param name="executionContext">The context in which to execute.  If null, the delegate will be invoked directly.</param>
+            <param name="cloningFunction">The delegate to execute to clone the item.</param>
+            <param name="item">The item to be cloned.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.Common.StartTaskSafe(System.Threading.Tasks.Task@,System.Threading.Tasks.TaskScheduler)">
+            <summary>Starts an already constructed task with handling and observing exceptions that may come from the scheduling process.</summary>
+            <param name="task">Task to be started.</param>
+            <param name="scheduler">TaskScheduler to schedule the task on.</param>
+            <returns>null on success, an exception reference on scheduling error. In the latter case, the task reference is nulled out.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.Common.StartTaskSafeCore(System.Threading.Tasks.Task@,System.Threading.Tasks.TaskScheduler)">
+            <summary>Starts an already constructed task with handling and observing exceptions that may come from the scheduling process.</summary>
+            <param name="task">Task to be started.</param>
+            <param name="scheduler">TaskScheduler to schedule the task on.</param>
+            <returns>null on success, an exception reference on scheduling error. In the latter case, the task reference is nulled out.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.Common.ReleaseAllPostponedMessages``1(System.Threading.Tasks.Dataflow.ITargetBlock{``0},System.Threading.Tasks.Dataflow.Internal.StackedMap{System.Threading.Tasks.Dataflow.ISourceBlock{``0},System.Threading.Tasks.Dataflow.DataflowMessageHeader},System.Collections.Generic.List{System.Exception}@)">
+            <summary>Pops and explicitly releases postponed messages after the block is done with processing.</summary>
+            <remarks>No locks should be held at this time. Unfortunately we cannot assert that.</remarks>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.Internal.Common.CloningFunctionContextState`1">
+            <summary>
+            Provides a wrapper for use with CloneContextAndRun, alleviating the need for both
+            a closure and a delegate to that closure to be allocated.
+            </summary>
+            <typeparam name="T">Specifies the type of the input and output data.</typeparam>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.Common.CloningFunctionContextState`1.Input">
+            <summary>The input to be cloned.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.Common.CloningFunctionContextState`1.CloningFunction">
+            <summary>The cloning function.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.Common.CloningFunctionContextState`1.Output">
+            <summary>The result of the cloning operation.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.Common.CloningFunctionContextState`1.#ctor(`0,System.Func{`0,`0})">
+            <summary>Initializes the cloning state.</summary>
+            <param name="input">The input to be cloned.</param>
+            <param name="cloningFunction">The cloning function.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.Common.CloningFunctionContextState`1.Run">
+            <summary>Runs the cloning function over the input and stores the result into the output.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.Internal.Common.CachedGenericDelegates`1">
+            <summary>Static class used to cache generic delegates the C# compiler doesn't cache by default.</summary>
+            <remarks>Without this, we end up allocating the generic delegate each time the operation is used.</remarks>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.Common.CachedGenericDelegates`1.DefaultTResultFunc">
+            <summary>A function that returns the default value of T.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.Common.CachedGenericDelegates`1.RunCloningFunctionContextState">
+            <summary>A function that calls Run on the CloningFunctionContextState provided as the state parameter.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.Common.CachedGenericDelegates`1.CreateUnlinkerShimAction">
+            <summary>
+            A function to use as the body of ActionOnDispose in CreateUnlinkerShim.
+            Passed a tuple of the sync obj, the target registry, and the target block as the state parameter.
+            </summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.Internal.BoundingState">
+            <summary>State used only when bounding.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.BoundingState.BoundedCapacity">
+            <summary>The maximum number of messages allowed to be buffered.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.BoundingState.CurrentCount">
+            <summary>The number of messages currently stored.</summary>
+            <remarks>
+            This value may temporarily be higher than the actual number stored.  
+            That's ok, we just can't accept any new messages if CurrentCount >= BoundedCapacity.
+            Worst case is that we may temporarily have fewer items in the block than our maximum allows,
+            but we'll never have more.
+            </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.BoundingState.#ctor(System.Int32)">
+            <summary>Initializes the BoundingState.</summary>
+            <param name="boundedCapacity">The positive bounded capacity.</param>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.BoundingState.CountIsLessThanBound">
+            <summary>Gets whether there's room available to add another message.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.Internal.BoundingStateWithPostponed`1">
+            <summary>Stated used only when bounding and when postponed messages are stored.</summary>
+            <typeparam name="TInput">Specifies the type of input messages.</typeparam>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.BoundingStateWithPostponed`1.#ctor(System.Int32)">
+            <summary>Initializes the BoundingState.</summary>
+            <param name="boundedCapacity">The positive bounded capacity.</param>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.BoundingStateWithPostponed`1.PostponedMessagesCountForDebugger">
+            <summary>Gets the number of postponed messages for the debugger.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.Internal.BoundingStateWithPostponedAndTask`1">
+            <summary>Stated used only when bounding and when postponed messages and a task are stored.</summary>
+            <typeparam name="TInput">Specifies the type of input messages.</typeparam>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.BoundingStateWithPostponedAndTask`1.TaskForInputProcessing">
+            <summary>The task used to process messages.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.BoundingStateWithPostponedAndTask`1.#ctor(System.Int32)">
+            <summary>Initializes the BoundingState.</summary>
+            <param name="boundedCapacity">The positive bounded capacity.</param>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.Internal.VoidResult">
+            <summary>
+            Type used with TaskCompletionSource(Of TResult) as the TResult
+            to ensure that the resulting task can't be upcast to something
+            that in the future could lead to compat problems.
+            </summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.SR">
+            <summary>
+            String resources for .NET 4 builds of System.Threading.Tasks.Dataflow.dll.
+            </summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.SR.GetString(System.String)">
+            <summary>Gets the text string for the specified ID.</summary>
+            <param name="id">The ID for which to retrieve the string resource.</param>
+            <returns>The string resource for the specified ID.</returns>
+            <remarks>This implementation merely returns the provided ID.</remarks>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.Internal.StackedMap`2">
+            <summary>
+            Provides a data structure that supports pushing and popping key/value pairs.
+            Pushing a key/value pair for which the key already exists results in overwriting
+            the existing key entry's value.
+            </summary>
+            <typeparam name="TKey">Specifies the type of keys in the map.</typeparam>
+            <typeparam name="TValue">Specifies the type of values in the map.</typeparam>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.StackedMap`2.m_queue">
+            <summary>The queue of elements.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.StackedMap`2.m_mapKeyToIndex">
+            <summary>A map from key to index into the list.</summary>
+            <remarks>The correctness of this map relies on the list only having elements removed from its end.</remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.StackedMap`2.#ctor">
+            <summary>Initializes the StackedMap.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.StackedMap`2.#ctor(System.Int32)">
+            <summary>Initializes the StackedMap.</summary>
+            <param name="capacity">The initial capacity of the data structure.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.StackedMap`2.Push(`0,`1)">
+            <summary>Pushes a key/value pair into the data structure.</summary>
+            <param name="key">The key for the pair.</param>
+            <param name="value">The value for the pair.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.StackedMap`2.TryPop(System.Collections.Generic.KeyValuePair{`0,`1}@)">
+            <summary>Try to pop the next element from the data structure.</summary>
+            <param name="item">The popped pair.</param>
+            <returns>true if an item could be popped; otherwise, false.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.StackedMap`2.PopRange(System.Collections.Generic.KeyValuePair{`0,`1}[],System.Int32,System.Int32)">
+            <summary>Tries to pop one or more elements from the data structure.</summary>
+            <param name="items">The items array into which the popped elements should be stored.</param>
+            <param name="arrayOffset">The offset into the array at which to start storing popped items.</param>
+            <param name="count">The number of items to be popped.</param>
+            <returns>The number of items popped, which may be less than the requested number if fewer existed in the data structure.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.StackedMap`2.Clear">
+            <summary>Removes all elements from the data structure.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.StackedMap`2.Count">
+            <summary>Gets the number of items in the data structure.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.Internal.StackedMap`2.EfficientQueue`1">
+            <summary>
+            A queue structure that uses an array-based list to store its items 
+            and thus to avoid heap allocations.
+            </summary>
+            <typeparam name="T">The type of the items storedin the queue</typeparam>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.StackedMap`2.EfficientQueue`1.TERMINATOR_INDEX">
+            <summary>Terminator index.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.StackedMap`2.EfficientQueue`1.m_storage">
+            <summary>The stack-like structure where the items will be stored.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.StackedMap`2.EfficientQueue`1.m_headIndex">
+            <summary>Index of the first queue item.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.StackedMap`2.EfficientQueue`1.m_tailIndex">
+            <summary>Index of the last queue item.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.StackedMap`2.EfficientQueue`1.m_freeIndex">
+            <summary>Index of the first free slot.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.StackedMap`2.EfficientQueue`1.#ctor">
+            <summary>Initializes the Queue instance.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.StackedMap`2.EfficientQueue`1.#ctor(System.Int32)">
+            <summary>Initializes the Queue instance.</summary>
+            <param name="capacity">The capacity of the internal storage.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.StackedMap`2.EfficientQueue`1.Enqueue(`2)">
+            <summary>Enqueues an item.</summary>
+            <param name="item">The item to be enqueued.</param>
+            <returns>The index of the slot where item was stored.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.StackedMap`2.EfficientQueue`1.TryDequeue(`2@)">
+            <summary>Tries to dequeue an item.</summary>
+            <param name="item">The item that is dequeued.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.StackedMap`2.EfficientQueue`1.Replace(System.Int32,`2)">
+            <summary>Replaces the item of a given slot.</summary>
+            <param name="index">The index of the slot where the value should be replaced.</param>
+            <param name="item">The item to be places.</param>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.Internal.StackedMap`2.DebugView">
+            <summary>Debugger type proxy for StackedMap.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.StackedMap`2.DebugView.m_map">
+            <summary>The map being visualized.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.StackedMap`2.DebugView.#ctor(System.Threading.Tasks.Dataflow.Internal.StackedMap{`0,`1})">
+            <summary>Initializes the debug view.</summary>
+            <param name="map">The map being debugged.</param>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.StackedMap`2.DebugView.Items">
+            <summary>Gets the contents of the map.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.Internal.DataflowEtwProvider">
+            <summary>Provides an event source for tracing Dataflow information.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.DataflowEtwProvider.DATAFLOWBLOCKCREATED_EVENTID">
+            <summary>The event ID for when we encounter a new dataflow block object that hasn't had its name traced to the trace file.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.DataflowEtwProvider.TASKLAUNCHED_EVENTID">
+            <summary>The event ID for the task launched event.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.DataflowEtwProvider.BLOCKCOMPLETED_EVENTID">
+            <summary>The event ID for the block completed event.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.DataflowEtwProvider.BLOCKLINKED_EVENTID">
+            <summary>The event ID for the block linked event.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.DataflowEtwProvider.BLOCKUNLINKED_EVENTID">
+            <summary>The event ID for the block unlinked event.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.DataflowEtwProvider.Log">
+            <summary>
+            Defines the singleton instance for the dataflow ETW provider.
+            The dataflow provider GUID is {16F53577-E41D-43D4-B47E-C17025BF4025}.
+            </summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.DataflowEtwProvider.#ctor">
+            <summary>Prevent external instantiation.  All logging should go through the Log instance.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.DataflowEtwProvider.DataflowBlockCreated(System.Threading.Tasks.Dataflow.IDataflowBlock)">
+            <summary>Trace an event for when a new block is instantiated.</summary>
+            <param name="block">The dataflow block that was created.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.DataflowEtwProvider.TaskLaunchedForMessageHandling(System.Threading.Tasks.Dataflow.IDataflowBlock,System.Threading.Tasks.Dataflow.Internal.DataflowEtwProvider.TaskLaunchedReason,System.Int32)">
+            <summary>Trace an event for a block launching a task to handle messages.</summary>
+            <param name="block">The owner block launching a task.</param>
+            <param name="reason">The reason the task is being launched.</param>
+            <param name="availableMessages">The number of messages available to be handled by the task.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.DataflowEtwProvider.DataflowBlockCompleted(System.Threading.Tasks.Dataflow.IDataflowBlock)">
+            <summary>Trace an event for a block completing.</summary>
+            <param name="block">The block that's completing.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.DataflowEtwProvider.DataflowBlockLinking``1(System.Threading.Tasks.Dataflow.ISourceBlock{``0},System.Threading.Tasks.Dataflow.ITargetBlock{``0})">
+            <summary>Trace an event for a block linking.</summary>
+            <param name="source">The source block linking to a target.</param>
+            <param name="target">The target block being linked from a source.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.DataflowEtwProvider.DataflowBlockUnlinking``1(System.Threading.Tasks.Dataflow.ISourceBlock{``0},System.Threading.Tasks.Dataflow.ITargetBlock{``0})">
+            <summary>Trace an event for a block unlinking.</summary>
+            <param name="source">The source block unlinking from a target.</param>
+            <param name="target">The target block being unlinked from a source.</param>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.Internal.DataflowEtwProvider.TaskLaunchedReason">
+            <summary>Describes the reason a task is being launched.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.DataflowEtwProvider.TaskLaunchedReason.ProcessingInputMessages">
+            <summary>A task is being launched to process incoming messages.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.DataflowEtwProvider.TaskLaunchedReason.OfferingOutputMessages">
+            <summary>A task is being launched to offer outgoing messages to linked targets.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.Internal.DataflowEtwProvider.BlockCompletionReason">
+            <summary>Describes the reason a block completed.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.DataflowEtwProvider.BlockCompletionReason.RanToCompletion">
+            <summary>The block completed successfully.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.DataflowEtwProvider.BlockCompletionReason.Faulted">
+            <summary>The block completed due to an error.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.DataflowEtwProvider.BlockCompletionReason.Canceled">
+            <summary>The block completed due to cancelation.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader">
+            <summary>Provides a container of data attributes for passing between dataflow blocks.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowMessageHeader.m_id">
+            <summary>The message ID. Needs to be unique within the source.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowMessageHeader.#ctor(System.Int64)">
+            <summary>Initializes the <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> with the specified attributes.</summary>
+            <param name="id">The ID of the message. Must be unique within the originating source block. Need not be globally unique.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowMessageHeader.Equals(System.Threading.Tasks.Dataflow.DataflowMessageHeader)">
+            <summary>Checks two <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances for equality by ID without boxing.</summary>
+            <param name="other">Another <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance.</param>
+            <returns>True if the instances are equal. False otherwise.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowMessageHeader.Equals(System.Object)">
+            <summary>Checks boxed <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances for equality by ID.</summary>
+            <param name="obj">A boxed <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance.</param>
+            <returns>True if the instances are equal. False otherwise.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowMessageHeader.GetHashCode">
+            <summary>Generates a hash code for the <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance.</summary>
+            <returns>Hash code.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowMessageHeader.op_Equality(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.DataflowMessageHeader)">
+            <summary>Checks two <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances for equality by ID.</summary>
+            <param name="left">A <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance.</param>
+            <param name="right">A <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance.</param>
+            <returns>True if the instances are equal. False otherwise.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowMessageHeader.op_Inequality(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.DataflowMessageHeader)">
+            <summary>Checks two <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances for non-equality by ID.</summary>
+            <param name="left">A <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance.</param>
+            <param name="right">A <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance.</param>
+            <returns>True if the instances are not equal. False otherwise.</returns>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.DataflowMessageHeader.IsValid">
+            <summary>Gets the validity of the message.</summary>
+            <returns>True if the ID of the message is different from 0. False if the ID of the message is 0</returns>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.DataflowMessageHeader.Id">
+            <summary>Gets the ID of the message within the source.</summary>
+            <returns>The ID contained in the <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance.</returns>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.DataflowBlockOptions">
+            <summary>
+            Provides options used to configure the processing performed by dataflow blocks.
+            </summary>
+            <remarks>
+            <see cref="T:System.Threading.Tasks.Dataflow.DataflowBlockOptions"/> is mutable and can be configured through its properties.  
+            When specific configuration options are not set, the following defaults are used:
+            <list type="table">
+                <listheader>
+                    <term>Options</term>
+                    <description>Default</description>
+                </listheader>
+                <item>
+                    <term>TaskScheduler</term>
+                    <description><see cref="P:System.Threading.Tasks.TaskScheduler.Default"/></description>
+                </item>
+                <item>
+                    <term>MaxMessagesPerTask</term>
+                    <description>DataflowBlockOptions.Unbounded (-1)</description>
+                </item>
+                <item>
+                    <term>CancellationToken</term>
+                    <description><see cref="P:System.Threading.CancellationToken.None"/></description>
+                </item>
+                <item>
+                    <term>BoundedCapacity</term>
+                    <description>DataflowBlockOptions.Unbounded (-1)</description>
+                </item>
+            </list>
+            Dataflow blocks capture the state of the options at their construction.  Subsequent changes
+            to the provided <see cref="T:System.Threading.Tasks.Dataflow.DataflowBlockOptions"/> instance should not affect the behavior
+            of a dataflow block.
+            </remarks>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlockOptions.Unbounded">
+            <summary>
+            A constant used to specify an unlimited quanity for <see cref="T:System.Threading.Tasks.Dataflow.DataflowBlockOptions"/> members 
+            that provide an upper bound. This field is constant.
+            </summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlockOptions.m_taskScheduler">
+            <summary>The scheduler to use for scheduling tasks to process messages.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlockOptions.m_cancellationToken">
+            <summary>The cancellation token to monitor for cancellation requests.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlockOptions.m_maxMessagesPerTask">
+            <summary>The maximum number of messages that may be processed per task.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlockOptions.m_boundedCapacity">
+            <summary>The maximum number of messages that may be buffered by the block.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowBlockOptions.Default">
+            <summary>A default instance of <see cref="T:System.Threading.Tasks.Dataflow.DataflowBlockOptions"/>.</summary>
+            <remarks>
+            Do not change the values of this instance.  It is shared by all of our blocks when no options are provided by the user.
+            </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlockOptions.DefaultOrClone">
+            <summary>Returns this <see cref="T:System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions"/> instance if it's the default instance or else a cloned instance.</summary>
+            <returns>An instance of the options that may be cached by the block.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.DataflowBlockOptions.#ctor">
+            <summary>Initializes the <see cref="T:System.Threading.Tasks.Dataflow.DataflowBlockOptions"/>.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.DataflowBlockOptions.TaskScheduler">
+            <summary>Gets or sets the <see cref="T:System.Threading.Tasks.TaskScheduler"/> to use for scheduling tasks.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.DataflowBlockOptions.CancellationToken">
+            <summary>Gets or sets the <see cref="T:System.Threading.CancellationToken"/> to monitor for cancellation requests.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.DataflowBlockOptions.MaxMessagesPerTask">
+            <summary>Gets or sets the maximum number of messages that may be processed per task.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.DataflowBlockOptions.ActualMaxMessagesPerTask">
+            <summary>Gets a MaxMessagesPerTask value that may be used for comparison purposes.</summary>
+            <returns>The maximum value, usable for comparison purposes.</returns>
+            <remarks>Unlinke MaxMessagesPerTask, this property will always return a positive value.</remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.DataflowBlockOptions.BoundedCapacity">
+            <summary>Gets or sets the maximum number of messages that may be buffered by the block.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions">
+            <summary>
+            Provides options used to configure the processing performed by dataflow blocks that
+            process each message through the invocation of a user-provided delegate, blocks such
+            as <see cref="T:System.Threading.Tasks.Dataflow.ActionBlock`1"/> and <see cref="T:System.Threading.Tasks.Dataflow.TransformBlock`2"/>.
+            </summary>
+            <remarks>
+            <see cref="T:System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions"/> is mutable and can be configured through its properties.  
+            When specific configuration options are not set, the following defaults are used:
+            <list type="table">
+                <listheader>
+                    <term>Options</term>
+                    <description>Default</description>
+                </listheader>
+                <item>
+                    <term>TaskScheduler</term>
+                    <description><see cref="P:System.Threading.Tasks.TaskScheduler.Default"/></description>
+                </item>
+                <item>
+                    <term>CancellationToken</term>
+                    <description><see cref="P:System.Threading.CancellationToken.None"/></description>
+                </item>
+                <item>
+                    <term>MaxMessagesPerTask</term>
+                    <description>DataflowBlockOptions.Unbounded (-1)</description>
+                </item>
+                <item>
+                    <term>BoundedCapacity</term>
+                    <description>DataflowBlockOptions.Unbounded (-1)</description>
+                </item>
+                <item>
+                    <term>MaxDegreeOfParallelism</term>
+                    <description>1</description>
+                </item>
+            </list>
+            Dataflow block capture the state of the options at their construction.  Subsequent changes
+            to the provided <see cref="T:System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions"/> instance should not affect the behavior
+            of a dataflow block.
+            </remarks>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions.Default">
+            <summary>A default instance of <see cref="T:System.Threading.Tasks.Dataflow.DataflowBlockOptions"/>.</summary>
+            <remarks>
+            Do not change the values of this instance.  It is shared by all of our blocks when no options are provided by the user.
+            </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions.DefaultOrClone">
+            <summary>Returns this <see cref="T:System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions"/> instance if it's the default instance or else a cloned instance.</summary>
+            <returns>An instance of the options that may be cached by the block.</returns>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions.m_maxDegreeOfParallelism">
+            <summary>The maximum number of tasks that may be used concurrently to process messages.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions.#ctor">
+            <summary>Initializes the <see cref="T:System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions"/>.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions.MaxDegreeOfParallelism">
+            <summary>Gets the maximum number of messages that may be processed by the block concurrently.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions.ActualMaxDegreeOfParallelism">
+            <summary>Gets a MaxDegreeOfParallelism value that may be used for comparison purposes.</summary>
+            <returns>The maximum value, usable for comparison purposes.</returns>
+            <remarks>Unlinke MaxDegreeOfParallelism, this property will always return a positive value.</remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions.SupportsParallelExecution">
+            <summary>Gets whether these dataflow block options allow for parallel execution.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions">
+            <summary>
+            Provides options used to configure the processing performed by dataflow blocks that
+            group together multiple messages, blocks such as <see cref="T:System.Threading.Tasks.Dataflow.JoinBlock`2"/> and 
+            <see cref="T:System.Threading.Tasks.Dataflow.BatchBlock`1"/>.
+            </summary>
+            <remarks>
+            <see cref="T:System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions"/> is mutable and can be configured through its properties.  
+            When specific configuration options are not set, the following defaults are used:
+            <list type="table">
+                <listheader>
+                    <term>Options</term>
+                    <description>Default</description>
+                </listheader>
+                <item>
+                    <term>TaskScheduler</term>
+                    <description><see cref="P:System.Threading.Tasks.TaskScheduler.Default"/></description>
+                </item>
+                <item>
+                    <term>CancellationToken</term>
+                    <description><see cref="P:System.Threading.CancellationToken.None"/></description>
+                </item>
+                <item>
+                    <term>MaxMessagesPerTask</term>
+                    <description>DataflowBlockOptions.Unbounded (-1)</description>
+                </item>
+                <item>
+                    <term>BoundedCapacity</term>
+                    <description>DataflowBlockOptions.Unbounded (-1)</description>
+                </item>
+                <item>
+                    <term>MaxNumberOfGroups</term>
+                    <description>GroupingDataflowBlockOptions.Unbounded (-1)</description>
+                </item>
+                <item>
+                    <term>Greedy</term>
+                    <description>true</description>
+                </item>
+            </list>
+            Dataflow block capture the state of the options at their construction.  Subsequent changes
+            to the provided <see cref="T:System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions"/> instance should not affect the behavior
+            of a dataflow block.
+            </remarks>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions.Default">
+            <summary>A default instance of <see cref="T:System.Threading.Tasks.Dataflow.DataflowBlockOptions"/>.</summary>
+            <remarks>
+            Do not change the values of this instance.  It is shared by all of our blocks when no options are provided by the user.
+            </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions.DefaultOrClone">
+            <summary>Returns this <see cref="T:System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions"/> instance if it's the default instance or else a cloned instance.</summary>
+            <returns>An instance of the options that may be cached by the block.</returns>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions.m_greedy">
+            <summary>Whether the block should greedily consume offered messages.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions.m_maxNumberOfGroups">
+            <summary>The maximum number of groups that should be generated by the block.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions.#ctor">
+            <summary>Initializes the <see cref="T:System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions"/>.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions.Greedy">
+            <summary>Gets or sets the Boolean value to use to determine whether to greedily consume offered messages.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions.MaxNumberOfGroups">
+            <summary>Gets or sets the maximum number of groups that should be generated by the block.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions.ActualMaxNumberOfGroups">
+            <summary>Gets a MaxDegreeOfParallelism value that may be used for comparison purposes.</summary>
+            <returns>The maximum value, usable for comparison purposes.</returns>
+            <remarks>Unlinke MaxDegreeOfParallelism, this property will always return a positive value.</remarks>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.DataflowMessageStatus">
+            <summary>Represents the status of a <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> when passed between dataflow blocks.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted">
+            <summary>
+            Indicates that the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> accepted the message.  Once a target has accepted a message, 
+            it is wholly owned by the target.
+            </summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Declined">
+            <summary>
+            Indicates that the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> declined the message.  The <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> still owns the message.
+            </summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Postponed">
+            <summary>
+            Indicates that the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> postponed the message for potential consumption at a later time.  
+            The <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> still owns the message.
+            </summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.NotAvailable">
+            <summary>
+            Indicates that the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> tried to accept the message from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>, but the 
+            message was no longer available.
+            </summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.DecliningPermanently">
+            <summary>
+            Indicates that the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> declined the message.  The <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> still owns the message.  
+            Additionally, the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> will decline all future messages sent by the source.
+            </summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.TransformManyBlock`2">
+            <summary>Provides a dataflow block that invokes a provided <see cref="T:System.Func`2"/> delegate for every data element received.</summary>
+            <typeparam name="TInput">Specifies the type of data received and operated on by this <see cref="T:System.Threading.Tasks.Dataflow.TransformManyBlock`2"/>.</typeparam>
+            <typeparam name="TOutput">Specifies the type of data output by this <see cref="T:System.Threading.Tasks.Dataflow.TransformManyBlock`2"/>.</typeparam>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.TransformManyBlock`2.m_target">
+            <summary>The target side.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.TransformManyBlock`2.m_reorderingBuffer">
+            <summary>Buffer used to reorder outputs that may have completed out-of-order between the target half and the source half.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.TransformManyBlock`2.m_source">
+            <summary>The source side.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.TransformManyBlock`2.#ctor(System.Func{`0,System.Collections.Generic.IEnumerable{`1}})">
+            <summary>Initializes the <see cref="T:System.Threading.Tasks.Dataflow.TransformManyBlock`2"/> with the specified function.</summary>
+            <param name="transform">
+            The function to invoke with each data element received.  All of the data from the returned <see cref="T:System.Collections.Generic.IEnumerable`1"/>
+            will be made available as output from this <see cref="T:System.Threading.Tasks.Dataflow.TransformManyBlock`2"/>.
+            </param>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="transform"/> is null (Nothing in Visual Basic).</exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.TransformManyBlock`2.#ctor(System.Func{`0,System.Collections.Generic.IEnumerable{`1}},System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions)">
+            <summary>Initializes the <see cref="T:System.Threading.Tasks.Dataflow.TransformManyBlock`2"/> with the specified function and <see cref="T:System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions"/>.</summary>
+            <param name="transform">
+            The function to invoke with each data element received.  All of the data from the returned in the <see cref="T:System.Collections.Generic.IEnumerable`1"/>
+            will be made available as output from this <see cref="T:System.Threading.Tasks.Dataflow.TransformManyBlock`2"/>.
+            </param>
+            <param name="dataflowBlockOptions">The options with which to configure this <see cref="T:System.Threading.Tasks.Dataflow.TransformManyBlock`2"/>.</param>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="transform"/> is null (Nothing in Visual Basic).</exception>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="dataflowBlockOptions"/> is null (Nothing in Visual Basic).</exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.TransformManyBlock`2.#ctor(System.Func{`0,System.Threading.Tasks.Task{System.Collections.Generic.IEnumerable{`1}}})">
+            <summary>Initializes the <see cref="T:System.Threading.Tasks.Dataflow.TransformManyBlock`2"/> with the specified function.</summary>
+            <param name="transform">
+            The function to invoke with each data element received. All of the data asynchronously returned in the <see cref="T:System.Collections.Generic.IEnumerable`1"/>
+            will be made available as output from this <see cref="T:System.Threading.Tasks.Dataflow.TransformManyBlock`2"/>.
+            </param>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="transform"/> is null (Nothing in Visual Basic).</exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.TransformManyBlock`2.#ctor(System.Func{`0,System.Threading.Tasks.Task{System.Collections.Generic.IEnumerable{`1}}},System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions)">
+            <summary>Initializes the <see cref="T:System.Threading.Tasks.Dataflow.TransformManyBlock`2"/> with the specified function and <see cref="T:System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions"/>.</summary>
+            <param name="transform">
+            The function to invoke with each data element received. All of the data asynchronously returned in the <see cref="T:System.Collections.Generic.IEnumerable`1"/>
+            will be made available as output from this <see cref="T:System.Threading.Tasks.Dataflow.TransformManyBlock`2"/>.
+            </param>
+            <param name="dataflowBlockOptions">The options with which to configure this <see cref="T:System.Threading.Tasks.Dataflow.TransformManyBlock`2"/>.</param>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="transform"/> is null (Nothing in Visual Basic).</exception>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="dataflowBlockOptions"/> is null (Nothing in Visual Basic).</exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.TransformManyBlock`2.#ctor(System.Delegate,System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions)">
+            <summary>Initializes the <see cref="T:System.Threading.Tasks.Dataflow.TransformManyBlock`2"/> with the specified function and <see cref="T:System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions"/>.</summary>
+            <param name="transform">The function to invoke with each data element received.</param>
+            <param name="dataflowBlockOptions">The options with which to configure this <see cref="T:System.Threading.Tasks.Dataflow.TransformManyBlock`2"/>.</param>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="transform"/> is null (Nothing in Visual Basic).</exception>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="dataflowBlockOptions"/> is null (Nothing in Visual Basic).</exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.TransformManyBlock`2.ProcessMessage(System.Func{`0,System.Collections.Generic.IEnumerable{`1}},System.Collections.Generic.KeyValuePair{`0,System.Int64})">
+            <summary>Processes the message with a user-provided transform function that returns an enumerable.</summary>
+            <param name="transformFunction">The transform function to use to process the message.</param>
+            <param name="messageWithId">The message to be processed.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.TransformManyBlock`2.ProcessMessageWithTask(System.Func{`0,System.Threading.Tasks.Task{System.Collections.Generic.IEnumerable{`1}}},System.Collections.Generic.KeyValuePair{`0,System.Int64})">
+            <summary>Processes the message with a user-provided transform function that returns an observable.</summary>
+            <param name="function">The transform function to use to process the message.</param>
+            <param name="messageWithId">The message to be processed.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.TransformManyBlock`2.AsyncCompleteProcessMessageWithTask(System.Threading.Tasks.Task{System.Collections.Generic.IEnumerable{`1}},System.Collections.Generic.KeyValuePair{`0,System.Int64})">
+            <summary>Completes the processing of an asynchronous message.</summary>
+            <param name="completed">The completed task storing the output data generated for an input message.</param>
+            <param name="messageWithId">The originating message</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.TransformManyBlock`2.MaterializeAndCountOutputItems(System.Collections.Generic.IEnumerable{`1}@)">
+            <summary>
+            Ensures that the output items enumerable is a type that can be enumerated
+            without causing exceptions.  If it's not such a type, it's enumerated
+            and turned into one.
+            </summary>
+            <param name="outputItems">The output items.</param>
+            <returns>The number of items in the enumerable.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.TransformManyBlock`2.UpdateBoundingCountWithOutputCount(System.Int32)">
+            <summary>
+            Updates the bounding count based on the number of output items
+            generated for a single input.
+            </summary>
+            <param name="count">The number of output items.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.TransformManyBlock`2.Complete">
+            <summary>
+        Signals to the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> that it should not accept
+        nor produce any more messages nor consume any more postponed messages.
+      </summary><remarks>
+        After Complete has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state) after it's processed all previously
+        available data. Complete will not block waiting for completion to occur, but rather will initiaite
+        the request; to wait for completion to occur, the <see cref="M:Completion"/> task may be used.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.TransformManyBlock`2.System#Threading#Tasks#Dataflow#IDataflowBlock#Fault(System.Exception)">
+            <summary>
+        Causes the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> to complete in a 
+        <see cref="F:System.Threading.Tasks.TaskStatus.Faulted"/> state.
+      </summary><param name="exception">The <see cref="T:System.Exception"/> that caused the faulting.</param><exception cref="T:System.ArgumentNullException">
+        The <paramref name="exception"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        After Fault has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state). Faulting a block causes 
+        buffered messages (uprocessed input messages as well as unoffered output messages) to be lost. 
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.TransformManyBlock`2.LinkTo(System.Threading.Tasks.Dataflow.ITargetBlock{`1},System.Boolean)">
+            <summary>
+        Links the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> to the specified <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>.
+      </summary><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to which to connect this source.
+      </param><param name="unlinkAfterOne">
+        true if the source should unlink from the target after successfully propagating a single message; 
+        otherwise, false to remain connected even after a single message has been propagated.
+      </param><returns>An IDisposable that, upon calling Dispose, will unlink the source from the target.</returns><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.TransformManyBlock`2.TryReceive(System.Predicate{`1},`1@)">
+            <summary>
+        Attempts to synchronously receive an available output item from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="filter">
+        The predicate a value must successfully pass in order for it to be received. 
+        <paramref name="filter"/> may be null (Nothing in Visual Basic), in which case all items will pass.
+      </param><param name="item">The item received from the source.</param><returns>true if an item could be received; otherwise, false.</returns><remarks>
+        This method does not block waiting for the source to provide an item.
+        It will return after checking for an element, whether or not an element was available.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.TransformManyBlock`2.TryReceiveAll(System.Collections.Generic.IList{`1}@)">
+            <summary>
+        Attempts to synchronously receive all available items from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="items">The items received from the source.</param><returns>true if one or more items could be received; otherwise, false.</returns><remarks>
+        This method does not block waiting for the source to provide an item.
+        It will return after checking for elements, whether or not an element was available.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.TransformManyBlock`2.System#Threading#Tasks#Dataflow#ITargetBlock{TInput}#OfferMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,`0,System.Threading.Tasks.Dataflow.ISourceBlock{`0},System.Boolean)">
+            <summary>
+        Offers a message to the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>, giving the target the opportunity to consume or postpone the message.
+      </summary><param name="messageHeader">
+        A <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance that represents the header of the message being offered.
+      </param><param name="messageValue">
+        The value of the message being offered.
+      </param><param name="source">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> offering the message. This may be null (Nothing in Visual Basic).
+      </param><param name="consumeToAccept">
+        true if the target must call ConsumeMessage synchronously during the call to OfferMessage, prior to returning
+        <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted"/>, in order to consume the message.
+        false if the target wanting to accept the message should not call ConsumeMessage, and should isntead simply return DataflowMessageStatus.Accepted.
+      </param><returns>
+        The status of the offered message. If the message was accepted by the target, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted"/> is returned, and the source should
+        no longer use the offered message, as it is now owned by the target. If the message was postponed by the target, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Postponed"/> is returned
+        as a notification that the target may later attempt to consume or reserve the message; in the meantime, the source still owns the message and may offer it to other blocks.
+        If the target would have otherwise postponed but source was null, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Declined"/> is instead returned. 
+        If the target tried to accept the message but missed it due to the source delivering the message to another target or simply discarding it, 
+        <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.NotAvailable"/> is returned.
+        If the target chose not to accept the message, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Declined"/> is returned.  If the target
+        chose not to accept the message and will never accept another message from this source, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.DecliningPermanently"/> is returned.
+      </returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentException">
+        <paramref name="consumeToAccept"/> may only be true if provided with a non-null <paramref name="source"/>.
+      </exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.TransformManyBlock`2.System#Threading#Tasks#Dataflow#ISourceBlock{TOutput}#ConsumeMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`1},System.Boolean@)">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to accept and consume a  
+        <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> previously offered by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being consumed.</param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> consuming the message.
+      </param><param name="messageConsumed">
+        True if the message was successfully consumed. False otherwise.
+      </param><returns>
+        <para>
+          The value of the consumed message. This may correspond to a different <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance than was previously reserved and
+          passed as the <paramref name="messageHeader"/> to <see cref="M:ConsumeMessage"/>. The consuming <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must 
+          use the returned value instead of the value passed as messageValue through <see cref="M:OfferMessage"/>.
+        </para>
+        <para>
+          If the message requested is not available, the return value will be null (Nothing in Visual Basic).
+        </para>
+      </returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> 
+          instance may use <see cref="M:ConsumeMessage"/>, and it must only be used
+          to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          offered by this source to the target.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.TransformManyBlock`2.System#Threading#Tasks#Dataflow#ISourceBlock{TOutput}#ReserveMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`1})">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to reserve a previously offered <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> 
+        by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">
+        The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being reserved.
+      </param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> reserving the message.
+      </param><returns>true if the message was successfully reserved; otherwise, false.</returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> instance 
+          may use <see cref="M:ReserveMessage"/>, and it must only be used
+          to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          offered by this source to the target.
+        </para>
+        <para>
+          If true is returned, the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must subsequently call either <see cref="M:ConsumeMessage"/> or <see cref="M:ReserveMessage"/> for this message.
+          Failure to do so may result in the source being unable to propagate any further messages to this or other targets.
+        </para>
+        <para>
+          <see cref="M:ReserveMessage"/> must not be called while the target is holding any internal locks.  Doing so will violate the lock hierarchy
+          necessary to avoid deadlocks in a dataflow network.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.TransformManyBlock`2.System#Threading#Tasks#Dataflow#ISourceBlock{TOutput}#ReleaseReservation(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`1})">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to release a previously reserved 
+        <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">
+        The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the reserved message being released.
+      </param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> releasing the message it previously reserved.
+      </param><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><exception cref="T:System.InvalidOperationException">
+        The <paramref name="target"/> did not have the message reserved.
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> 
+          instance may use <see cref="M:ReleaseMessage"/>, and it must only be used
+          to release <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          and successfully reserved by the target.
+        </para>
+      </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.TransformManyBlock`2.Completion">
+            <summary>
+        Gets a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous operation and completion of the dataflow block.
+      </summary><remarks>
+        A dataflow block is considered completed when it is not currently processing a message and when it has guaranteed that it will not process
+        any more messages. The returned <see cref="T:System.Threading.Tasks.Task">Task</see> will transition to a completed state when the
+        associated block has completed. It will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state
+        when the block completes its processing successfully according to the dataflow block’s defined semantics, it will transition to
+        the <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state when the dataflow block has completed processing prematurely due to an unhandled exception,
+        and it will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">Canceled</see> state when the dataflow  block has completed processing
+        prematurely due to receiving a cancellation request.  If the task completes in the Faulted state, its Exception property will return
+        an <see cref="T:System.AggregateException"/> containing the one or more exceptions that caused the block to fail.
+      </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.TransformManyBlock`2.InputCount">
+            <summary>
+        Gets the number of input items waiting to be processed by this block.
+      </summary><remarks>
+        The InputCount does not include any items currently being processed by the block or any items that 
+        have already been processed by the block.
+      </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.TransformManyBlock`2.OutputCount">
+            <summary>
+        Gets the number of output items available to be received from this block.
+      </summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.TransformManyBlock`2.InputCountForDebugger">
+            <summary>Gets the number of messages waiting to be processed.  This must only be used from the debugger as it avoids taking necessary locks.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.TransformManyBlock`2.OutputCountForDebugger">
+            <summary>Gets the number of messages waiting to be processed.  This must only be used from the debugger as it avoids taking necessary locks.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.TransformManyBlock`2.DebuggerDisplayContent">
+            <summary>The data to display in the debugger display attribute.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.TransformManyBlock`2.System#Threading#Tasks#Dataflow#Internal#IDebuggerDisplay#Content">
+            <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.TransformManyBlock`2.DebugView">
+            <summary>Provides a debugger type proxy for the TransformManyBlock.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.TransformManyBlock`2.DebugView.m_transformManyBlock">
+            <summary>The transform many block being viewed.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.TransformManyBlock`2.DebugView.m_targetDebuggingInformation">
+            <summary>The target half of the block being viewed.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.TransformManyBlock`2.DebugView.m_sourceDebuggingInformation">
+            <summary>The source half of the block being viewed.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.TransformManyBlock`2.DebugView.#ctor(System.Threading.Tasks.Dataflow.TransformManyBlock{`0,`1})">
+            <summary>Initializes the debug view.</summary>
+            <param name="transformManyBlock">The transform being viewed.</param>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.TransformManyBlock`2.DebugView.InputQueue">
+            <summary>Gets the messages waiting to be processed.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.TransformManyBlock`2.DebugView.PostponedMessages">
+            <summary>Gets any postponed messages.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.TransformManyBlock`2.DebugView.OutputQueue">
+            <summary>Gets the messages waiting to be received.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.TransformManyBlock`2.DebugView.CurrentDegreeOfParallelism">
+            <summary>Gets the number of input operations currently in flight.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.TransformManyBlock`2.DebugView.TaskForOutputProcessing">
+            <summary>Gets the task being used for output processing.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.TransformManyBlock`2.DebugView.DataflowBlockOptions">
+            <summary>Gets the DataflowBlockOptions used to configure this block.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.TransformManyBlock`2.DebugView.IsDecliningPermanently">
+            <summary>Gets whether the block is declining further messages.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.TransformManyBlock`2.DebugView.IsCompleted">
+            <summary>Gets whether the block is completed.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.TransformManyBlock`2.DebugView.Id">
+            <summary>Gets the block's Id.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.TransformManyBlock`2.DebugView.LinkedTargets">
+            <summary>Gets the set of all targets linked from this block.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.TransformManyBlock`2.DebugView.NextMessageReservedFor">
+            <summary>Gets the set of all targets linked from this block.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.JoinBlock`2">
+            <summary>
+            Provides a dataflow block that joins across multiple dataflow sources, not necessarily of the same type, 
+            waiting for one item to arrive for each type before they’re all released together as a tuple of one item per type.
+            </summary>
+            <typeparam name="T1">Specifies the type of data accepted by the block's first target.</typeparam>
+            <typeparam name="T2">Specifies the type of data accepted by the block's second target.</typeparam>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.JoinBlock`2.m_sharedResources">
+            <summary>Resources shared by all targets for this join block.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.JoinBlock`2.m_source">
+            <summary>The source half of this join.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.JoinBlock`2.m_target1">
+            <summary>The first target.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.JoinBlock`2.m_target2">
+            <summary>The second target.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.JoinBlock`2.#ctor">
+            <summary>Initializes the <see cref="T:System.Threading.Tasks.Dataflow.JoinBlock`2"/>.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.JoinBlock`2.#ctor(System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions)">
+            <summary>Initializes the <see cref="T:System.Threading.Tasks.Dataflow.JoinBlock`2"/>.</summary>
+            <param name="dataflowBlockOptions">The options with which to configure this <see cref="T:System.Threading.Tasks.Dataflow.JoinBlock`2"/>.</param>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="dataflowBlockOptions"/> is null (Nothing in Visual Basic).</exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.JoinBlock`2.LinkTo(System.Threading.Tasks.Dataflow.ITargetBlock{System.Tuple{`0,`1}},System.Boolean)">
+            <summary>
+        Links the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> to the specified <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>.
+      </summary><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to which to connect this source.
+      </param><param name="unlinkAfterOne">
+        true if the source should unlink from the target after successfully propagating a single message; 
+        otherwise, false to remain connected even after a single message has been propagated.
+      </param><returns>An IDisposable that, upon calling Dispose, will unlink the source from the target.</returns><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.JoinBlock`2.TryReceive(System.Predicate{System.Tuple{`0,`1}},System.Tuple{`0,`1}@)">
+            <summary>
+        Attempts to synchronously receive an available output item from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="filter">
+        The predicate a value must successfully pass in order for it to be received. 
+        <paramref name="filter"/> may be null (Nothing in Visual Basic), in which case all items will pass.
+      </param><param name="item">The item received from the source.</param><returns>true if an item could be received; otherwise, false.</returns><remarks>
+        This method does not block waiting for the source to provide an item.
+        It will return after checking for an element, whether or not an element was available.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.JoinBlock`2.TryReceiveAll(System.Collections.Generic.IList{System.Tuple{`0,`1}}@)">
+            <summary>
+        Attempts to synchronously receive all available items from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="items">The items received from the source.</param><returns>true if one or more items could be received; otherwise, false.</returns><remarks>
+        This method does not block waiting for the source to provide an item.
+        It will return after checking for elements, whether or not an element was available.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.JoinBlock`2.Complete">
+            <summary>
+        Signals to the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> that it should not accept
+        nor produce any more messages nor consume any more postponed messages.
+      </summary><remarks>
+        After Complete has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state) after it's processed all previously
+        available data. Complete will not block waiting for completion to occur, but rather will initiaite
+        the request; to wait for completion to occur, the <see cref="M:Completion"/> task may be used.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.JoinBlock`2.System#Threading#Tasks#Dataflow#IDataflowBlock#Fault(System.Exception)">
+            <summary>
+        Causes the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> to complete in a 
+        <see cref="F:System.Threading.Tasks.TaskStatus.Faulted"/> state.
+      </summary><param name="exception">The <see cref="T:System.Exception"/> that caused the faulting.</param><exception cref="T:System.ArgumentNullException">
+        The <paramref name="exception"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        After Fault has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state). Faulting a block causes 
+        buffered messages (uprocessed input messages as well as unoffered output messages) to be lost. 
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.JoinBlock`2.System#Threading#Tasks#Dataflow#ISourceBlock{System#Tuple{T1@T2}}#ConsumeMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{System.Tuple{`0,`1}},System.Boolean@)">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to accept and consume a  
+        <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> previously offered by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being consumed.</param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> consuming the message.
+      </param><param name="messageConsumed">
+        True if the message was successfully consumed. False otherwise.
+      </param><returns>
+        <para>
+          The value of the consumed message. This may correspond to a different <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance than was previously reserved and
+          passed as the <paramref name="messageHeader"/> to <see cref="M:ConsumeMessage"/>. The consuming <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must 
+          use the returned value instead of the value passed as messageValue through <see cref="M:OfferMessage"/>.
+        </para>
+        <para>
+          If the message requested is not available, the return value will be null (Nothing in Visual Basic).
+        </para>
+      </returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> 
+          instance may use <see cref="M:ConsumeMessage"/>, and it must only be used
+          to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          offered by this source to the target.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.JoinBlock`2.System#Threading#Tasks#Dataflow#ISourceBlock{System#Tuple{T1@T2}}#ReserveMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{System.Tuple{`0,`1}})">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to reserve a previously offered <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> 
+        by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">
+        The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being reserved.
+      </param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> reserving the message.
+      </param><returns>true if the message was successfully reserved; otherwise, false.</returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> instance 
+          may use <see cref="M:ReserveMessage"/>, and it must only be used
+          to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          offered by this source to the target.
+        </para>
+        <para>
+          If true is returned, the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must subsequently call either <see cref="M:ConsumeMessage"/> or <see cref="M:ReserveMessage"/> for this message.
+          Failure to do so may result in the source being unable to propagate any further messages to this or other targets.
+        </para>
+        <para>
+          <see cref="M:ReserveMessage"/> must not be called while the target is holding any internal locks.  Doing so will violate the lock hierarchy
+          necessary to avoid deadlocks in a dataflow network.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.JoinBlock`2.System#Threading#Tasks#Dataflow#ISourceBlock{System#Tuple{T1@T2}}#ReleaseReservation(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{System.Tuple{`0,`1}})">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to release a previously reserved 
+        <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">
+        The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the reserved message being released.
+      </param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> releasing the message it previously reserved.
+      </param><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><exception cref="T:System.InvalidOperationException">
+        The <paramref name="target"/> did not have the message reserved.
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> 
+          instance may use <see cref="M:ReleaseMessage"/>, and it must only be used
+          to release <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          and successfully reserved by the target.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.JoinBlock`2.CompleteEachTarget">
+            <summary>
+            Invokes Complete on each target with dropping buffered messages
+            </summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`2.OutputCount">
+            <summary>
+        Gets the number of output items available to be received from this block.
+      </summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`2.Completion">
+            <summary>
+        Gets a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous operation and completion of the dataflow block.
+      </summary><remarks>
+        A dataflow block is considered completed when it is not currently processing a message and when it has guaranteed that it will not process
+        any more messages. The returned <see cref="T:System.Threading.Tasks.Task">Task</see> will transition to a completed state when the
+        associated block has completed. It will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state
+        when the block completes its processing successfully according to the dataflow block’s defined semantics, it will transition to
+        the <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state when the dataflow block has completed processing prematurely due to an unhandled exception,
+        and it will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">Canceled</see> state when the dataflow  block has completed processing
+        prematurely due to receiving a cancellation request.  If the task completes in the Faulted state, its Exception property will return
+        an <see cref="T:System.AggregateException"/> containing the one or more exceptions that caused the block to fail.
+      </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`2.Target1">
+            <summary>Gets a target that may be used to offer messages of the first type.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`2.Target2">
+            <summary>Gets a target that may be used to offer messages of the second type.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`2.OutputCountForDebugger">
+            <summary>Gets the number of messages waiting to be processed.  This must only be used from the debugger as it avoids taking necessary locks.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`2.DebuggerDisplayContent">
+            <summary>The data to display in the debugger display attribute.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`2.System#Threading#Tasks#Dataflow#Internal#IDebuggerDisplay#Content">
+            <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.JoinBlock`2.DebugView">
+            <summary>Provides a debugger type proxy for the JoinBlock.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.JoinBlock`2.DebugView.m_joinBlock">
+            <summary>The JoinBlock being viewed.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.JoinBlock`2.DebugView.m_sourceDebuggingInformation">
+            <summary>The source half of the block being viewed.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.JoinBlock`2.DebugView.#ctor(System.Threading.Tasks.Dataflow.JoinBlock{`0,`1})">
+            <summary>Initializes the debug view.</summary>
+            <param name="joinBlock">The JoinBlock being viewed.</param>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`2.DebugView.OutputQueue">
+            <summary>Gets the messages waiting to be received.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`2.DebugView.JoinsCreated">
+            <summary>Gets the number of joins created thus far.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`2.DebugView.TaskForInputProcessing">
+            <summary>Gets the task being used for input processing.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`2.DebugView.TaskForOutputProcessing">
+            <summary>Gets the task being used for output processing.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`2.DebugView.DataflowBlockOptions">
+            <summary>Gets the GroupingDataflowBlockOptions used to configure this block.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`2.DebugView.IsDecliningPermanently">
+            <summary>Gets whether the block is declining further messages.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`2.DebugView.IsCompleted">
+            <summary>Gets whether the block is completed.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`2.DebugView.Id">
+            <summary>Gets the block's Id.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`2.DebugView.Target1">
+            <summary>Gets the first target.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`2.DebugView.Target2">
+            <summary>Gets the second target.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`2.DebugView.LinkedTargets">
+            <summary>Gets the set of all targets linked from this block.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`2.DebugView.NextMessageReservedFor">
+            <summary>Gets the set of all targets linked from this block.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.JoinBlock`3">
+            <summary>
+            Provides a dataflow block that joins across multiple dataflow sources, not necessarily of the same type, 
+            waiting for one item to arrive for each type before they’re all released together as a tuple of one item per type.
+            </summary>
+            <typeparam name="T1">Specifies the type of data accepted by the block's first target.</typeparam>
+            <typeparam name="T2">Specifies the type of data accepted by the block's second target.</typeparam>
+            <typeparam name="T3">Specifies the type of data accepted by the block's third target.</typeparam>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.JoinBlock`3.m_sharedResources">
+            <summary>Resources shared by all targets for this join block.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.JoinBlock`3.m_source">
+            <summary>The source half of this join.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.JoinBlock`3.m_target1">
+            <summary>The first target.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.JoinBlock`3.m_target2">
+            <summary>The second target.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.JoinBlock`3.m_target3">
+            <summary>The third target.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.JoinBlock`3.#ctor">
+            <summary>Initializes the <see cref="T:System.Threading.Tasks.Dataflow.JoinBlock`3"/>.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.JoinBlock`3.#ctor(System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions)">
+            <summary>Initializes the <see cref="T:System.Threading.Tasks.Dataflow.JoinBlock`3"/>.</summary>
+            <param name="dataflowBlockOptions">The options with which to configure this <see cref="T:System.Threading.Tasks.Dataflow.JoinBlock`2"/>.</param>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="dataflowBlockOptions"/> is null (Nothing in Visual Basic).</exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.JoinBlock`3.LinkTo(System.Threading.Tasks.Dataflow.ITargetBlock{System.Tuple{`0,`1,`2}},System.Boolean)">
+            <summary>
+        Links the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> to the specified <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>.
+      </summary><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to which to connect this source.
+      </param><param name="unlinkAfterOne">
+        true if the source should unlink from the target after successfully propagating a single message; 
+        otherwise, false to remain connected even after a single message has been propagated.
+      </param><returns>An IDisposable that, upon calling Dispose, will unlink the source from the target.</returns><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.JoinBlock`3.TryReceive(System.Predicate{System.Tuple{`0,`1,`2}},System.Tuple{`0,`1,`2}@)">
+            <summary>
+        Attempts to synchronously receive an available output item from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="filter">
+        The predicate a value must successfully pass in order for it to be received. 
+        <paramref name="filter"/> may be null (Nothing in Visual Basic), in which case all items will pass.
+      </param><param name="item">The item received from the source.</param><returns>true if an item could be received; otherwise, false.</returns><remarks>
+        This method does not block waiting for the source to provide an item.
+        It will return after checking for an element, whether or not an element was available.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.JoinBlock`3.TryReceiveAll(System.Collections.Generic.IList{System.Tuple{`0,`1,`2}}@)">
+            <summary>
+        Attempts to synchronously receive all available items from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="items">The items received from the source.</param><returns>true if one or more items could be received; otherwise, false.</returns><remarks>
+        This method does not block waiting for the source to provide an item.
+        It will return after checking for elements, whether or not an element was available.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.JoinBlock`3.Complete">
+            <summary>
+        Signals to the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> that it should not accept
+        nor produce any more messages nor consume any more postponed messages.
+      </summary><remarks>
+        After Complete has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state) after it's processed all previously
+        available data. Complete will not block waiting for completion to occur, but rather will initiaite
+        the request; to wait for completion to occur, the <see cref="M:Completion"/> task may be used.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.JoinBlock`3.System#Threading#Tasks#Dataflow#IDataflowBlock#Fault(System.Exception)">
+            <summary>
+        Causes the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> to complete in a 
+        <see cref="F:System.Threading.Tasks.TaskStatus.Faulted"/> state.
+      </summary><param name="exception">The <see cref="T:System.Exception"/> that caused the faulting.</param><exception cref="T:System.ArgumentNullException">
+        The <paramref name="exception"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        After Fault has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state). Faulting a block causes 
+        buffered messages (uprocessed input messages as well as unoffered output messages) to be lost. 
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.JoinBlock`3.System#Threading#Tasks#Dataflow#ISourceBlock{System#Tuple{T1@T2@T3}}#ConsumeMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{System.Tuple{`0,`1,`2}},System.Boolean@)">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to accept and consume a  
+        <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> previously offered by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being consumed.</param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> consuming the message.
+      </param><param name="messageConsumed">
+        True if the message was successfully consumed. False otherwise.
+      </param><returns>
+        <para>
+          The value of the consumed message. This may correspond to a different <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance than was previously reserved and
+          passed as the <paramref name="messageHeader"/> to <see cref="M:ConsumeMessage"/>. The consuming <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must 
+          use the returned value instead of the value passed as messageValue through <see cref="M:OfferMessage"/>.
+        </para>
+        <para>
+          If the message requested is not available, the return value will be null (Nothing in Visual Basic).
+        </para>
+      </returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> 
+          instance may use <see cref="M:ConsumeMessage"/>, and it must only be used
+          to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          offered by this source to the target.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.JoinBlock`3.System#Threading#Tasks#Dataflow#ISourceBlock{System#Tuple{T1@T2@T3}}#ReserveMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{System.Tuple{`0,`1,`2}})">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to reserve a previously offered <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> 
+        by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">
+        The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being reserved.
+      </param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> reserving the message.
+      </param><returns>true if the message was successfully reserved; otherwise, false.</returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> instance 
+          may use <see cref="M:ReserveMessage"/>, and it must only be used
+          to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          offered by this source to the target.
+        </para>
+        <para>
+          If true is returned, the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must subsequently call either <see cref="M:ConsumeMessage"/> or <see cref="M:ReserveMessage"/> for this message.
+          Failure to do so may result in the source being unable to propagate any further messages to this or other targets.
+        </para>
+        <para>
+          <see cref="M:ReserveMessage"/> must not be called while the target is holding any internal locks.  Doing so will violate the lock hierarchy
+          necessary to avoid deadlocks in a dataflow network.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.JoinBlock`3.System#Threading#Tasks#Dataflow#ISourceBlock{System#Tuple{T1@T2@T3}}#ReleaseReservation(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{System.Tuple{`0,`1,`2}})">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to release a previously reserved 
+        <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">
+        The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the reserved message being released.
+      </param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> releasing the message it previously reserved.
+      </param><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><exception cref="T:System.InvalidOperationException">
+        The <paramref name="target"/> did not have the message reserved.
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> 
+          instance may use <see cref="M:ReleaseMessage"/>, and it must only be used
+          to release <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          and successfully reserved by the target.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.JoinBlock`3.CompleteEachTarget">
+            <summary>
+            Invokes Complete on each target with dropping buffered messages.
+            </summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`3.OutputCount">
+            <summary>
+        Gets the number of output items available to be received from this block.
+      </summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`3.Completion">
+            <summary>
+        Gets a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous operation and completion of the dataflow block.
+      </summary><remarks>
+        A dataflow block is considered completed when it is not currently processing a message and when it has guaranteed that it will not process
+        any more messages. The returned <see cref="T:System.Threading.Tasks.Task">Task</see> will transition to a completed state when the
+        associated block has completed. It will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state
+        when the block completes its processing successfully according to the dataflow block’s defined semantics, it will transition to
+        the <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state when the dataflow block has completed processing prematurely due to an unhandled exception,
+        and it will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">Canceled</see> state when the dataflow  block has completed processing
+        prematurely due to receiving a cancellation request.  If the task completes in the Faulted state, its Exception property will return
+        an <see cref="T:System.AggregateException"/> containing the one or more exceptions that caused the block to fail.
+      </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`3.Target1">
+            <summary>Gets a target that may be used to offer messages of the first type.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`3.Target2">
+            <summary>Gets a target that may be used to offer messages of the second type.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`3.Target3">
+            <summary>Gets a target that may be used to offer messages of the third type.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`3.OutputCountForDebugger">
+            <summary>Gets the number of messages waiting to be processed.  This must only be used from the debugger as it avoids taking necessary locks.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`3.DebuggerDisplayContent">
+            <summary>The data to display in the debugger display attribute.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`3.System#Threading#Tasks#Dataflow#Internal#IDebuggerDisplay#Content">
+            <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.JoinBlock`3.DebugView">
+            <summary>Provides a debugger type proxy for the Batch.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.JoinBlock`3.DebugView.m_joinBlock">
+            <summary>The JoinBlock being viewed.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.JoinBlock`3.DebugView.m_sourceDebuggingInformation">
+            <summary>The source half of the block being viewed.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.JoinBlock`3.DebugView.#ctor(System.Threading.Tasks.Dataflow.JoinBlock{`0,`1,`2})">
+            <summary>Initializes the debug view.</summary>
+            <param name="joinBlock">The JoinBlock being viewed.</param>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`3.DebugView.OutputQueue">
+            <summary>Gets the messages waiting to be received.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`3.DebugView.JoinsCreated">
+            <summary>Gets the number of joins created thus far.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`3.DebugView.TaskForInputProcessing">
+            <summary>Gets the task being used for input processing.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`3.DebugView.TaskForOutputProcessing">
+            <summary>Gets the task being used for output processing.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`3.DebugView.DataflowBlockOptions">
+            <summary>Gets the GroupingDataflowBlockOptions used to configure this block.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`3.DebugView.IsDecliningPermanently">
+            <summary>Gets whether the block is declining further messages.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`3.DebugView.IsCompleted">
+            <summary>Gets whether the block is completed.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`3.DebugView.Id">
+            <summary>Gets the block's Id.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`3.DebugView.Target1">
+            <summary>Gets the first target.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`3.DebugView.Target2">
+            <summary>Gets the second target.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`3.DebugView.Target3">
+            <summary>Gets the third target.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`3.DebugView.LinkedTargets">
+            <summary>Gets the set of all targets linked from this block.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.JoinBlock`3.DebugView.NextMessageReservedFor">
+            <summary>Gets the set of all targets linked from this block.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1">
+            <summary>Provides the target used in a Join.</summary>
+            <typeparam name="T">Specifies the type of data accepted by this target.</typeparam>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetBase">
+            <summary>Provides a non-generic base type for all join targets.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetBase.ReserveOneMessage">
+            <summary>Reserves a single message.</summary>
+            <returns>Whether a message could be reserved.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetBase.ConsumeReservedMessage">
+            <summary>Consumes any previously reserved message.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetBase.ConsumeOnePostponedMessage">
+            <summary>Consumes up to one postponed message in greedy bounded mode.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetBase.ReleaseReservedMessage">
+            <summary>Releases any previously reserved message.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetBase.ClearReservation">
+            <summary>Unconditionally clears a reserved message. This is only invoked in case of an exception.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetBase.Complete">
+            <summary>Access point to the corresponding API method.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetBase.CompleteCore(System.Exception,System.Boolean,System.Boolean)">
+            <summary>Internal implementation of the corresponding API method.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetBase.CompleteOncePossible">
+            <summary>Completes the target.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetBase.IsDecliningPermanently">
+            <summary>Whether the target is postponing messages.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetBase.HasAtLeastOneMessageAvailable">
+            <summary>Whether the target has at least one message available.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetBase.HasAtLeastOnePostponedMessage">
+            <summary>Whether the target has at least one message postponed.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetBase.NumberOfMessagesAvailableOrPostponed">
+            <summary>Gets the number of messages available or postponed.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetBase.HasTheHighestNumberOfMessagesAvailable">
+            <summary>Gets whether the target has the highest number of messages available. (A tie yields true.)</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1.m_sharedResources">
+            <summary>The shared resources used by all targets associated with the same join instance.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1.m_completionTask">
+            <summary>A task representing the completion of the block.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1.m_messages">
+            <summary>Input messages for the next batch.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1.m_nonGreedy">
+            <summary>State used when in non-greedy mode.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1.m_decliningPermanently">
+            <summary>Whether this target is declining future messages.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1.#ctor(System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources)">
+            <summary>Initializes the target.</summary>
+            <param name="sharedResources">The shared resources used by all targets associated with this join.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1.GetOneMessage">
+            <summary>Gets a message buffered by this target.</summary>
+            <remarks>This must be called while holding the shared resource's incoming lock.</remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1.ReserveOneMessage">
+            <summary>Reserves one of the postponed messages.</summary>
+            <returns>true if a message could be reserved; otherwise, false.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1.ConsumeReservedMessage">
+            <summary>Consumes a reserved message.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1.ConsumeOnePostponedMessage">
+            <summary>Consumes up to one postponed message in greedy bounded mode.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1.CompleteIfLastJoinIsFeasible">
+            <summary>
+            Start declining if the number of joins we've already made plus the number we can 
+            make from data already enqueued meets our quota.
+            </summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1.ReleaseReservedMessage">
+            <summary>Releases the reservation on a reserved message.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1.ClearReservation">
+            <summary>Unconditionally clears a reserved message.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1.CompleteOncePossible">
+            <summary>Completes the target.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1.System#Threading#Tasks#Dataflow#ITargetBlock{T}#OfferMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,`0,System.Threading.Tasks.Dataflow.ISourceBlock{`0},System.Boolean)">
+            <summary>
+        Offers a message to the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>, giving the target the opportunity to consume or postpone the message.
+      </summary><param name="messageHeader">
+        A <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance that represents the header of the message being offered.
+      </param><param name="messageValue">
+        The value of the message being offered.
+      </param><param name="source">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> offering the message. This may be null (Nothing in Visual Basic).
+      </param><param name="consumeToAccept">
+        true if the target must call ConsumeMessage synchronously during the call to OfferMessage, prior to returning
+        <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted"/>, in order to consume the message.
+        false if the target wanting to accept the message should not call ConsumeMessage, and should isntead simply return DataflowMessageStatus.Accepted.
+      </param><returns>
+        The status of the offered message. If the message was accepted by the target, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted"/> is returned, and the source should
+        no longer use the offered message, as it is now owned by the target. If the message was postponed by the target, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Postponed"/> is returned
+        as a notification that the target may later attempt to consume or reserve the message; in the meantime, the source still owns the message and may offer it to other blocks.
+        If the target would have otherwise postponed but source was null, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Declined"/> is instead returned. 
+        If the target tried to accept the message but missed it due to the source delivering the message to another target or simply discarding it, 
+        <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.NotAvailable"/> is returned.
+        If the target chose not to accept the message, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Declined"/> is returned.  If the target
+        chose not to accept the message and will never accept another message from this source, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.DecliningPermanently"/> is returned.
+      </returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentException">
+        <paramref name="consumeToAccept"/> may only be true if provided with a non-null <paramref name="source"/>.
+      </exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1.CompleteCore(System.Exception,System.Boolean,System.Boolean)">
+            <summary>Completes/faults the block.
+            In general, it is not safe to pass releaseReservedMessages:true, because releasing of reserved messages
+            is done without taking a lock. We pass releaseReservedMessages:true only when an exception has been 
+            caught inside the message processing loop which is a single instance at any given moment.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1.System#Threading#Tasks#Dataflow#IDataflowBlock#Fault(System.Exception)">
+            <summary>
+        Causes the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> to complete in a 
+        <see cref="F:System.Threading.Tasks.TaskStatus.Faulted"/> state.
+      </summary><param name="exception">The <see cref="T:System.Exception"/> that caused the faulting.</param><exception cref="T:System.ArgumentNullException">
+        The <paramref name="exception"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        After Fault has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state). Faulting a block causes 
+        buffered messages (uprocessed input messages as well as unoffered output messages) to be lost. 
+      </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1.IsDecliningPermanently">
+            <summary>Gets whether the target is declining messages.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1.HasAtLeastOneMessageAvailable">
+            <summary>Gets whether the target has at least one message available.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1.HasAtLeastOnePostponedMessage">
+            <summary>Gets whether the target has at least one postponed message.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1.NumberOfMessagesAvailableOrPostponed">
+            <summary>Gets the number of messages available or postponed.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1.HasTheHighestNumberOfMessagesAvailable">
+            <summary>Gets whether this target has the highest number of available/buffered messages. This is only valid in greedy mode.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1.Completion">
+            <summary>
+        Gets a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous operation and completion of the dataflow block.
+      </summary><remarks>
+        A dataflow block is considered completed when it is not currently processing a message and when it has guaranteed that it will not process
+        any more messages. The returned <see cref="T:System.Threading.Tasks.Task">Task</see> will transition to a completed state when the
+        associated block has completed. It will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state
+        when the block completes its processing successfully according to the dataflow block’s defined semantics, it will transition to
+        the <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state when the dataflow block has completed processing prematurely due to an unhandled exception,
+        and it will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">Canceled</see> state when the dataflow  block has completed processing
+        prematurely due to receiving a cancellation request.  If the task completes in the Faulted state, its Exception property will return
+        an <see cref="T:System.AggregateException"/> containing the one or more exceptions that caused the block to fail.
+      </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1.CompletionTaskInternal">
+            <summary>The completion task on Join targets is only hidden from the public. It still exists for internal purposes.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1.InputCountForDebugger">
+            <summary>Gets the number of messages waiting to be processed.  This must only be used from the debugger as it avoids taking necessary locks.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1.DebuggerDisplayContent">
+            <summary>The data to display in the debugger display attribute.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1.System#Threading#Tasks#Dataflow#Internal#IDebuggerDisplay#Content">
+            <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1.NonGreedyState">
+            <summary>State used only when in non-greedy mode.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1.NonGreedyState.PostponedMessages">
+            <summary>Collection of the last postponed message per source.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1.NonGreedyState.ReservedMessage">
+            <summary>The currently reserved message.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1.NonGreedyState.ConsumedMessage">
+            <summary>The currently consumed message.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1.DebugView">
+            <summary>Provides a debugger type proxy for the Transform.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1.DebugView.m_joinBlockTarget">
+            <summary>The join block target being viewed.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1.DebugView.#ctor(System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget{`0})">
+            <summary>Initializes the debug view.</summary>
+            <param name="joinBlockTarget">The join being viewed.</param>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1.DebugView.InputQueue">
+            <summary>Gets the messages waiting to be processed.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1.DebugView.IsDecliningPermanently">
+            <summary>Gets whether the block is declining further messages.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources">
+            <summary>Provides a container for resources shared across all targets used by the same BatchedJoin instance.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources.#ctor(System.Threading.Tasks.Dataflow.IDataflowBlock,System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetBase[],System.Action,System.Action{System.Exception},System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions)">
+            <summary>Initializes the shared resources.</summary>
+            <param name="ownerJoin">
+            The join block that owns these shared resources.
+            </param>
+            <param name="targets">
+            The array of targets associated with the join. Also doubles as the sync object used to synchronize targets.
+            </param>
+            <param name="joinFilledAction">The delegate to invoke when enough messages have been consumed to fulfill the join.</param>
+            <param name="exceptionAction">The delegate to invoke when a target encounters an error.</param>
+            <param name="dataflowBlockOptions">The options for the join.</param>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources.m_targets">
+            <summary>All of the targets associated with the join.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources.m_exceptionAction">
+            <summary>The delegate to invoke when a target encounters an error.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources.m_joinFilledAction">
+            <summary>The delegate to invoke when enough messages have been consumed to fulfill the join.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources.m_dataflowBlockOptions">
+            <summary>The options for the join.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources.m_boundingState">
+            <summary>Bounding state for when the block is executing in bounded mode.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources.m_decliningPermanently">
+            <summary>Whether all targets should decline all further messages.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources.m_taskForInputProcessing">
+            <summary>The task used to process messages.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources.m_hasExceptions">
+            <summary>Whether any exceptions have been generated and stored into the source core.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources.m_joinsCreated">
+            <summary>The number of joins this block has created.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources.m_completionReserved">
+            <summary>A task has reserved the right to run the completion routine.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources.RetrievePostponedItemsNonGreedy">
+            <summary>Retrieves postponed items if we have enough to make a batch.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources.ProcessAsyncIfNecessary(System.Boolean)">
+            <summary>Called when new messages are available to be processed.</summary>
+            <param name="isReplacementReplica">Whether this call is the continuation of a previous message loop.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources.CompleteBlockIfPossible">
+            <summary>Completes the join block if possible.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources.ProcessMessagesLoop">
+            <summary>Task body used to process messages.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources.OnItemsRemoved(System.Int32)">
+            <summary>Notifies the block that one or more items was removed from the queue.</summary>
+            <param name="numItemsRemoved">The number of items removed.</param>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources.IncomingLock">
+            <summary>Gets the lock used to synchronize all incoming messages on all targets.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources.AllTargetsHaveAtLeastOneMessage">
+            <summary>Gets whether all of the targets have at least one message in their queues.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources.TargetsHaveAtLeastOneMessageQueuedOrPostponed">
+            <summary>Gets whether all of the targets have at least one message in their queues or have at least one postponed message.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources.CanceledOrFaulted">
+            <summary>Gets whether the target has had cancellation requested or an exception has occurred.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources.JoinNeedsProcessing">
+            <summary>
+            Gets whether the join is in a state where processing can be done, meaning there's data
+            to be processed and the block is in a state where such processing is allowed.
+            </summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources.DebuggerDisplayContent">
+            <summary>Gets the object to display in the debugger display attribute.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair">
+            <summary>
+            Provides concurrent and exclusive task schedulers that coordinate to execute
+            tasks while ensuring that concurrent tasks may run concurrently and exclusive tasks never do.
+            </summary>
+        </member>
+        <member name="F:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.UNLIMITED_PROCESSING">
+            <summary>A constant value used to signal unlimited processing.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.EXCLUSIVE_PROCESSING_SENTINEL">
+            <summary>Constant used for m_processingCount to indicate that an exclusive task is being processed.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.DEFAULT_MAXITEMSPERTASK">
+            <summary>Default MaxItemsPerTask to use for processing if none is specified.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.m_threadProcessingMapping">
+            <summary>A dictionary mapping thread ID to a processing mode to denote what kinds of tasks are currently being processed on this thread.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.m_concurrentTaskScheduler">
+            <summary>The scheduler used to queue and execute "concurrent" tasks that may run concurrently with other concurrent tasks.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.m_exclusiveTaskScheduler">
+            <summary>The scheduler used to queue and execute "exclusive" tasks that must run exclusively while no other tasks for this pair are running.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.m_underlyingTaskScheduler">
+            <summary>The underlying task scheduler to which all work should be scheduled.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.m_maxConcurrencyLevel">
+            <summary>
+            The maximum number of tasks allowed to run concurrently.  This only applies to concurrent tasks, 
+            since exlusive tasks are inherently limited to 1.
+            </summary>
+        </member>
+        <member name="F:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.m_maxItemsPerTask">
+            <summary>The maximum number of tasks we can process before recyling our runner tasks.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.m_processingCount">
+            <summary>
+            If positive, it represents the number of concurrently running concurrent tasks.
+            If negative, it means an exclusive task has been scheduled.
+            If 0, nothing has been scheduled.
+            </summary>
+        </member>
+        <member name="F:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.m_completionState">
+            <summary>Completion state for a task representing the completion of this pair.</summary>
+            <remarks>Lazily-initialized only if the scheduler pair is shutting down or if the Completion is requested.</remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.#ctor">
+            <summary>
+            Initializes the ConcurrentExclusiveSchedulerPair.
+            </summary>
+        </member>
+        <member name="M:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.#ctor(System.Threading.Tasks.TaskScheduler)">
+            <summary>
+            Initializes the ConcurrentExclusiveSchedulerPair to target the specified scheduler.
+            </summary>
+            <param name="taskScheduler">The target scheduler on which this pair should execute.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.#ctor(System.Threading.Tasks.TaskScheduler,System.Int32)">
+            <summary>
+            Initializes the ConcurrentExclusiveSchedulerPair to target the specified scheduler with a maximum concurrency level.
+            </summary>
+            <param name="taskScheduler">The target scheduler on which this pair should execute.</param>
+            <param name="maxConcurrencyLevel">The maximum number of tasks to run concurrently.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.#ctor(System.Threading.Tasks.TaskScheduler,System.Int32,System.Int32)">
+            <summary>
+            Initializes the ConcurrentExclusiveSchedulerPair to target the specified scheduler with a maximum 
+            concurrency level and a maximum number of scheduled tasks that may be processed as a unit.
+            </summary>
+            <param name="taskScheduler">The target scheduler on which this pair should execute.</param>
+            <param name="maxConcurrencyLevel">The maximum number of tasks to run concurrently.</param>
+            <param name="maxItemsPerTask">The maximum number of tasks to process for each underlying scheduled task used by the pair.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.Complete">
+            <summary>Informs the scheduler pair that it should not accept any more tasks.</summary>
+            <remarks>
+            Calling <see cref="M:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.Complete"/> is optional, and it's only necessary if the <see cref="P:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.Completion"/>
+            will be relied on for notification of all processing being completed.
+            </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.EnsureCompletionStateInitialized">
+            <summary>Gets the lazily-initialized completion state.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.RequestCompletion">
+            <summary>Sets that completion has been requested.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.CleanupStateIfCompletingAndQuiesced">
+            <summary>
+            Cleans up state if and only if there's no processing currently happening
+            and no more to be done later.
+            </summary>
+        </member>
+        <member name="M:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.CompleteTaskAsync">
+            <summary>Completes the completion task asynchronously.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.CompleteTask(System.Object)">
+            <summary>Completes a completion state.</summary>
+            <param name="state">The completion state to complete.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.FaultWithTask(System.Threading.Tasks.Task)">
+            <summary>Initiatites scheduler shutdown due to a worker task faulting..</summary>
+            <param name="faultedTask">The faulted worker task that's initiating the shutdown.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ProcessAsyncIfNecessary(System.Boolean)">
+            <summary>Notifies the pair that new work has arrived to be processed.</summary>
+            <param name="fairly">Whether tasks should be scheduled fairly with regards to other tasks.</param>
+            <remarks>Must only be called while holding the lock.</remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ProcessExclusiveTasks">
+            <summary>
+            Processes exclusive tasks serially until either there are no more to process
+            or we've reached our user-specified maximum limit.
+            </summary>
+        </member>
+        <member name="M:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ProcessConcurrentTasks">
+            <summary>
+            Processes concurrent tasks serially until either there are no more to process,
+            we've reached our user-specified maximum limit, or exclusive tasks have arrived.
+            </summary>
+        </member>
+        <member name="P:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.DefaultMaxConcurrencyLevel">
+            <summary>Default MaxConcurrencyLevel is the processor count if not otherwise specified.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ValueLock">
+            <summary>Gets the sync obj used to protect all state on this instance.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.Completion">
+            <summary>Gets a <see cref="T:System.Threading.Tasks.Task"/> that will complete when the scheduler has completed processing.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.CompletionRequested">
+            <summary>Gets whether completion has been requested.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ReadyToComplete">
+            <summary>Gets whether the pair is ready to complete.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ConcurrentScheduler">
+            <summary>
+            Gets a TaskScheduler that can be used to schedule tasks to this pair
+            that may run concurrently with other tasks on this pair.
+            </summary>
+        </member>
+        <member name="P:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ExclusiveScheduler">
+            <summary>
+            Gets a TaskScheduler that can be used to schedule tasks to this pair
+            that must run exclusively with regards to other tasks on this pair.
+            </summary>
+        </member>
+        <member name="P:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ConcurrentTaskCountForDebugger">
+            <summary>Gets the number of tasks waiting to run concurrently.</summary>
+            <remarks>This does not take the necessary lock, as it's only called from under the debugger.</remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ExclusiveTaskCountForDebugger">
+            <summary>Gets the number of tasks waiting to run exclusively.</summary>
+            <remarks>This does not take the necessary lock, as it's only called from under the debugger.</remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ModeForDebugger">
+            <summary>Gets an enumeration for debugging that represents the current state of the scheduler pair.</summary>
+            <remarks>This is only for debugging.  It does not take the necessary locks to be useful for runtime usage.</remarks>
+        </member>
+        <member name="T:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.CompletionState">
+            <summary>
+            Holder for lazily-initialized state about the completion of a scheduler pair.
+            Completion is only triggered either by rare exceptional conditions or by
+            the user calling Complete, and as such we only lazily initialize this
+            state in one of those conditions or if the user explicitly asks for
+            the Completion.
+            </summary>
+        </member>
+        <member name="F:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.CompletionState.m_completionRequested">
+            <summary>Whether the scheduler has had completion requested.</summary>
+            <remarks>volatile due to unprotected reads in TryExecuteTaskInline.</remarks>
+        </member>
+        <member name="F:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.CompletionState.m_completionQueued">
+            <summary>Whether completion processing has been queued.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.CompletionState.m_exceptions">
+            <summary>Unrecoverable exceptions incurred while processing.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ConcurrentExclusiveTaskScheduler">
+            <summary>
+            A scheduler shim used to queue tasks to the pair and execute those tasks on request of the pair.
+            </summary>
+        </member>
+        <member name="F:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ConcurrentExclusiveTaskScheduler.m_pair">
+            <summary>The parent pair.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ConcurrentExclusiveTaskScheduler.m_maxConcurrencyLevel">
+            <summary>The maximum concurrency level for the scheduler.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ConcurrentExclusiveTaskScheduler.m_processingMode">
+            <summary>The processing mode of this scheduler, exclusive or concurrent.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ConcurrentExclusiveTaskScheduler.m_tasks">
+            <summary>Gets the queue of tasks for this scheduler.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ConcurrentExclusiveTaskScheduler.#ctor(System.Threading.Tasks.ConcurrentExclusiveSchedulerPair,System.Int32,System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ProcessingMode)">
+            <summary>Initializes the scheduler.</summary>
+            <param name="pair">The parent pair.</param>
+            <param name="maxConcurrencyLevel">The maximum degree of concurrency this scheduler may use.</param>
+            <param name="processingMode">The processing mode of this scheduler.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ConcurrentExclusiveTaskScheduler.QueueTask(System.Threading.Tasks.Task)">
+            <summary>Queues a task to the scheduler.</summary>
+            <param name="task">The task to be queued.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ConcurrentExclusiveTaskScheduler.ExecuteTask(System.Threading.Tasks.Task)">
+            <summary>Executes a task on this scheduler.</summary>
+            <param name="task">The task to be executed.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ConcurrentExclusiveTaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)">
+            <summary>Tries to execute the task synchronously on this scheduler.</summary>
+            <param name="task">The task to execute.</param>
+            <param name="taskWasPreviouslyQueued">Whether the task was previously queued to the scheduler.</param>
+            <returns>true if the task could be executed; otherwise, false.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ConcurrentExclusiveTaskScheduler.TryExecuteTaskInlineOnTargetScheduler(System.Threading.Tasks.Task)">
+            <summary>
+            Implements a reasonable approximation for TryExecuteTaskInline on the underlying scheduler, 
+            which we can't call directly on the underlying scheduler.
+            </summary>
+            <param name="task">The task to execute inline if possible.</param>
+            <returns>true if the task was inlined successfully; otherwise, false.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ConcurrentExclusiveTaskScheduler.TryExecuteTaskShim(System.Object)">
+            <summary>Shim used to invoke this.TryExecuteTask(task).</summary>
+            <param name="state">A tuple of the ConcurrentExclusiveTaskScheduler and the task to execute.</param>
+            <returns>true if the task was successfully inlined; otherwise, false.</returns>
+            <remarks>
+            This method is separated out not because of performance reasons but so that
+            the SecuritySafeCritical attribute may be employed.
+            </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ConcurrentExclusiveTaskScheduler.GetScheduledTasks">
+            <summary>Gets for debugging purposes the tasks scheduled to this scheduler.</summary>
+            <returns>An enumerable of the tasks queued.</returns>
+        </member>
+        <member name="P:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ConcurrentExclusiveTaskScheduler.MaximumConcurrencyLevel">
+            <summary>Gets the maximum concurrency level this scheduler is able to support.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ConcurrentExclusiveTaskScheduler.CountForDebugger">
+            <summary>Gets the number of tasks queued to this scheduler.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ConcurrentExclusiveTaskScheduler.DebugView">
+            <summary>Provides a debug view for ConcurrentExclusiveTaskScheduler.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ConcurrentExclusiveTaskScheduler.DebugView.m_taskScheduler">
+            <summary>The scheduler being debugged.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ConcurrentExclusiveTaskScheduler.DebugView.#ctor(System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ConcurrentExclusiveTaskScheduler)">
+            <summary>Initializes the debug view.</summary>
+            <param name="scheduler">The scheduler being debugged.</param>
+        </member>
+        <member name="P:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ConcurrentExclusiveTaskScheduler.DebugView.MaximumConcurrencyLevel">
+            <summary>Gets this pair's maximum allowed concurrency level.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ConcurrentExclusiveTaskScheduler.DebugView.ScheduledTasks">
+            <summary>Gets the tasks scheduled to this scheduler.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ConcurrentExclusiveTaskScheduler.DebugView.SchedulerPair">
+            <summary>Gets the scheduler pair with which this scheduler is associated.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.DebugView">
+            <summary>Provides a debug view for ConcurrentExclusiveSchedulerPair.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.DebugView.m_pair">
+            <summary>The pair being debugged.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.DebugView.#ctor(System.Threading.Tasks.ConcurrentExclusiveSchedulerPair)">
+            <summary>Initializes the debug view.</summary>
+            <param name="pair">The pair being debugged.</param>
+        </member>
+        <member name="P:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.DebugView.Mode">
+            <summary>Gets a representation of the execution state of the pair.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.DebugView.ScheduledExclusive">
+            <summary>Gets the number of tasks waiting to run exclusively.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.DebugView.ScheduledConcurrent">
+            <summary>Gets the number of tasks waiting to run concurrently.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.DebugView.CurrentlyExecutingTaskCount">
+            <summary>Gets the number of tasks currently being executed.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.DebugView.TargetScheduler">
+            <summary>Gets the underlying task scheduler that actually executes the tasks.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ProcessingMode">
+            <summary>Provides an enumeration that represents the current state of the scheduler pair.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ProcessingMode.NotCurrentlyProcessing">
+            <summary>The scheduler pair is currently dormant, with no work scheduled.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ProcessingMode.ProcessingExclusiveTask">
+            <summary>The scheduler pair has queued processing for exclusive tasks.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ProcessingMode.ProcessingConcurrentTasks">
+            <summary>The scheduler pair has queued processing for concurrent tasks.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ProcessingMode.Completing">
+            <summary>Completion has been requested.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.ConcurrentExclusiveSchedulerPair.ProcessingMode.Completed">
+            <summary>The scheduler pair is finished processing.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.BatchBlock`1">
+            <summary>Provides a dataflow block that batches inputs into arrays.</summary>
+            <typeparam name="T">Specifies the type of data put into batches.</typeparam>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BatchBlock`1.m_target">
+            <summary>The target half of this batch.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BatchBlock`1.m_source">
+            <summary>The source half of this batch.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchBlock`1.#ctor(System.Int32)">
+            <summary>Initializes this <see cref="T:System.Threading.Tasks.Dataflow.BatchBlock`1"/> with the specified batch size.</summary>
+            <param name="batchSize">The number of items to group into a batch.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="batchSize"/> must be positive.</exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchBlock`1.#ctor(System.Int32,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions)">
+            <summary>Initializes this <see cref="T:System.Threading.Tasks.Dataflow.BatchBlock`1"/> with the  specified batch size, declining option, and block options.</summary>
+            <param name="batchSize">The number of items to group into a batch.</param>
+            <param name="dataflowBlockOptions">The options with which to configure this <see cref="T:System.Threading.Tasks.Dataflow.BatchBlock`1"/>.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="batchSize"/> must be positive.</exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="batchSize"/> must be smaller than the value of the BoundedCapacity option if a non-default value has been set.</exception>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="dataflowBlockOptions"/> is null (Nothing in Visual Basic).</exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchBlock`1.Complete">
+            <summary>
+        Signals to the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> that it should not accept
+        nor produce any more messages nor consume any more postponed messages.
+      </summary><remarks>
+        After Complete has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state) after it's processed all previously
+        available data. Complete will not block waiting for completion to occur, but rather will initiaite
+        the request; to wait for completion to occur, the <see cref="M:Completion"/> task may be used.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchBlock`1.System#Threading#Tasks#Dataflow#IDataflowBlock#Fault(System.Exception)">
+            <summary>
+        Causes the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> to complete in a 
+        <see cref="F:System.Threading.Tasks.TaskStatus.Faulted"/> state.
+      </summary><param name="exception">The <see cref="T:System.Exception"/> that caused the faulting.</param><exception cref="T:System.ArgumentNullException">
+        The <paramref name="exception"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        After Fault has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state). Faulting a block causes 
+        buffered messages (uprocessed input messages as well as unoffered output messages) to be lost. 
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchBlock`1.TriggerBatch">
+            <summary>
+            Triggers the <see cref="T:System.Threading.Tasks.Dataflow.BatchBlock`1"/> to initiate a batching operation even if the number
+            of currently queued or postponed items is less than the <see cref="P:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchSize"/>.
+            </summary>
+            <remarks>
+            In greedy mode, a batch will be generated from queued items even if fewer exist than the batch size.  
+            In non-greedy mode, a batch will be generated asynchronously from postponed items even if
+            fewer than the batch size can be consumed.
+            </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchBlock`1.LinkTo(System.Threading.Tasks.Dataflow.ITargetBlock{`0[]},System.Boolean)">
+            <summary>
+        Links the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> to the specified <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>.
+      </summary><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to which to connect this source.
+      </param><param name="unlinkAfterOne">
+        true if the source should unlink from the target after successfully propagating a single message; 
+        otherwise, false to remain connected even after a single message has been propagated.
+      </param><returns>An IDisposable that, upon calling Dispose, will unlink the source from the target.</returns><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchBlock`1.TryReceive(System.Predicate{`0[]},`0[]@)">
+            <summary>
+        Attempts to synchronously receive an available output item from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="filter">
+        The predicate a value must successfully pass in order for it to be received. 
+        <paramref name="filter"/> may be null (Nothing in Visual Basic), in which case all items will pass.
+      </param><param name="item">The item received from the source.</param><returns>true if an item could be received; otherwise, false.</returns><remarks>
+        This method does not block waiting for the source to provide an item.
+        It will return after checking for an element, whether or not an element was available.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchBlock`1.TryReceiveAll(System.Collections.Generic.IList{`0[]}@)">
+            <summary>
+        Attempts to synchronously receive all available items from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="items">The items received from the source.</param><returns>true if one or more items could be received; otherwise, false.</returns><remarks>
+        This method does not block waiting for the source to provide an item.
+        It will return after checking for elements, whether or not an element was available.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchBlock`1.System#Threading#Tasks#Dataflow#ITargetBlock{T}#OfferMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,`0,System.Threading.Tasks.Dataflow.ISourceBlock{`0},System.Boolean)">
+            <summary>
+        Offers a message to the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>, giving the target the opportunity to consume or postpone the message.
+      </summary><param name="messageHeader">
+        A <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance that represents the header of the message being offered.
+      </param><param name="messageValue">
+        The value of the message being offered.
+      </param><param name="source">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> offering the message. This may be null (Nothing in Visual Basic).
+      </param><param name="consumeToAccept">
+        true if the target must call ConsumeMessage synchronously during the call to OfferMessage, prior to returning
+        <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted"/>, in order to consume the message.
+        false if the target wanting to accept the message should not call ConsumeMessage, and should isntead simply return DataflowMessageStatus.Accepted.
+      </param><returns>
+        The status of the offered message. If the message was accepted by the target, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted"/> is returned, and the source should
+        no longer use the offered message, as it is now owned by the target. If the message was postponed by the target, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Postponed"/> is returned
+        as a notification that the target may later attempt to consume or reserve the message; in the meantime, the source still owns the message and may offer it to other blocks.
+        If the target would have otherwise postponed but source was null, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Declined"/> is instead returned. 
+        If the target tried to accept the message but missed it due to the source delivering the message to another target or simply discarding it, 
+        <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.NotAvailable"/> is returned.
+        If the target chose not to accept the message, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Declined"/> is returned.  If the target
+        chose not to accept the message and will never accept another message from this source, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.DecliningPermanently"/> is returned.
+      </returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentException">
+        <paramref name="consumeToAccept"/> may only be true if provided with a non-null <paramref name="source"/>.
+      </exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchBlock`1.System#Threading#Tasks#Dataflow#ISourceBlock{T[]}#ConsumeMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0[]},System.Boolean@)">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to accept and consume a  
+        <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> previously offered by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being consumed.</param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> consuming the message.
+      </param><param name="messageConsumed">
+        True if the message was successfully consumed. False otherwise.
+      </param><returns>
+        <para>
+          The value of the consumed message. This may correspond to a different <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance than was previously reserved and
+          passed as the <paramref name="messageHeader"/> to <see cref="M:ConsumeMessage"/>. The consuming <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must 
+          use the returned value instead of the value passed as messageValue through <see cref="M:OfferMessage"/>.
+        </para>
+        <para>
+          If the message requested is not available, the return value will be null (Nothing in Visual Basic).
+        </para>
+      </returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> 
+          instance may use <see cref="M:ConsumeMessage"/>, and it must only be used
+          to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          offered by this source to the target.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchBlock`1.System#Threading#Tasks#Dataflow#ISourceBlock{T[]}#ReserveMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0[]})">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to reserve a previously offered <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> 
+        by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">
+        The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being reserved.
+      </param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> reserving the message.
+      </param><returns>true if the message was successfully reserved; otherwise, false.</returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> instance 
+          may use <see cref="M:ReserveMessage"/>, and it must only be used
+          to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          offered by this source to the target.
+        </para>
+        <para>
+          If true is returned, the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must subsequently call either <see cref="M:ConsumeMessage"/> or <see cref="M:ReserveMessage"/> for this message.
+          Failure to do so may result in the source being unable to propagate any further messages to this or other targets.
+        </para>
+        <para>
+          <see cref="M:ReserveMessage"/> must not be called while the target is holding any internal locks.  Doing so will violate the lock hierarchy
+          necessary to avoid deadlocks in a dataflow network.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchBlock`1.System#Threading#Tasks#Dataflow#ISourceBlock{T[]}#ReleaseReservation(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0[]})">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to release a previously reserved 
+        <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">
+        The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the reserved message being released.
+      </param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> releasing the message it previously reserved.
+      </param><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><exception cref="T:System.InvalidOperationException">
+        The <paramref name="target"/> did not have the message reserved.
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> 
+          instance may use <see cref="M:ReleaseMessage"/>, and it must only be used
+          to release <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          and successfully reserved by the target.
+        </para>
+      </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchBlock`1.OutputCount">
+            <summary>
+        Gets the number of output items available to be received from this block.
+      </summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchBlock`1.Completion">
+            <summary>
+        Gets a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous operation and completion of the dataflow block.
+      </summary><remarks>
+        A dataflow block is considered completed when it is not currently processing a message and when it has guaranteed that it will not process
+        any more messages. The returned <see cref="T:System.Threading.Tasks.Task">Task</see> will transition to a completed state when the
+        associated block has completed. It will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state
+        when the block completes its processing successfully according to the dataflow block’s defined semantics, it will transition to
+        the <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state when the dataflow block has completed processing prematurely due to an unhandled exception,
+        and it will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">Canceled</see> state when the dataflow  block has completed processing
+        prematurely due to receiving a cancellation request.  If the task completes in the Faulted state, its Exception property will return
+        an <see cref="T:System.AggregateException"/> containing the one or more exceptions that caused the block to fail.
+      </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchSize">
+            <summary>Gets the size of the batches generated by this <see cref="T:System.Threading.Tasks.Dataflow.BatchBlock`1"/>.</summary>
+            <remarks>
+            If the number of items provided to the block is not evenly divisible by the batch size provided
+            to the block's constructor, the block's final batch may contain fewer than the requested number of items.
+            </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchBlock`1.OutputCountForDebugger">
+            <summary>Gets the number of messages waiting to be offered.  This must only be used from the debugger as it avoids taking necessary locks.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchBlock`1.DebuggerDisplayContent">
+            <summary>The data to display in the debugger display attribute.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchBlock`1.System#Threading#Tasks#Dataflow#Internal#IDebuggerDisplay#Content">
+            <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.BatchBlock`1.DebugView">
+            <summary>Provides a debugger type proxy for the Batch.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BatchBlock`1.DebugView.m_batchBlock">
+            <summary>The batch block being viewed.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BatchBlock`1.DebugView.m_targetDebuggingInformation">
+            <summary>The target half being viewed.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BatchBlock`1.DebugView.m_sourceDebuggingInformation">
+            <summary>The source half of the block being viewed.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchBlock`1.DebugView.#ctor(System.Threading.Tasks.Dataflow.BatchBlock{`0})">
+            <summary>Initializes the debug view.</summary>
+            <param name="batchBlock">The batch being viewed.</param>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchBlock`1.DebugView.InputQueue">
+            <summary>Gets the messages waiting to be processed.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchBlock`1.DebugView.OutputQueue">
+            <summary>Gets the messages waiting to be received.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchBlock`1.DebugView.BatchesCompleted">
+            <summary>Gets the number of batches that have been completed.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchBlock`1.DebugView.TaskForInputProcessing">
+            <summary>Gets the task being used for input processing.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchBlock`1.DebugView.TaskForOutputProcessing">
+            <summary>Gets the task being used for output processing.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchBlock`1.DebugView.DataflowBlockOptions">
+            <summary>Gets the DataflowBlockOptions used to configure this block.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchBlock`1.DebugView.BatchSize">
+            <summary>Gets the size of batches generated by the block.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchBlock`1.DebugView.IsDecliningPermanently">
+            <summary>Gets whether the block is declining further messages.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchBlock`1.DebugView.IsCompleted">
+            <summary>Gets whether the block is completed.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchBlock`1.DebugView.Id">
+            <summary>Gets the block's Id.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchBlock`1.DebugView.PostponedMessages">
+            <summary>Gets the messages postponed by this batch.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchBlock`1.DebugView.LinkedTargets">
+            <summary>Gets the set of all targets linked from this block.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchBlock`1.DebugView.NextMessageReservedFor">
+            <summary>Gets the set of all targets linked from this block.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore">
+            <summary>Provides the core target implementation for a Batch.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.m_messages">
+            <summary>The messages in this target.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.m_completionTask">
+            <summary>A task representing the completion of the block.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.m_owningBatch">
+            <summary>The target that owns this target core.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.m_batchSize">
+            <summary>The batch size.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.m_nonGreedyState">
+            <summary>State used when in non-greedy mode.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.m_boundingState">
+            <summary>Bounding state for when the block is executing in bounded mode.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.m_dataflowBlockOptions">
+            <summary>The options associated with this block.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.m_batchCompletedAction">
+            <summary>The action invoked with a completed batch.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.m_decliningPermanently">
+            <summary>Whether to stop accepting new messages.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.m_batchesCompleted">
+            <summary>Whether we've completed at least one batch.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.m_completionReserved">
+            <summary>Whether someone has reserved the right to call CompleteBlockOncePossible.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.#ctor(System.Threading.Tasks.Dataflow.BatchBlock{`0},System.Int32,System.Action{`0[]},System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions)">
+            <summary>Initializes this target core with the specified configuration.</summary>
+            <param name="owningBatch">The owning batch target.</param>
+            <param name="batchSize">The number of items to group into a batch.</param>
+            <param name="batchCompletedAction">The delegate to invoke when a batch is completed.</param>
+            <param name="dataflowBlockOptions">The options with which to configure this <see cref="T:System.Threading.Tasks.Dataflow.BatchBlock`1"/>.  Assumed to be immutable.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="batchSize"/> must be positive.</exception>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="dataflowBlockOptions"/> is null (Nothing in Visual Basic).</exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.TriggerBatch">
+            <summary>
+            Triggers a batching operation even if the number of currently queued or postponed items is less than the <see cref="P:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.BatchSize"/>.
+            </summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.OfferMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,`0,System.Threading.Tasks.Dataflow.ISourceBlock{`0},System.Boolean)">
+            <summary>
+        Offers a message to the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>, giving the target the opportunity to consume or postpone the message.
+      </summary><param name="messageHeader">
+        A <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance that represents the header of the message being offered.
+      </param><param name="messageValue">
+        The value of the message being offered.
+      </param><param name="source">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> offering the message. This may be null (Nothing in Visual Basic).
+      </param><param name="consumeToAccept">
+        true if the target must call ConsumeMessage synchronously during the call to OfferMessage, prior to returning
+        <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted"/>, in order to consume the message.
+        false if the target wanting to accept the message should not call ConsumeMessage, and should isntead simply return DataflowMessageStatus.Accepted.
+      </param><returns>
+        The status of the offered message. If the message was accepted by the target, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted"/> is returned, and the source should
+        no longer use the offered message, as it is now owned by the target. If the message was postponed by the target, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Postponed"/> is returned
+        as a notification that the target may later attempt to consume or reserve the message; in the meantime, the source still owns the message and may offer it to other blocks.
+        If the target would have otherwise postponed but source was null, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Declined"/> is instead returned. 
+        If the target tried to accept the message but missed it due to the source delivering the message to another target or simply discarding it, 
+        <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.NotAvailable"/> is returned.
+        If the target chose not to accept the message, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Declined"/> is returned.  If the target
+        chose not to accept the message and will never accept another message from this source, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.DecliningPermanently"/> is returned.
+      </returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentException">
+        <paramref name="consumeToAccept"/> may only be true if provided with a non-null <paramref name="source"/>.
+      </exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.Complete(System.Exception,System.Boolean,System.Boolean)">
+            <summary>Completes/faults the block.
+            In general, it is not safe to pass releaseReservedMessages:true, because releasing of reserved messages
+            is done without taking a lock. We pass releaseReservedMessages:true only when an exception has been 
+            caught inside the message processing loop which is a single instance at any given moment.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.CompleteBlockIfPossible">
+            <summary>Completes the block once all completion conditions are met.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.ProcessAsyncIfNecessary(System.Boolean)">
+            <summary>Called when new messages are available to be processed.</summary>
+            <param name="isReplacementReplica">Whether this call is the continuation of a previous message loop.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.ProcessMessagesLoop">
+            <summary>Task body used to process messages.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.MakeBatchIfPossible(System.Boolean)">
+            <summary>Create a batch from the available items.</summary>
+            <param name="evenIfFewerThanBatchSize">
+            Whether to make a batch even if there are fewer than BatchSize items available.
+            </param>
+            <returns>true if a batch was created and published; otherwise, false.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.RetrievePostponedItemsNonGreedy(System.Boolean)">
+            <summary>Retrieves postponed items in non-greedy mode if we have enough to make a batch.</summary>
+            <remarks>Whether we'll accept consuming fewer elements than the defined batch size.</remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.RetrievePostponedItemsGreedyBounded(System.Boolean)">
+            <summary>Retrieves postponed items in greedy bounded mode.</summary>
+            <remarks>Whether we'll accept consuming fewer elements than the defined batch size.</remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.ConsumeReservedMessagesNonGreedy">
+            <summary>
+            Consumes all of the reserved messages stored in the non-greedy state's temporary reserved source list.
+            </summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.ConsumeReservedMessagesGreedyBounded">
+            <summary>
+            Consumes all of the reserved messages stored in the non-greedy state's temporary reserved source list.
+            </summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.ReleaseReservedMessages(System.Boolean)">
+            <summary>
+            Releases all of the reserved messages stored in the non-greedy state's temporary reserved source list.
+            </summary>
+            <param name="throwOnFirstException">
+            Whether to allow an exception from a release to propagate immediately,
+            or to delay propagation until all releases have been attempted.
+            </param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.OnItemsRemoved(System.Int32)">
+            <summary>Notifies the block that one or more items was removed from the queue.</summary>
+            <param name="numItemsRemoved">The number of items removed.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.CountItems(`0[],System.Collections.Generic.IList{`0[]})">
+            <summary>Counts the input items in a single output item or in a list of output items.</summary>
+            <param name="singleOutputItem">A single outptut item. Only considered if multipleOutputItems == null.</param>
+            <param name="multipleOutputItems">A list of outptut items. May be null.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.GetDebuggingInformation">
+            <summary>Gets information about this helper to be used for display in a debugger.</summary>
+            <returns>Debugging information about this target.</returns>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.IncomingLock">
+            <summary>Gets the object used as the incoming lock.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.Completion">
+            <summary>
+        Gets a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous operation and completion of the dataflow block.
+      </summary><remarks>
+        A dataflow block is considered completed when it is not currently processing a message and when it has guaranteed that it will not process
+        any more messages. The returned <see cref="T:System.Threading.Tasks.Task">Task</see> will transition to a completed state when the
+        associated block has completed. It will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state
+        when the block completes its processing successfully according to the dataflow block’s defined semantics, it will transition to
+        the <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state when the dataflow block has completed processing prematurely due to an unhandled exception,
+        and it will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">Canceled</see> state when the dataflow  block has completed processing
+        prematurely due to receiving a cancellation request.  If the task completes in the Faulted state, its Exception property will return
+        an <see cref="T:System.AggregateException"/> containing the one or more exceptions that caused the block to fail.
+      </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.BatchSize">
+            <summary>Gets the size of the batches generated by this <see cref="T:System.Threading.Tasks.Dataflow.BatchBlock`1"/>.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.CanceledOrFaulted">
+            <summary>Gets whether the target has had cancellation requested or an exception has occurred.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.BoundedCapacityAvailable">
+            <summary>Returns the available capacity to bring in postponed items. The exact values above m_batchSize don't matter.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.BatchesNeedProcessing">
+            <summary>
+            Gets whether we should launch further synchronous or asynchronous processing
+            to create batches.
+            </summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.InputCountForDebugger">
+            <summary>Gets the number of messages waiting to be processed.  This must only be used from the debugger as it avoids taking necessary locks.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.DebuggerDisplayContent">
+            <summary>Gets the object to display in the debugger display attribute.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.NonGreedyState">
+            <summary>State used only when in non-greedy mode.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.NonGreedyState.PostponedMessages">
+            <summary>Collection of postponed messages.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.NonGreedyState.PostponedMessagesTemp">
+            <summary>A temporary array used to store data retrieved from PostponedMessages.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.NonGreedyState.ReservedSourcesTemp">
+            <summary>A temporary list used in non-greedy mode when consuming postponed messages to store successfully reserved messages.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.NonGreedyState.AcceptFewerThanBatchSize">
+            <summary>Whether the next batching operation should accept fewer than BatchSize items.</summary>
+            <remarks>This value may be read not under a lock, but it must only be written to protected by the IncomingLock.</remarks>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.NonGreedyState.TaskForInputProcessing">
+            <summary>The task used to process messages.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.NonGreedyState.#ctor(System.Int32)">
+            <summary>Initializes the NonGreedyState.</summary>
+            <param name="batchSize">The batch size used by the BatchBlock.</param>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.DebuggingInformation">
+            <summary>Provides a wrapper for commonly needed debugging information.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.DebuggingInformation.m_target">
+            <summary>The target being viewed.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.DebuggingInformation.#ctor(System.Threading.Tasks.Dataflow.BatchBlock{`0}.BatchBlockTargetCore)">
+            <summary>Initializes the debugging helper.</summary>
+            <param name="target">The target being viewed.</param>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.DebuggingInformation.InputQueue">
+            <summary>Gets the messages waiting to be processed.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.DebuggingInformation.TaskForInputProcessing">
+            <summary>Gets the task being used for input processing.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.DebuggingInformation.PostponedMessages">
+            <summary>Gets the collection of postponed messages.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.DebuggingInformation.IsDecliningPermanently">
+            <summary>Gets whether the block is declining further messages.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.DebuggingInformation.DataflowBlockOptions">
+            <summary>Gets the DataflowBlockOptions used to configure this block.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BatchBlock`1.BatchBlockTargetCore.DebuggingInformation.NumberOfBatchesCompleted">
+            <summary>Gets the number of batches that have been completed.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.WriteOnceBlock`1">
+            <summary>Provides a buffer for receiving and storing at most one element in a network of dataflow blocks.</summary>
+            <typeparam name="T">Specifies the type of the data buffered by this dataflow block.</typeparam>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.m_completionTask">
+            <summary>A TaskCompletionSource that represents the completion of this block.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.m_targetRegistry">
+            <summary>A registry used to store all linked targets and information about them.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.m_executionContext">
+            <summary>The execution context to use when running the cloning function and when propagating.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.m_cloningFunction">
+            <summary>The cloning function.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.m_dataflowBlockOptions">
+            <summary>The options used to configure this block's execution.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.m_decliningPermanently">
+            <summary>Whether all future messages should be declined.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.m_completionReserved">
+            <summary>Whether block completion is disallawed.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.m_header">
+            <summary>The header of the singly-assigned value.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.m_value">
+            <summary>The singly-assigned value.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.#ctor(System.Func{`0,`0})">
+            <summary>Initializes the <see cref="T:System.Threading.Tasks.Dataflow.WriteOnceBlock`1"/>.</summary>
+            <param name="cloningFunction">
+            The function to use to clone the data when offered to other blocks.
+            This may be null to indicate that no cloning need be performed.
+            </param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.#ctor(System.Func{`0,`0},System.Threading.Tasks.Dataflow.DataflowBlockOptions)">
+            <summary>Initializes the <see cref="T:System.Threading.Tasks.Dataflow.WriteOnceBlock`1"/> with the specified <see cref="T:System.Threading.Tasks.Dataflow.DataflowBlockOptions"/>.</summary>
+            <param name="cloningFunction">
+            The function to use to clone the data when offered to other blocks.
+            This may be null to indicate that no cloning need be performed.
+            </param>
+            <param name="dataflowBlockOptions">The options with which to configure this <see cref="T:System.Threading.Tasks.Dataflow.WriteOnceBlock`1"/>.</param>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="dataflowBlockOptions"/> is null (Nothing in Visual Basic).</exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.CompleteBlockAsync(System.Collections.Generic.IList{System.Exception})">
+            <summary>Asynchronously completes the block on another task.</summary>
+            <remarks>
+            This must only be called once all of the completion conditions are met.
+            </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.OfferToTargetsAndCompleteBlock">
+            <summary>Offers the message and completes the block.</summary>
+            <remarks>
+            This is called only once.
+            </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.CompleteBlock(System.Collections.Generic.IList{System.Exception})">
+            <summary>Completes the block.</summary>
+            <remarks>
+            This is called only once.
+            </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.System#Threading#Tasks#Dataflow#IDataflowBlock#Fault(System.Exception)">
+            <summary>
+        Causes the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> to complete in a 
+        <see cref="F:System.Threading.Tasks.TaskStatus.Faulted"/> state.
+      </summary><param name="exception">The <see cref="T:System.Exception"/> that caused the faulting.</param><exception cref="T:System.ArgumentNullException">
+        The <paramref name="exception"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        After Fault has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state). Faulting a block causes 
+        buffered messages (uprocessed input messages as well as unoffered output messages) to be lost. 
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.Complete">
+            <summary>
+        Signals to the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> that it should not accept
+        nor produce any more messages nor consume any more postponed messages.
+      </summary><remarks>
+        After Complete has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state) after it's processed all previously
+        available data. Complete will not block waiting for completion to occur, but rather will initiaite
+        the request; to wait for completion to occur, the <see cref="M:Completion"/> task may be used.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.TryReceive(System.Predicate{`0},`0@)">
+            <summary>
+        Attempts to synchronously receive an available output item from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="filter">
+        The predicate a value must successfully pass in order for it to be received. 
+        <paramref name="filter"/> may be null (Nothing in Visual Basic), in which case all items will pass.
+      </param><param name="item">The item received from the source.</param><returns>true if an item could be received; otherwise, false.</returns><remarks>
+        This method does not block waiting for the source to provide an item.
+        It will return after checking for an element, whether or not an element was available.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.System#Threading#Tasks#Dataflow#IReceivableSourceBlock{T}#TryReceiveAll(System.Collections.Generic.IList{`0}@)">
+            <summary>
+        Attempts to synchronously receive all available items from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="items">The items received from the source.</param><returns>true if one or more items could be received; otherwise, false.</returns><remarks>
+        This method does not block waiting for the source to provide an item.
+        It will return after checking for elements, whether or not an element was available.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.LinkTo(System.Threading.Tasks.Dataflow.ITargetBlock{`0},System.Boolean)">
+            <summary>
+        Links the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> to the specified <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>.
+      </summary><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to which to connect this source.
+      </param><param name="unlinkAfterOne">
+        true if the source should unlink from the target after successfully propagating a single message; 
+        otherwise, false to remain connected even after a single message has been propagated.
+      </param><returns>An IDisposable that, upon calling Dispose, will unlink the source from the target.</returns><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.System#Threading#Tasks#Dataflow#ITargetBlock{T}#OfferMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,`0,System.Threading.Tasks.Dataflow.ISourceBlock{`0},System.Boolean)">
+            <summary>
+        Offers a message to the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>, giving the target the opportunity to consume or postpone the message.
+      </summary><param name="messageHeader">
+        A <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance that represents the header of the message being offered.
+      </param><param name="messageValue">
+        The value of the message being offered.
+      </param><param name="source">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> offering the message. This may be null (Nothing in Visual Basic).
+      </param><param name="consumeToAccept">
+        true if the target must call ConsumeMessage synchronously during the call to OfferMessage, prior to returning
+        <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted"/>, in order to consume the message.
+        false if the target wanting to accept the message should not call ConsumeMessage, and should isntead simply return DataflowMessageStatus.Accepted.
+      </param><returns>
+        The status of the offered message. If the message was accepted by the target, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted"/> is returned, and the source should
+        no longer use the offered message, as it is now owned by the target. If the message was postponed by the target, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Postponed"/> is returned
+        as a notification that the target may later attempt to consume or reserve the message; in the meantime, the source still owns the message and may offer it to other blocks.
+        If the target would have otherwise postponed but source was null, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Declined"/> is instead returned. 
+        If the target tried to accept the message but missed it due to the source delivering the message to another target or simply discarding it, 
+        <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.NotAvailable"/> is returned.
+        If the target chose not to accept the message, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Declined"/> is returned.  If the target
+        chose not to accept the message and will never accept another message from this source, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.DecliningPermanently"/> is returned.
+      </returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentException">
+        <paramref name="consumeToAccept"/> may only be true if provided with a non-null <paramref name="source"/>.
+      </exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.System#Threading#Tasks#Dataflow#ISourceBlock{T}#ConsumeMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0},System.Boolean@)">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to accept and consume a  
+        <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> previously offered by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being consumed.</param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> consuming the message.
+      </param><param name="messageConsumed">
+        True if the message was successfully consumed. False otherwise.
+      </param><returns>
+        <para>
+          The value of the consumed message. This may correspond to a different <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance than was previously reserved and
+          passed as the <paramref name="messageHeader"/> to <see cref="M:ConsumeMessage"/>. The consuming <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must 
+          use the returned value instead of the value passed as messageValue through <see cref="M:OfferMessage"/>.
+        </para>
+        <para>
+          If the message requested is not available, the return value will be null (Nothing in Visual Basic).
+        </para>
+      </returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> 
+          instance may use <see cref="M:ConsumeMessage"/>, and it must only be used
+          to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          offered by this source to the target.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.System#Threading#Tasks#Dataflow#ISourceBlock{T}#ReserveMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0})">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to reserve a previously offered <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> 
+        by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">
+        The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being reserved.
+      </param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> reserving the message.
+      </param><returns>true if the message was successfully reserved; otherwise, false.</returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> instance 
+          may use <see cref="M:ReserveMessage"/>, and it must only be used
+          to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          offered by this source to the target.
+        </para>
+        <para>
+          If true is returned, the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must subsequently call either <see cref="M:ConsumeMessage"/> or <see cref="M:ReserveMessage"/> for this message.
+          Failure to do so may result in the source being unable to propagate any further messages to this or other targets.
+        </para>
+        <para>
+          <see cref="M:ReserveMessage"/> must not be called while the target is holding any internal locks.  Doing so will violate the lock hierarchy
+          necessary to avoid deadlocks in a dataflow network.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.System#Threading#Tasks#Dataflow#ISourceBlock{T}#ReleaseReservation(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0})">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to release a previously reserved 
+        <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">
+        The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the reserved message being released.
+      </param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> releasing the message it previously reserved.
+      </param><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><exception cref="T:System.InvalidOperationException">
+        The <paramref name="target"/> did not have the message reserved.
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> 
+          instance may use <see cref="M:ReleaseMessage"/>, and it must only be used
+          to release <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          and successfully reserved by the target.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.CloneItem(`0)">
+            <summary>Clones the item.</summary>
+            <param name="item">The item to clone.</param>
+            <returns>The cloned item.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.OfferToTargets">
+            <summary>Offers the WriteOnceBlock's message to all targets.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.ValueLock">
+            <summary>Gets the object used as the value lock.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.Completion">
+            <summary>
+        Gets a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous operation and completion of the dataflow block.
+      </summary><remarks>
+        A dataflow block is considered completed when it is not currently processing a message and when it has guaranteed that it will not process
+        any more messages. The returned <see cref="T:System.Threading.Tasks.Task">Task</see> will transition to a completed state when the
+        associated block has completed. It will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state
+        when the block completes its processing successfully according to the dataflow block’s defined semantics, it will transition to
+        the <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state when the dataflow block has completed processing prematurely due to an unhandled exception,
+        and it will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">Canceled</see> state when the dataflow  block has completed processing
+        prematurely due to receiving a cancellation request.  If the task completes in the Faulted state, its Exception property will return
+        an <see cref="T:System.AggregateException"/> containing the one or more exceptions that caused the block to fail.
+      </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.HasValue">
+            <summary>Gets whether the block is storing a value.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.Value">
+            <summary>Gets the value being stored by the block.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.DebuggerDisplayContent">
+            <summary>The data to display in the debugger display attribute.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.System#Threading#Tasks#Dataflow#Internal#IDebuggerDisplay#Content">
+            <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.DebugView">
+            <summary>Provides a debugger type proxy for WriteOnceBlock.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.DebugView.m_writeOnceBlock">
+            <summary>The WriteOnceBlock being viewed.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.DebugView.#ctor(System.Threading.Tasks.Dataflow.WriteOnceBlock{`0})">
+            <summary>Initializes the debug view.</summary>
+            <param name="writeOnceBlock">The WriteOnceBlock to view.</param>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.DebugView.IsCompleted">
+            <summary>Gets whether the WriteOnceBlock has completed.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.DebugView.Id">
+            <summary>Gets the block's Id.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.DebugView.HasValue">
+            <summary>Gets whether the WriteOnceBlock has a value.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.DebugView.Value">
+            <summary>Gets the WriteOnceBlock's value if it has one, or default(T) if it doesn't.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.DebugView.DataflowBlockOptions">
+            <summary>Gets the DataflowBlockOptions used to configure this block.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.WriteOnceBlock`1.DebugView.LinkedTargets">
+            <summary>Gets the set of all targets linked from this block.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.BroadcastBlock`1">
+            <summary>
+            Provides a buffer for storing at most one element at time, overwriting each message with the next as it arrives.  
+            Messages are broadcast to all linked targets, all of which may consume a clone of the message.
+            </summary>
+            <typeparam name="T">Specifies the type of the data buffered by this dataflow block.</typeparam>
+            <remarks>
+            <see cref="T:System.Threading.Tasks.Dataflow.BroadcastBlock`1"/> exposes at most one element at a time.  However, unlike
+            <see cref="T:System.Threading.Tasks.Dataflow.WriteOnceBlock`1"/>, that element will be overwritten as new elements are provided
+            to the block.  <see cref="T:System.Threading.Tasks.Dataflow.BroadcastBlock`1"/> ensures that the current element is broadcast to any
+            linked targets before allowing the element to be overwritten.
+            </remarks>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BroadcastBlock`1.m_source">
+            <summary>The source side.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BroadcastBlock`1.m_boundingState">
+            <summary>Bounding state for when the block is executing in bounded mode.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BroadcastBlock`1.m_decliningPermanently">
+            <summary>Whether all future messages should be declined.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BroadcastBlock`1.m_completionReserved">
+            <summary>A task has reserved the right to run the completion routine.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.#ctor(System.Func{`0,`0})">
+            <summary>Initializes the <see cref="T:System.Threading.Tasks.Dataflow.BroadcastBlock`1"/> with the specified cloning function.</summary>
+            <param name="cloningFunction">
+            The function to use to clone the data when offered to other blocks.
+            This may be null to indicate that no cloning need be performed.
+            </param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.#ctor(System.Func{`0,`0},System.Threading.Tasks.Dataflow.DataflowBlockOptions)">
+            <summary>Initializes the <see cref="T:System.Threading.Tasks.Dataflow.BroadcastBlock`1"/>  with the specified cloning function and <see cref="T:System.Threading.Tasks.Dataflow.DataflowBlockOptions"/>.</summary>
+            <param name="cloningFunction">
+            The function to use to clone the data when offered to other blocks.
+            This may be null to indicate that no cloning need be performed.
+            </param>
+            <param name="dataflowBlockOptions">The options with which to configure this <see cref="T:System.Threading.Tasks.Dataflow.BroadcastBlock`1"/>.</param>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="dataflowBlockOptions"/> is null (Nothing in Visual Basic).</exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.Complete">
+            <summary>
+        Signals to the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> that it should not accept
+        nor produce any more messages nor consume any more postponed messages.
+      </summary><remarks>
+        After Complete has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state) after it's processed all previously
+        available data. Complete will not block waiting for completion to occur, but rather will initiaite
+        the request; to wait for completion to occur, the <see cref="M:Completion"/> task may be used.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.System#Threading#Tasks#Dataflow#IDataflowBlock#Fault(System.Exception)">
+            <summary>
+        Causes the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> to complete in a 
+        <see cref="F:System.Threading.Tasks.TaskStatus.Faulted"/> state.
+      </summary><param name="exception">The <see cref="T:System.Exception"/> that caused the faulting.</param><exception cref="T:System.ArgumentNullException">
+        The <paramref name="exception"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        After Fault has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state). Faulting a block causes 
+        buffered messages (uprocessed input messages as well as unoffered output messages) to be lost. 
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.LinkTo(System.Threading.Tasks.Dataflow.ITargetBlock{`0},System.Boolean)">
+            <summary>
+        Links the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> to the specified <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>.
+      </summary><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to which to connect this source.
+      </param><param name="unlinkAfterOne">
+        true if the source should unlink from the target after successfully propagating a single message; 
+        otherwise, false to remain connected even after a single message has been propagated.
+      </param><returns>An IDisposable that, upon calling Dispose, will unlink the source from the target.</returns><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.TryReceive(System.Predicate{`0},`0@)">
+            <summary>
+        Attempts to synchronously receive an available output item from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="filter">
+        The predicate a value must successfully pass in order for it to be received. 
+        <paramref name="filter"/> may be null (Nothing in Visual Basic), in which case all items will pass.
+      </param><param name="item">The item received from the source.</param><returns>true if an item could be received; otherwise, false.</returns><remarks>
+        This method does not block waiting for the source to provide an item.
+        It will return after checking for an element, whether or not an element was available.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.System#Threading#Tasks#Dataflow#IReceivableSourceBlock{T}#TryReceiveAll(System.Collections.Generic.IList{`0}@)">
+            <summary>
+        Attempts to synchronously receive all available items from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="items">The items received from the source.</param><returns>true if one or more items could be received; otherwise, false.</returns><remarks>
+        This method does not block waiting for the source to provide an item.
+        It will return after checking for elements, whether or not an element was available.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.System#Threading#Tasks#Dataflow#ITargetBlock{T}#OfferMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,`0,System.Threading.Tasks.Dataflow.ISourceBlock{`0},System.Boolean)">
+            <summary>
+        Offers a message to the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>, giving the target the opportunity to consume or postpone the message.
+      </summary><param name="messageHeader">
+        A <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance that represents the header of the message being offered.
+      </param><param name="messageValue">
+        The value of the message being offered.
+      </param><param name="source">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> offering the message. This may be null (Nothing in Visual Basic).
+      </param><param name="consumeToAccept">
+        true if the target must call ConsumeMessage synchronously during the call to OfferMessage, prior to returning
+        <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted"/>, in order to consume the message.
+        false if the target wanting to accept the message should not call ConsumeMessage, and should isntead simply return DataflowMessageStatus.Accepted.
+      </param><returns>
+        The status of the offered message. If the message was accepted by the target, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted"/> is returned, and the source should
+        no longer use the offered message, as it is now owned by the target. If the message was postponed by the target, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Postponed"/> is returned
+        as a notification that the target may later attempt to consume or reserve the message; in the meantime, the source still owns the message and may offer it to other blocks.
+        If the target would have otherwise postponed but source was null, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Declined"/> is instead returned. 
+        If the target tried to accept the message but missed it due to the source delivering the message to another target or simply discarding it, 
+        <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.NotAvailable"/> is returned.
+        If the target chose not to accept the message, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Declined"/> is returned.  If the target
+        chose not to accept the message and will never accept another message from this source, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.DecliningPermanently"/> is returned.
+      </returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentException">
+        <paramref name="consumeToAccept"/> may only be true if provided with a non-null <paramref name="source"/>.
+      </exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.OnItemsRemoved(System.Int32)">
+            <summary>Notifies the block that one or more items was removed from the queue.</summary>
+            <param name="numItemsRemoved">The number of items removed.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.ConsumeAsyncIfNecessary(System.Boolean)">
+            <summary>Called when postponed messages may need to be consumed.</summary>
+            <param name="isReplacementReplica">Whether this call is the continuation of a previous message loop.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.ConsumeMessagesLoopWithExecutionContext">
+            <summary>Task body used to consume postponed messages under the right execution context.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.ConsumeMessagesLoopCore">
+            <summary>Task body used to consume postponed messages.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.ConsumeAndStoreOneMessageIfAvailable">
+            <summary>
+            Retrieves one postponed message if there's room and if we can consume a postoned message.
+            Stores any consumed message into the source half.
+            </summary>
+            <returns>true if a message could be consumed and stored; otherwise, false.</returns>
+            <remarks>This must only be called from the asynchronous processing loop.</remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.CompleteTargetIfPossible">
+            <summary>Completes the target, notifying the source, once all completion conditions are met.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.System#Threading#Tasks#Dataflow#ISourceBlock{T}#ConsumeMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0},System.Boolean@)">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to accept and consume a  
+        <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> previously offered by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being consumed.</param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> consuming the message.
+      </param><param name="messageConsumed">
+        True if the message was successfully consumed. False otherwise.
+      </param><returns>
+        <para>
+          The value of the consumed message. This may correspond to a different <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance than was previously reserved and
+          passed as the <paramref name="messageHeader"/> to <see cref="M:ConsumeMessage"/>. The consuming <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must 
+          use the returned value instead of the value passed as messageValue through <see cref="M:OfferMessage"/>.
+        </para>
+        <para>
+          If the message requested is not available, the return value will be null (Nothing in Visual Basic).
+        </para>
+      </returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> 
+          instance may use <see cref="M:ConsumeMessage"/>, and it must only be used
+          to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          offered by this source to the target.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.System#Threading#Tasks#Dataflow#ISourceBlock{T}#ReserveMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0})">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to reserve a previously offered <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> 
+        by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">
+        The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being reserved.
+      </param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> reserving the message.
+      </param><returns>true if the message was successfully reserved; otherwise, false.</returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> instance 
+          may use <see cref="M:ReserveMessage"/>, and it must only be used
+          to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          offered by this source to the target.
+        </para>
+        <para>
+          If true is returned, the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must subsequently call either <see cref="M:ConsumeMessage"/> or <see cref="M:ReserveMessage"/> for this message.
+          Failure to do so may result in the source being unable to propagate any further messages to this or other targets.
+        </para>
+        <para>
+          <see cref="M:ReserveMessage"/> must not be called while the target is holding any internal locks.  Doing so will violate the lock hierarchy
+          necessary to avoid deadlocks in a dataflow network.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.System#Threading#Tasks#Dataflow#ISourceBlock{T}#ReleaseReservation(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`0})">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to release a previously reserved 
+        <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">
+        The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the reserved message being released.
+      </param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> releasing the message it previously reserved.
+      </param><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><exception cref="T:System.InvalidOperationException">
+        The <paramref name="target"/> did not have the message reserved.
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> 
+          instance may use <see cref="M:ReleaseMessage"/>, and it must only be used
+          to release <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          and successfully reserved by the target.
+        </para>
+      </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BroadcastBlock`1.IncomingLock">
+            <summary>Gets the lock used to synchronize incoming requests.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BroadcastBlock`1.Completion">
+            <summary>
+        Gets a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous operation and completion of the dataflow block.
+      </summary><remarks>
+        A dataflow block is considered completed when it is not currently processing a message and when it has guaranteed that it will not process
+        any more messages. The returned <see cref="T:System.Threading.Tasks.Task">Task</see> will transition to a completed state when the
+        associated block has completed. It will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state
+        when the block completes its processing successfully according to the dataflow block’s defined semantics, it will transition to
+        the <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state when the dataflow block has completed processing prematurely due to an unhandled exception,
+        and it will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">Canceled</see> state when the dataflow  block has completed processing
+        prematurely due to receiving a cancellation request.  If the task completes in the Faulted state, its Exception property will return
+        an <see cref="T:System.AggregateException"/> containing the one or more exceptions that caused the block to fail.
+      </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BroadcastBlock`1.HasValueForDebugger">
+            <summary>Gets a value to be used for the DebuggerDisplayAttribute.  This must not throw even if HasValue is false.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BroadcastBlock`1.ValueForDebugger">
+            <summary>Gets a value to be used for the DebuggerDisplayAttribute.  This must not throw even if HasValue is false.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BroadcastBlock`1.DebuggerDisplayContent">
+            <summary>The data to display in the debugger display attribute.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BroadcastBlock`1.System#Threading#Tasks#Dataflow#Internal#IDebuggerDisplay#Content">
+            <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.BroadcastBlock`1.DebugView">
+            <summary>Provides a debugger type proxy for the BroadcastBlock.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BroadcastBlock`1.DebugView.m_broadcastBlock">
+            <summary>The BroadcastBlock being debugged.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BroadcastBlock`1.DebugView.m_sourceDebuggingInformation">
+            <summary>Debug info about the source side of the broadcast.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.DebugView.#ctor(System.Threading.Tasks.Dataflow.BroadcastBlock{`0})">
+            <summary>Initializes the debug view.</summary>
+            <param name="broadcastBlock">The BroadcastBlock being debugged.</param>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BroadcastBlock`1.DebugView.InputQueue">
+            <summary>Gets the messages waiting to be processed.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BroadcastBlock`1.DebugView.HasValue">
+            <summary>Gets whether the broadcast has a current value.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BroadcastBlock`1.DebugView.Value">
+            <summary>Gets the broadcast's current value.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BroadcastBlock`1.DebugView.TaskForOutputProcessing">
+            <summary>Gets the task being used for output processing.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BroadcastBlock`1.DebugView.DataflowBlockOptions">
+            <summary>Gets the DataflowBlockOptions used to configure this block.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BroadcastBlock`1.DebugView.IsDecliningPermanently">
+            <summary>Gets whether the block is declining further messages.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BroadcastBlock`1.DebugView.IsCompleted">
+            <summary>Gets whether the block is completed.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BroadcastBlock`1.DebugView.Id">
+            <summary>Gets the block's Id.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BroadcastBlock`1.DebugView.LinkedTargets">
+            <summary>Gets the set of all targets linked from this block.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BroadcastBlock`1.DebugView.NextMessageReservedFor">
+            <summary>Gets the set of all targets linked from this block.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1">
+            <summary>Provides a core implementation for blocks that implement <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.</summary>
+            <typeparam name="TOutput">Specifies the type of data supplied by the <see cref="T:System.Threading.Tasks.Dataflow.Internal.SourceCore`1"/>.</typeparam>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.m_executionContext">
+            <summary>The execution context captured when this block was instantiated.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.m_targetRegistry">
+            <summary>A registry used to store all linked targets and information about them.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.m_messages">
+            <summary>All of the output messages queued up to be received by consumers/targets.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.m_completionTask">
+            <summary>A TaskCompletionSource that represents the completion of this block.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.m_itemsRemovedAction">
+            <summary>
+            An action to be invoked on the owner block when an item is removed.
+            This may be null if the owner block doesn't need to be notified.
+            </summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.m_owningSource">
+            <summary>The source utilize this helper.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.m_dataflowBlockOptions">
+            <summary>The options used to configure this block's execution.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.m_cloningFunction">
+            <summary>The cloning function to use.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.m_currentMessageIsValid">
+            <summary>An indicator whether m_currentMessage has a value.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.m_currentMessage">
+            <summary>The message currently being broadcast.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.m_nextMessageReservedFor">
+            <summary>The target that the next message is reserved for, or null if nothing is reserved.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.m_enableOffering">
+            <summary>Whether this block should again attempt to offer messages to targets.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.m_decliningPermanently">
+            <summary>Whether all future messages should be declined.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.m_taskForOutputProcessing">
+            <summary>The task used to process the output and offer it to targets.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.m_exceptions">
+            <summary>Exceptions that may have occured and gone unhandled during processing.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.m_nextMessageId">
+            <summary>Counter for message IDs unique within this source block.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.m_completionReserved">
+            <summary>Whether someone has reserved the right to call CompleteBlockOncePossible.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.#ctor(System.Threading.Tasks.Dataflow.BroadcastBlock{`1},System.Func{`1,`1},System.Threading.Tasks.Dataflow.DataflowBlockOptions,System.Action{System.Int32})">
+            <summary>Initializes the source core.</summary>
+            <param name="owningSource">The source utilizing this core.</param>
+            <param name="cloningFunction">The function to use to clone the data when offered to other blocks.  May be null.</param>
+            <param name="dataflowBlockOptions">The options to use to configure the block.</param>
+            <param name="itemsRemovedAction">Action to invoke when an item is removed.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.TryReceive(System.Predicate{`1},`1@)">
+            <summary>
+        Attempts to synchronously receive an available output item from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="filter">
+        The predicate a value must successfully pass in order for it to be received. 
+        <paramref name="filter"/> may be null (Nothing in Visual Basic), in which case all items will pass.
+      </param><param name="item">The item received from the source.</param><returns>true if an item could be received; otherwise, false.</returns><remarks>
+        This method does not block waiting for the source to provide an item.
+        It will return after checking for an element, whether or not an element was available.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.TryReceiveAll(System.Collections.Generic.IList{`1}@)">
+            <summary>
+        Attempts to synchronously receive all available items from the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="items">The items received from the source.</param><returns>true if one or more items could be received; otherwise, false.</returns><remarks>
+        This method does not block waiting for the source to provide an item.
+        It will return after checking for elements, whether or not an element was available.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.AddMessage(`1)">
+            <summary>Adds a message to the source block for propagation.</summary>
+            <param name="item">The item to be wrapped in a message to be added.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.Complete">
+            <summary>Informs the block that it will not be receiving additional messages.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.CloneItem(`1)">
+            <summary>Clones the item.</summary>
+            <param name="item">The item to clone.</param>
+            <returns>The cloned item.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.OfferCurrentMessageToNewTarget(System.Threading.Tasks.Dataflow.ITargetBlock{`1})">
+            <summary>Offers the current message to a specific target.</summary>
+            <param name="target">The target to which to offer the current message.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.OfferToTargets">
+            <summary>Offers messages to targets.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.OfferMessageToTarget(System.Threading.Tasks.Dataflow.DataflowMessageHeader,`1,System.Threading.Tasks.Dataflow.ITargetBlock{`1})">
+            <summary>Offers the specified message to the specified target.</summary>
+            <param name="header">The header of the message to offer.</param>
+            <param name="message">The message to offer.</param>
+            <param name="target">The target to which the message should be offered.</param>
+            <remarks>
+            This will remove the target from the target registry if the result of the propagation demands it.
+            </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.OfferAsyncIfNecessary(System.Boolean)">
+            <summary>Called when we want to enable asynchronously offering message to targets.</summary>
+            <param name="isReplacementReplica">Whether this call is the continuation of a previous message loop.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.OfferMessagesLoopWithExecutionContext">
+            <summary>Task body used to process messages with the right execution context.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.OfferMessagesLoopCore">
+            <summary>Task body used to process messages.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.CompleteBlockIfPossible">
+            <summary>Completes the block's processing if there's nothing left to do and never will be.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.CompleteBlockOncePossible">
+            <summary>
+            Completes the block.  This must only be called once, and only once all of the completion conditions are met.
+            As such, it must only be called from CompleteBlockIfPossible.
+            </summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.LinkTo(System.Threading.Tasks.Dataflow.ITargetBlock{`1},System.Boolean)">
+            <summary>
+        Links the <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> to the specified <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>.
+      </summary><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to which to connect this source.
+      </param><param name="unlinkAfterOne">
+        true if the source should unlink from the target after successfully propagating a single message; 
+        otherwise, false to remain connected even after a single message has been propagated.
+      </param><returns>An IDisposable that, upon calling Dispose, will unlink the source from the target.</returns><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.ConsumeMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`1},System.Boolean@)">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to accept and consume a  
+        <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> previously offered by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being consumed.</param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> consuming the message.
+      </param><param name="messageConsumed">
+        True if the message was successfully consumed. False otherwise.
+      </param><returns>
+        <para>
+          The value of the consumed message. This may correspond to a different <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance than was previously reserved and
+          passed as the <paramref name="messageHeader"/> to <see cref="M:ConsumeMessage"/>. The consuming <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must 
+          use the returned value instead of the value passed as messageValue through <see cref="M:OfferMessage"/>.
+        </para>
+        <para>
+          If the message requested is not available, the return value will be null (Nothing in Visual Basic).
+        </para>
+      </returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> 
+          instance may use <see cref="M:ConsumeMessage"/>, and it must only be used
+          to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          offered by this source to the target.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.ReserveMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`1})">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to reserve a previously offered <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> 
+        by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">
+        The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the message being reserved.
+      </param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> reserving the message.
+      </param><returns>true if the message was successfully reserved; otherwise, false.</returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> instance 
+          may use <see cref="M:ReserveMessage"/>, and it must only be used
+          to reserve <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          offered by this source to the target.
+        </para>
+        <para>
+          If true is returned, the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> must subsequently call either <see cref="M:ConsumeMessage"/> or <see cref="M:ReserveMessage"/> for this message.
+          Failure to do so may result in the source being unable to propagate any further messages to this or other targets.
+        </para>
+        <para>
+          <see cref="M:ReserveMessage"/> must not be called while the target is holding any internal locks.  Doing so will violate the lock hierarchy
+          necessary to avoid deadlocks in a dataflow network.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.ReleaseReservation(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock{`1})">
+            <summary>
+        Called by a linked <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> to release a previously reserved 
+        <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> by this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/>.
+      </summary><param name="messageHeader">
+        The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> of the reserved message being released.
+      </param><param name="target">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> releasing the message it previously reserved.
+      </param><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentNullException">
+        The <paramref name="target"/> is null (Nothing in Visual Basic).
+      </exception><exception cref="T:System.InvalidOperationException">
+        The <paramref name="target"/> did not have the message reserved.
+      </exception><remarks>
+        <para>
+          Only <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/> instances linked to this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> 
+          instance may use <see cref="M:ReleaseMessage"/>, and it must only be used
+          to release <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instances previously 
+          and successfully reserved by the target.
+        </para>
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.AddException(System.Exception)">
+            <summary>Adds an individual exceptionto this source.</summary>
+            <param name="exception">The exception to add</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.AddExceptions(System.Collections.Generic.List{System.Exception})">
+            <summary>Adds exceptions to this source.</summary>
+            <param name="exceptions">The exceptions to add</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.GetDebuggingInformation">
+            <summary>Gets information about this helper to be used for display in a debugger.</summary>
+            <returns>Debugging information about this source core.</returns>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.OutgoingLock">
+            <summary>Gets the object to use as the outgoing lock.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.ValueLock">
+            <summary>Gets the object to use as the value lock.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.CanceledOrFaulted">
+            <summary>Gets whether the source has had cancellation requested or an exception has occurred.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.Completion">
+            <summary>
+        Gets a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous operation and completion of the dataflow block.
+      </summary><remarks>
+        A dataflow block is considered completed when it is not currently processing a message and when it has guaranteed that it will not process
+        any more messages. The returned <see cref="T:System.Threading.Tasks.Task">Task</see> will transition to a completed state when the
+        associated block has completed. It will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state
+        when the block completes its processing successfully according to the dataflow block’s defined semantics, it will transition to
+        the <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state when the dataflow block has completed processing prematurely due to an unhandled exception,
+        and it will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">Canceled</see> state when the dataflow  block has completed processing
+        prematurely due to receiving a cancellation request.  If the task completes in the Faulted state, its Exception property will return
+        an <see cref="T:System.AggregateException"/> containing the one or more exceptions that caused the block to fail.
+      </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.DataflowBlockOptions">
+            <summary>Gets the DataflowBlockOptions used to configure this block.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.CapturedContext">
+            <summary>Gets the execution context captured for this source core.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.DebuggerDisplayContent">
+            <summary>Gets the object to display in the debugger display attribute.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.DebuggingInformation">
+            <summary>Provides debugging information about the source core.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.DebuggingInformation.m_source">
+            <summary>The source being viewed.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.DebuggingInformation.#ctor(System.Threading.Tasks.Dataflow.BroadcastBlock{`0}.BroadcastingSourceCore{`1})">
+            <summary>Initializes the type proxy.</summary>
+            <param name="source">The source being viewed.</param>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.DebuggingInformation.HasValue">
+            <summary>Gets whether the source contains a current message.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.DebuggingInformation.Value">
+            <summary>Gets the value of the source's current message.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.DebuggingInformation.InputCount">
+            <summary>Gets the number of messages waiting to be made current.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.DebuggingInformation.InputQueue">
+            <summary>Gets the messages available for receiving.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.DebuggingInformation.TaskForOutputProcessing">
+            <summary>Gets the task being used for output processing.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.DebuggingInformation.DataflowBlockOptions">
+            <summary>Gets the DataflowBlockOptions used to configure this block.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.DebuggingInformation.IsDecliningPermanently">
+            <summary>Gets whether the block is declining further messages.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.DebuggingInformation.IsCompleted">
+            <summary>Gets whether the block is completed.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.DebuggingInformation.LinkedTargets">
+            <summary>Gets the set of all targets linked from this block.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.BroadcastBlock`1.BroadcastingSourceCore`1.DebuggingInformation.NextMessageReservedFor">
+            <summary>Gets the target that holds a reservation on the next message, if any.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.Internal.IReorderingBuffer">
+            <summary>Base interface for reordering buffers.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.IReorderingBuffer.IgnoreItem(System.Int64)">
+            <summary>Informs the reordering buffer not to expect the message with the specified id.</summary>
+            <param name="id">The id of the message to be ignored.</param>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.Internal.ReorderingBuffer`1">
+            <summary>Provides a buffer that reorders items according to their incoming IDs.</summary>
+            <typeparam name="TOutput">Specifies the type of data stored in the items being reordered.</typeparam>
+            <remarks>
+            This type expects the first item to be ID==0 and for all subsequent items
+            to increase IDs sequentially.
+            </remarks>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.ReorderingBuffer`1.m_reorderingBuffer">
+            <summary>A reordering buffer used when parallelism is employed and items may be completed out-of-order.</summary>
+            <remarks>Also serves as the sync object to protect the contents of this class.</remarks>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.ReorderingBuffer`1.m_outputAction">
+            <summary>Action used to output items in order.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.ReorderingBuffer`1.m_nextReorderedIdToOutput">
+            <summary>The ID of the next item that should be released from the reordering buffer.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.ReorderingBuffer`1.#ctor(System.Action{`0})">
+            <summary>Initializes the reordering buffer.</summary>
+            <param name="outputAction">The action to invoke when the next in-order item is available to be output.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.ReorderingBuffer`1.AddItem(System.Int64,`0,System.Boolean)">
+            <summary>Stores the next item as it completes processing.</summary>
+            <param name="id">The ID of the item.</param>
+            <param name="item">The completed item.</param>
+            <param name="itemIsValid">Specifies whether the item is valid (true) or just a placeholder (false).</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.ReorderingBuffer`1.IgnoreItem(System.Int64)">
+            <summary>Informs the reordering buffer not to expect the message with the specified id.</summary>
+            <param name="id">The id of the message to be ignored.</param>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.ReorderingBuffer`1.CountForDebugging">
+            <summary>Gets a item count for debugging purposes.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.Internal.ReorderingBuffer`1.DebugView">
+            <summary>Provides a debugger type proxy for the buffer.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.Internal.ReorderingBuffer`1.DebugView.m_buffer">
+            <summary>The buffer being debugged.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.Internal.ReorderingBuffer`1.DebugView.#ctor(System.Threading.Tasks.Dataflow.Internal.ReorderingBuffer{`0})">
+            <summary>Initializes the debug view.</summary>
+            <param name="buffer">The buffer being debugged.</param>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.ReorderingBuffer`1.DebugView.ItemsBuffered">
+            <summary>Gets a dictionary of buffered items and their reordering IDs.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.Internal.ReorderingBuffer`1.DebugView.NextIdRequired">
+            <summary>Gets the next ID required for outputting.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.ActionBlock`1">
+            <summary>Provides a dataflow block that invokes a provided <see cref="T:System.Action`1"/> delegate for every data element received.</summary>
+            <typeparam name="TInput">Specifies the type of data operated on by this <see cref="T:System.Threading.Tasks.Dataflow.ActionBlock`1"/>.</typeparam>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.ActionBlock`1.m_target">
+            <summary>The core implementation of this message block.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.ActionBlock`1.#ctor(System.Action{`0})">
+            <summary>Initializes the <see cref="T:System.Threading.Tasks.Dataflow.ActionBlock`1"/> with the specified <see cref="T:System.Action`1"/>.</summary>
+            <param name="action">The action to invoke with each data element received.</param>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> is null (Nothing in Visual Basic).</exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.ActionBlock`1.#ctor(System.Action{`0},System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions)">
+            <summary>Initializes the <see cref="T:System.Threading.Tasks.Dataflow.ActionBlock`1"/> with the specified <see cref="T:System.Action`1"/> and <see cref="T:System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions"/>.</summary>
+            <param name="action">The action to invoke with each data element received.</param>
+            <param name="dataflowBlockOptions">The options with which to configure this <see cref="T:System.Threading.Tasks.Dataflow.ActionBlock`1"/>.</param>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> is null (Nothing in Visual Basic).</exception>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="dataflowBlockOptions"/> is null (Nothing in Visual Basic).</exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.ActionBlock`1.#ctor(System.Func{`0,System.Threading.Tasks.Task})">
+            <summary>Initializes the <see cref="T:System.Threading.Tasks.Dataflow.ActionBlock`1"/> with the specified <see cref="T:System.Func`2"/>.</summary>
+            <param name="action">The action to invoke with each data element received.</param>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> is null (Nothing in Visual Basic).</exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.ActionBlock`1.#ctor(System.Func{`0,System.Threading.Tasks.Task},System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions)">
+            <summary>Initializes the <see cref="T:System.Threading.Tasks.Dataflow.ActionBlock`1"/> with the specified <see cref="T:System.Func`2"/> and <see cref="T:System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions"/>.</summary>
+            <param name="action">The action to invoke with each data element received.</param>
+            <param name="dataflowBlockOptions">The options with which to configure this <see cref="T:System.Threading.Tasks.Dataflow.ActionBlock`1"/>.</param>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> is null (Nothing in Visual Basic).</exception>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="dataflowBlockOptions"/> is null (Nothing in Visual Basic).</exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.ActionBlock`1.#ctor(System.Delegate,System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions)">
+            <summary>Initializes the <see cref="T:System.Threading.Tasks.Dataflow.ActionBlock`1"/> with the specified delegate and options.</summary>
+            <param name="action">The action to invoke with each data element received.</param>
+            <param name="dataflowBlockOptions">The options with which to configure this <see cref="T:System.Threading.Tasks.Dataflow.ActionBlock`1"/>.</param>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> is null (Nothing in Visual Basic).</exception>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="dataflowBlockOptions"/> is null (Nothing in Visual Basic).</exception>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.ActionBlock`1.ProcessMessage(System.Action{`0},System.Collections.Generic.KeyValuePair{`0,System.Int64})">
+            <summary>Processes the message with a user-provided action.</summary>
+            <param name="action">The action to use to process the message.</param>
+            <param name="messageWithId">The message to be processed.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.ActionBlock`1.ProcessMessageWithTask(System.Func{`0,System.Threading.Tasks.Task},System.Collections.Generic.KeyValuePair{`0,System.Int64})">
+            <summary>Processes the message with a user-provided action that returns a task.</summary>
+            <param name="action">The action to use to process the message.</param>
+            <param name="messageWithId">The message to be processed.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.ActionBlock`1.AsyncCompleteProcessMessageWithTask(System.Threading.Tasks.Task)">
+            <summary>Completes the processing of an asynchronous message.</summary>
+            <param name="completed">The completed task.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.ActionBlock`1.Complete">
+            <summary>
+        Signals to the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> that it should not accept
+        nor produce any more messages nor consume any more postponed messages.
+      </summary><remarks>
+        After Complete has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state) after it's processed all previously
+        available data. Complete will not block waiting for completion to occur, but rather will initiaite
+        the request; to wait for completion to occur, the <see cref="M:Completion"/> task may be used.
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.ActionBlock`1.System#Threading#Tasks#Dataflow#IDataflowBlock#Fault(System.Exception)">
+            <summary>
+        Causes the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"/> to complete in a 
+        <see cref="F:System.Threading.Tasks.TaskStatus.Faulted"/> state.
+      </summary><param name="exception">The <see cref="T:System.Exception"/> that caused the faulting.</param><exception cref="T:System.ArgumentNullException">
+        The <paramref name="exception"/> is null (Nothing in Visual Basic).
+      </exception><remarks>
+        After Fault has been called on a dataflow block, that block will complete
+        (such that its <see cref="M:Completion"/> task will enter a final state). Faulting a block causes 
+        buffered messages (uprocessed input messages as well as unoffered output messages) to be lost. 
+      </remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.ActionBlock`1.System#Threading#Tasks#Dataflow#ITargetBlock{TInput}#OfferMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader,`0,System.Threading.Tasks.Dataflow.ISourceBlock{`0},System.Boolean)">
+            <summary>
+        Offers a message to the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1"/>, giving the target the opportunity to consume or postpone the message.
+      </summary><param name="messageHeader">
+        A <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader"/> instance that represents the header of the message being offered.
+      </param><param name="messageValue">
+        The value of the message being offered.
+      </param><param name="source">
+        The <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1"/> offering the message. This may be null (Nothing in Visual Basic).
+      </param><param name="consumeToAccept">
+        true if the target must call ConsumeMessage synchronously during the call to OfferMessage, prior to returning
+        <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted"/>, in order to consume the message.
+        false if the target wanting to accept the message should not call ConsumeMessage, and should isntead simply return DataflowMessageStatus.Accepted.
+      </param><returns>
+        The status of the offered message. If the message was accepted by the target, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Accepted"/> is returned, and the source should
+        no longer use the offered message, as it is now owned by the target. If the message was postponed by the target, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Postponed"/> is returned
+        as a notification that the target may later attempt to consume or reserve the message; in the meantime, the source still owns the message and may offer it to other blocks.
+        If the target would have otherwise postponed but source was null, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Declined"/> is instead returned. 
+        If the target tried to accept the message but missed it due to the source delivering the message to another target or simply discarding it, 
+        <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.NotAvailable"/> is returned.
+        If the target chose not to accept the message, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.Declined"/> is returned.  If the target
+        chose not to accept the message and will never accept another message from this source, <see cref="F:System.Threading.Tasks.Dataflow.DataflowMessageStatus.DecliningPermanently"/> is returned.
+      </returns><exception cref="T:System.ArgumentException">
+        The <paramref name="messageHeader"/> is not valid.
+      </exception><exception cref="T:System.ArgumentException">
+        <paramref name="consumeToAccept"/> may only be true if provided with a non-null <paramref name="source"/>.
+      </exception>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.ActionBlock`1.Completion">
+            <summary>
+        Gets a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous operation and completion of the dataflow block.
+      </summary><remarks>
+        A dataflow block is considered completed when it is not currently processing a message and when it has guaranteed that it will not process
+        any more messages. The returned <see cref="T:System.Threading.Tasks.Task">Task</see> will transition to a completed state when the
+        associated block has completed. It will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state
+        when the block completes its processing successfully according to the dataflow block’s defined semantics, it will transition to
+        the <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state when the dataflow block has completed processing prematurely due to an unhandled exception,
+        and it will transition to the <see cref="T:System.Threading.Tasks.TaskStatus">Canceled</see> state when the dataflow  block has completed processing
+        prematurely due to receiving a cancellation request.  If the task completes in the Faulted state, its Exception property will return
+        an <see cref="T:System.AggregateException"/> containing the one or more exceptions that caused the block to fail.
+      </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.ActionBlock`1.InputCount">
+            <summary>
+        Gets the number of input items waiting to be processed by this block.
+      </summary><remarks>
+        The InputCount does not include any items currently being processed by the block or any items that 
+        have already been processed by the block.
+      </remarks>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.ActionBlock`1.InputCountForDebugger">
+            <summary>Gets the number of messages waiting to be processed. This must only be used from the debugger.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.ActionBlock`1.DebuggerDisplayContent">
+            <summary>The data to display in the debugger display attribute.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.ActionBlock`1.System#Threading#Tasks#Dataflow#Internal#IDebuggerDisplay#Content">
+            <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
+        </member>
+        <member name="T:System.Threading.Tasks.Dataflow.ActionBlock`1.DebugView">
+            <summary>Provides a debugger type proxy for the Call.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.ActionBlock`1.DebugView.m_actionBlock">
+            <summary>The action block being viewed.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Dataflow.ActionBlock`1.DebugView.m_debugInfo">
+            <summary>The actino block's target being viewed.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Dataflow.ActionBlock`1.DebugView.#ctor(System.Threading.Tasks.Dataflow.ActionBlock{`0})">
+            <summary>Initializes the debug view.</summary>
+            <param name="actionBlock">The target being debugged.</param>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.ActionBlock`1.DebugView.InputQueue">
+            <summary>Gets the messages waiting to be processed.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.ActionBlock`1.DebugView.PostponedMessages">
+            <summary>Gets any postponed messages.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.ActionBlock`1.DebugView.CurrentDegreeOfParallelism">
+            <summary>Gets the number of oustanding input operations.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.ActionBlock`1.DebugView.DataflowBlockOptions">
+            <summary>Gets the ExecutionDataflowBlockOptions used to configure this block.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.ActionBlock`1.DebugView.IsDecliningPermanently">
+            <summary>Gets whether the block is declining further messages.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.ActionBlock`1.DebugView.IsCompleted">
+            <summary>Gets whether the block is completed.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Dataflow.ActionBlock`1.DebugView.Id">
+            <summary>Gets the block's Id.</summary>
+        </member>
+    </members>
+</doc>
diff --git a/trunk/Libraries/System.Windows.Controls.Toolkit.Internals.dll b/trunk/Libraries/System.Windows.Controls.Toolkit.Internals.dll
new file mode 100644
index 0000000..49967fb
Binary files /dev/null and b/trunk/Libraries/System.Windows.Controls.Toolkit.Internals.dll differ
diff --git a/trunk/Libraries/System.Windows.Controls.Toolkit.dll b/trunk/Libraries/System.Windows.Controls.Toolkit.dll
new file mode 100644
index 0000000..5e08df6
Binary files /dev/null and b/trunk/Libraries/System.Windows.Controls.Toolkit.dll differ
diff --git a/trunk/Libraries/System.Windows.Controls.Toolkit.xml b/trunk/Libraries/System.Windows.Controls.Toolkit.xml
new file mode 100644
index 0000000..5318dbc
--- /dev/null
+++ b/trunk/Libraries/System.Windows.Controls.Toolkit.xml
@@ -0,0 +1,9819 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>System.Windows.Controls.Toolkit</name>
+    </assembly>
+    <members>
+        <member name="T:System.Windows.Controls.InteractionHelper">
+            <summary>
+            The InteractionHelper provides controls with support for all of the
+            common interactions like mouse movement, mouse clicks, key presses,
+            etc., and also incorporates proper event semantics when the control is
+            disabled.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.InteractionHelper.SequentialClickThresholdInMilliseconds">
+            <summary>
+            The threshold used to determine whether two clicks are temporally
+            local and considered a double click (or triple, quadruple, etc.).
+            500 milliseconds is the default double click value on Windows.
+            This value would ideally be pulled form the system settings.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.InteractionHelper.SequentialClickThresholdInPixelsSquared">
+            <summary>
+            The threshold used to determine whether two clicks are spatially
+            local and considered a double click (or triple, quadruple, etc.)
+            in pixels squared.  We use pixels squared so that we can compare to
+            the distance delta without taking a square root.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.InteractionHelper._updateVisualState">
+            <summary>
+            Reference used to call UpdateVisualState on the base class.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.InteractionHelper.#ctor(System.Windows.Controls.Control)">
+            <summary>
+            Initializes a new instance of the InteractionHelper class.
+            </summary>
+            <param name="control">Control receiving interaction.</param>
+        </member>
+        <member name="M:System.Windows.Controls.InteractionHelper.UpdateVisualState(System.Boolean)">
+            <summary>
+            Update the visual state of the control.
+            </summary>
+            <param name="useTransitions">
+            A value indicating whether to automatically generate transitions to
+            the new state, or instantly transition to the new state.
+            </param>
+            <remarks>
+            UpdateVisualState works differently than the rest of the injected
+            functionality.  Most of the other events are overridden by the
+            calling class which calls Allow, does what it wants, and then calls
+            Base.  UpdateVisualState is the opposite because a number of the
+            methods in InteractionHelper need to trigger it in the calling
+            class.  We do this using the IUpdateVisualState internal interface.
+            </remarks>
+        </member>
+        <member name="M:System.Windows.Controls.InteractionHelper.UpdateVisualStateBase(System.Boolean)">
+            <summary>
+            Update the visual state of the control.
+            </summary>
+            <param name="useTransitions">
+            A value indicating whether to automatically generate transitions to
+            the new state, or instantly transition to the new state.
+            </param>
+        </member>
+        <member name="M:System.Windows.Controls.InteractionHelper.OnLoaded(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Handle the control's Loaded event.
+            </summary>
+            <param name="sender">The control.</param>
+            <param name="e">Event arguments.</param>
+        </member>
+        <member name="M:System.Windows.Controls.InteractionHelper.OnIsEnabledChanged(System.Object,System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+            Handle changes to the control's IsEnabled property.
+            </summary>
+            <param name="sender">The control.</param>
+            <param name="e">Event arguments.</param>
+        </member>
+        <member name="M:System.Windows.Controls.InteractionHelper.OnIsReadOnlyChanged(System.Boolean)">
+            <summary>
+            Handles changes to the control's IsReadOnly property.
+            </summary>
+            <param name="value">The value of the property.</param>
+        </member>
+        <member name="M:System.Windows.Controls.InteractionHelper.OnApplyTemplateBase">
+            <summary>
+            Update the visual state of the control when its template is changed.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.InteractionHelper.AllowGotFocus(System.Windows.RoutedEventArgs)">
+            <summary>
+            Check if the control's GotFocus event should be handled.
+            </summary>
+            <param name="e">Event arguments.</param>
+            <returns>
+            A value indicating whether the event should be handled.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.InteractionHelper.OnGotFocusBase">
+            <summary>
+            Base implementation of the virtual GotFocus event handler.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.InteractionHelper.AllowLostFocus(System.Windows.RoutedEventArgs)">
+            <summary>
+            Check if the control's LostFocus event should be handled.
+            </summary>
+            <param name="e">Event arguments.</param>
+            <returns>
+            A value indicating whether the event should be handled.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.InteractionHelper.OnLostFocusBase">
+            <summary>
+            Base implementation of the virtual LostFocus event handler.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.InteractionHelper.AllowMouseEnter(System.Windows.Input.MouseEventArgs)">
+            <summary>
+            Check if the control's MouseEnter event should be handled.
+            </summary>
+            <param name="e">Event arguments.</param>
+            <returns>
+            A value indicating whether the event should be handled.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.InteractionHelper.OnMouseEnterBase">
+            <summary>
+            Base implementation of the virtual MouseEnter event handler.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.InteractionHelper.AllowMouseLeave(System.Windows.Input.MouseEventArgs)">
+            <summary>
+            Check if the control's MouseLeave event should be handled.
+            </summary>
+            <param name="e">Event arguments.</param>
+            <returns>
+            A value indicating whether the event should be handled.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.InteractionHelper.OnMouseLeaveBase">
+            <summary>
+            Base implementation of the virtual MouseLeave event handler.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.InteractionHelper.AllowMouseLeftButtonDown(System.Windows.Input.MouseButtonEventArgs)">
+            <summary>
+            Check if the control's MouseLeftButtonDown event should be handled.
+            </summary>
+            <param name="e">Event arguments.</param>
+            <returns>
+            A value indicating whether the event should be handled.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.InteractionHelper.OnMouseLeftButtonDownBase">
+            <summary>
+            Base implementation of the virtual MouseLeftButtonDown event
+            handler.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.InteractionHelper.AllowMouseLeftButtonUp(System.Windows.Input.MouseButtonEventArgs)">
+            <summary>
+            Check if the control's MouseLeftButtonUp event should be handled.
+            </summary>
+            <param name="e">Event arguments.</param>
+            <returns>
+            A value indicating whether the event should be handled.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.InteractionHelper.OnMouseLeftButtonUpBase">
+            <summary>
+            Base implementation of the virtual MouseLeftButtonUp event handler.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.InteractionHelper.AllowKeyDown(System.Windows.Input.KeyEventArgs)">
+            <summary>
+            Check if the control's KeyDown event should be handled.
+            </summary>
+            <param name="e">Event arguments.</param>
+            <returns>
+            A value indicating whether the event should be handled.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.InteractionHelper.AllowKeyUp(System.Windows.Input.KeyEventArgs)">
+            <summary>
+            Check if the control's KeyUp event should be handled.
+            </summary>
+            <param name="e">Event arguments.</param>
+            <returns>
+            A value indicating whether the event should be handled.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.InteractionHelper.GetLogicalKey(System.Windows.FlowDirection,System.Windows.Input.Key)">
+            <summary>
+            Translates keys for proper RightToLeft mode support.
+            </summary>
+            <param name="flowDirection">Control's flow direction mode.</param>
+            <param name="originalKey">Original key.</param>
+            <returns>
+            A translated key code, indicating how the original key should be interpreted.
+            </returns>
+        </member>
+        <member name="P:System.Windows.Controls.InteractionHelper.Control">
+            <summary>
+            Gets the control the InteractionHelper is targeting.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.InteractionHelper.IsFocused">
+            <summary>
+            Gets a value indicating whether the control has focus.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.InteractionHelper.IsMouseOver">
+            <summary>
+            Gets a value indicating whether the mouse is over the control.
+            </summary> 
+        </member>
+        <member name="P:System.Windows.Controls.InteractionHelper.IsReadOnly">
+            <summary>
+            Gets a value indicating whether the read-only property is set.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.InteractionHelper.IsPressed">
+            <summary>
+            Gets a value indicating whether the mouse button is pressed down
+            over the control.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.InteractionHelper.LastClickTime">
+            <summary>
+            Gets or sets the last time the control was clicked.
+            </summary>
+            <remarks>
+            The value is stored as Utc time because it is slightly more
+            performant than converting to local time.
+            </remarks>
+        </member>
+        <member name="P:System.Windows.Controls.InteractionHelper.LastClickPosition">
+            <summary>
+            Gets or sets the mouse position of the last click.
+            </summary>
+            <remarks>The value is relative to the control.</remarks>
+        </member>
+        <member name="P:System.Windows.Controls.InteractionHelper.ClickCount">
+            <summary>
+            Gets the number of times the control was clicked.
+            </summary>
+        </member>
+        <member name="T:System.Windows.Controls.IUpdateVisualState">
+            <summary>
+            The IUpdateVisualState interface is used to provide the
+            InteractionHelper with access to the type's UpdateVisualState method.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.IUpdateVisualState.UpdateVisualState(System.Boolean)">
+            <summary>
+            Update the visual state of the control.
+            </summary>
+            <param name="useTransitions">
+            A value indicating whether to automatically generate transitions to
+            the new state, or instantly transition to the new state.
+            </param>
+        </member>
+        <member name="T:System.Windows.Controls.BusyIndicator">
+            <summary>
+            A control to provide a visual indicator when an application is busy.
+            </summary>
+            <QualityBand>Preview</QualityBand>
+        </member>
+        <member name="F:System.Windows.Controls.BusyIndicator._displayAfterTimer">
+            <summary>
+            Timer used to delay the initial display and avoid flickering.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.BusyIndicator.#ctor">
+            <summary>
+            Instantiates a new instance of the BusyIndicator control.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.BusyIndicator.OnApplyTemplate">
+            <summary>
+            Overrides the OnApplyTemplate method.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.BusyIndicator.DisplayAfterTimerElapsed(System.Object,System.EventArgs)">
+            <summary>
+            Handler for the DisplayAfterTimer.
+            </summary>
+            <param name="sender">Event sender.</param>
+            <param name="e">Event arguments.</param>
+        </member>
+        <member name="M:System.Windows.Controls.BusyIndicator.ChangeVisualState(System.Boolean)">
+            <summary>
+            Changes the control's visual state(s).
+            </summary>
+            <param name="useTransitions">True if state transitions should be used.</param>
+        </member>
+        <member name="F:System.Windows.Controls.BusyIndicator.IsBusyProperty">
+            <summary>
+            Identifies the IsBusy dependency property.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.BusyIndicator.OnIsBusyChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+            IsBusyProperty property changed handler.
+            </summary>
+            <param name="d">BusyIndicator that changed its IsBusy.</param>
+            <param name="e">Event arguments.</param>
+        </member>
+        <member name="M:System.Windows.Controls.BusyIndicator.OnIsBusyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+            IsBusyProperty property changed handler.
+            </summary>
+            <param name="e">Event arguments.</param>
+        </member>
+        <member name="F:System.Windows.Controls.BusyIndicator.BusyContentProperty">
+            <summary>
+            Identifies the BusyContent dependency property.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.BusyIndicator.BusyContentTemplateProperty">
+            <summary>
+            Identifies the BusyTemplate dependency property.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.BusyIndicator.DisplayAfterProperty">
+            <summary>
+            Identifies the DisplayAfter dependency property.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.BusyIndicator.OverlayStyleProperty">
+            <summary>
+            Identifies the OverlayStyle dependency property.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.BusyIndicator.ProgressBarStyleProperty">
+            <summary>
+            Identifies the ProgressBarStyle dependency property.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.BusyIndicator.IsContentVisible">
+            <summary>
+            Gets or sets a value indicating whether the BusyContent is visible.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.BusyIndicator.IsBusy">
+            <summary>
+            Gets or sets a value indicating whether the busy indicator should show.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.BusyIndicator.BusyContent">
+            <summary>
+            Gets or sets a value indicating the busy content to display to the user.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.BusyIndicator.BusyContentTemplate">
+            <summary>
+            Gets or sets a value indicating the template to use for displaying the busy content to the user.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.BusyIndicator.DisplayAfter">
+            <summary>
+            Gets or sets a value indicating how long to delay before displaying the busy content.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.BusyIndicator.OverlayStyle">
+            <summary>
+            Gets or sets a value indicating the style to use for the overlay.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.BusyIndicator.ProgressBarStyle">
+            <summary>
+            Gets or sets a value indicating the style to use for the progress bar.
+            </summary>
+        </member>
+        <member name="T:System.Windows.Controls.EnumerableExtensions">
+            <summary>
+            A set of extension methods for the sequence class.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.EnumerableExtensions.Iterate``1(``0,System.Func{``0,``0})">
+            <summary>
+            Produces a sequence of items using a seed value and iteration 
+            method.
+            </summary>
+            <typeparam name="T">The type of the sequence.</typeparam>
+            <param name="value">The initial value.</param>
+            <param name="next">The iteration function.</param>
+            <returns>A sequence of items using a seed value and iteration 
+            method.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.EnumerableExtensions.Prepend``1(System.Collections.Generic.IEnumerable{``0},``0)">
+            <summary>
+            Prepend an item to a sequence.
+            </summary>
+            <typeparam name="T">The type of the sequence.</typeparam>
+            <param name="that">The sequence to append the item to.</param>
+            <param name="value">The item to append to the sequence.</param>
+            <returns>A new sequence.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.EnumerableExtensions.Zip``3(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``1},System.Func{``0,``1,``2})">
+            <summary>
+            Accepts two sequences and applies a function to the corresponding 
+            values in the two sequences.
+            </summary>
+            <typeparam name="T0">The type of the first sequence.</typeparam>
+            <typeparam name="T1">The type of the second sequence.</typeparam>
+            <typeparam name="R">The return type of the function.</typeparam>
+            <param name="enumerable0">The first sequence.</param>
+            <param name="enumerable1">The second sequence.</param>
+            <param name="func">The function to apply to the corresponding values
+            from the two sequences.</param>
+            <returns>A sequence of transformed values from both sequences.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.EnumerableExtensions.MaxOrNull``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.IComparable})">
+            <summary>
+            Returns the maximum value in the stream based on the result of a
+            project function.
+            </summary>
+            <typeparam name="T">The stream type.</typeparam>
+            <param name="that">The stream.</param>
+            <param name="projectionFunction">The function that transforms the
+            item.</param>
+            <returns>The maximum value or null.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.EnumerableExtensions.MaxOrNullable``1(System.Collections.Generic.IEnumerable{``0})">
+            <summary>
+            Returns the maximum value or null if sequence is empty.
+            </summary>
+            <typeparam name="T">The type of the sequence.</typeparam>
+            <param name="that">The sequence to retrieve the maximum value from.
+            </param>
+            <returns>The maximum value or null.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.EnumerableExtensions.MinOrNullable``1(System.Collections.Generic.IEnumerable{``0})">
+            <summary>
+            Returns the minimum value or null if sequence is empty.
+            </summary>
+            <typeparam name="T">The type of the sequence.</typeparam>
+            <param name="that">The sequence to retrieve the minimum value from.
+            </param>
+            <returns>The minimum value or null.</returns>
+        </member>
+        <member name="T:System.Windows.LengthConverter">
+            <summary>
+            Converts instances of other types to and from instances of a double that
+            represent an object measurement such as a height or width.
+            </summary>
+            <QualityBand>Stable</QualityBand>
+        </member>
+        <member name="F:System.Windows.LengthConverter.UnitToPixelConversions">
+            <summary>
+            Conversions from units to pixels.
+            </summary>
+        </member>
+        <member name="M:System.Windows.LengthConverter.#ctor">
+            <summary>
+            Initializes a new instance of the
+            <see cref="T:System.Windows.LengthConverter" /> class.
+            </summary>
+        </member>
+        <member name="M:System.Windows.LengthConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
+            <summary>
+            Determines whether conversion is possible from a specified type to a
+            <see cref="T:System.Double" /> that represents an object
+            measurement.
+            </summary>
+            <param name="typeDescriptorContext">
+            An <see cref="T:System.ComponentModel.ITypeDescriptorContext" />
+            that provides a format context.
+            </param>
+            <param name="sourceType">
+            A <see cref="T:System.Type" /> that represents the type you want to
+            convert from.
+            </param>
+            <returns>
+            True if this converter can perform the conversion; otherwise, false.
+            </returns>
+        </member>
+        <member name="M:System.Windows.LengthConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
+            <summary>
+            Converts from the specified value to values of the
+            <see cref="T:System.Double" /> type.
+            </summary>
+            <param name="typeDescriptorContext">
+            An <see cref="T:System.ComponentModel.ITypeDescriptorContext" />
+            that provides a format context.
+            </param>
+            <param name="cultureInfo">
+            The <see cref="T:System.Globalization.CultureInfo" /> to use as the
+            current culture.
+            </param>
+            <param name="source">The value to convert.</param>
+            <returns>The converted value.</returns>
+        </member>
+        <member name="M:System.Windows.LengthConverter.CanConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Type)">
+            <summary>
+            Returns whether the type converter can convert a measurement to the
+            specified type.
+            </summary>
+            <param name="typeDescriptorContext">
+            An <see cref="T:System.ComponentModel.ITypeDescriptorContext" />
+            that provides a format context.
+            </param>
+            <param name="destinationType">
+            A <see cref="T:System.Type" /> that represents the type you want to
+            convert to.
+            </param>
+            <returns>
+            True if this converter can perform the conversion; otherwise, false.
+            </returns>
+        </member>
+        <member name="M:System.Windows.LengthConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)">
+            <summary>
+            Converts the specified measurement to the specified type.
+            </summary>
+            <param name="typeDescriptorContext">
+            An object that provides a format context.
+            </param>
+            <param name="cultureInfo">
+            The <see cref="T:System.Globalization.CultureInfo" /> to use as the
+            current culture.
+            </param>
+            <param name="value">The value to convert.</param>
+            <param name="destinationType">
+            A <see cref="T:System.Type" /> that represents the type you want to
+            convert to.
+            </param>
+            <returns>The converted value.</returns>
+        </member>
+        <member name="T:System.Windows.Controls.NumericExtensions">
+            <summary>
+            Numeric utility methods used by controls.  These methods are similar in
+            scope to the WPF DoubleUtil class.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.NumericExtensions.IsZero(System.Double)">
+            <summary>
+            Check if a number is zero.
+            </summary>
+            <param name="value">The number to check.</param>
+            <returns>True if the number is zero, false otherwise.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.NumericExtensions.IsNaN(System.Double)">
+            <summary>
+            Check if a number isn't really a number.
+            </summary>
+            <param name="value">The number to check.</param>
+            <returns>
+            True if the number is not a number, false if it is a number.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.NumericExtensions.IsGreaterThan(System.Double,System.Double)">
+            <summary>
+            Determine if one number is greater than another.
+            </summary>
+            <param name="left">First number.</param>
+            <param name="right">Second number.</param>
+            <returns>
+            True if the first number is greater than the second, false
+            otherwise.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.NumericExtensions.IsLessThanOrClose(System.Double,System.Double)">
+            <summary>
+            Determine if one number is less than or close to another.
+            </summary>
+            <param name="left">First number.</param>
+            <param name="right">Second number.</param>
+            <returns>
+            True if the first number is less than or close to the second, false
+            otherwise.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.NumericExtensions.AreClose(System.Double,System.Double)">
+            <summary>
+            Determine if two numbers are close in value.
+            </summary>
+            <param name="left">First number.</param>
+            <param name="right">Second number.</param>
+            <returns>
+            True if the first number is close in value to the second, false
+            otherwise.
+            </returns>
+        </member>
+        <member name="T:System.Windows.Controls.NumericExtensions.NanUnion">
+            <summary>
+            NanUnion is a C++ style type union used for efficiently converting
+            a double into an unsigned long, whose bits can be easily
+            manipulated.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.NumericExtensions.NanUnion.FloatingValue">
+            <summary>
+            Floating point representation of the union.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.NumericExtensions.NanUnion.IntegerValue">
+            <summary>
+            Integer representation of the union.
+            </summary>
+        </member>
+        <member name="T:System.Windows.Controls.TypeConverters">
+            <summary>
+            Common TypeConverter functionality.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.TypeConverters.CanConvertFrom``1(System.Type)">
+            <summary>
+            Returns a value indicating whether this converter can convert an
+            object of the given type to an instance of the expected type.
+            </summary>
+            <typeparam name="T">Expected type of the converter.</typeparam>
+            <param name="sourceType">
+            The type of the source that is being evaluated for conversion.
+            </param>
+            <returns>
+            A value indicating whether the converter can convert the provided
+            type.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.TypeConverters.ConvertFrom``1(System.ComponentModel.TypeConverter,System.Object)">
+            <summary>
+            Attempts to convert a specified object to an instance of the
+            expected type.
+            </summary>
+            <typeparam name="T">Expected type of the converter.</typeparam>
+            <param name="converter">TypeConverter instance.</param>
+            <param name="value">The object being converted.</param>
+            <returns>
+            The instance of the expected type created from the converted object.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.TypeConverters.CanConvertTo``1(System.Type)">
+            <summary>
+            Determines whether conversion is possible to a specified type.
+            </summary>
+            <typeparam name="T">Expected type of the converter.</typeparam>
+            <param name="destinationType">
+            Identifies the data type to evaluate for conversion.
+            </param>
+            <returns>
+            A value indicating whether conversion is possible.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.TypeConverters.ConvertTo(System.ComponentModel.TypeConverter,System.Object,System.Type)">
+            <summary>
+            Attempts to convert a specified object to an instance of the
+            desired type.
+            </summary>
+            <param name="converter">TypeConverter instance.</param>
+            <param name="value">The object being converted.</param>
+            <param name="destinationType">
+            The type to convert the value to.
+            </param>
+            <returns>
+            The value of the conversion to the specified type.
+            </returns>
+        </member>
+        <member name="T:System.Windows.Controls.VisualStates">
+            <summary>
+            Names and helpers for visual states in the controls.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.GroupCommon">
+            <summary>
+            Common state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StateNormal">
+            <summary>
+            Normal state of the Common state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StateReadOnly">
+            <summary>
+            Normal state of the Common state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StateMouseOver">
+            <summary>
+            MouseOver state of the Common state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StatePressed">
+            <summary>
+            Pressed state of the Common state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StateDisabled">
+            <summary>
+            Disabled state of the Common state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.GroupFocus">
+            <summary>
+            Focus state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StateUnfocused">
+            <summary>
+            Unfocused state of the Focus state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StateFocused">
+            <summary>
+            Focused state of the Focus state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.GroupSelection">
+            <summary>
+            Selection state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StateSelected">
+            <summary>
+            Selected state of the Selection state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StateUnselected">
+            <summary>
+            Unselected state of the Selection state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StateSelectedInactive">
+            <summary>
+            Selected inactive state of the Selection state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.GroupExpansion">
+            <summary>
+            Expansion state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StateExpanded">
+            <summary>
+            Expanded state of the Expansion state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StateCollapsed">
+            <summary>
+            Collapsed state of the Expansion state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.GroupPopup">
+            <summary>
+            Popup state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StatePopupOpened">
+            <summary>
+            Opened state of the Popup state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StatePopupClosed">
+            <summary>
+            Closed state of the Popup state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.GroupValidation">
+            <summary>
+            ValidationStates state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StateValid">
+            <summary>
+            The valid state for the ValidationStates group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StateInvalidFocused">
+            <summary>
+            Invalid, focused state for the ValidationStates group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StateInvalidUnfocused">
+            <summary>
+            Invalid, unfocused state for the ValidationStates group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.GroupExpandDirection">
+            <summary>
+            ExpandDirection state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StateExpandDown">
+            <summary>
+            Down expand direction state of ExpandDirection state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StateExpandUp">
+            <summary>
+            Up expand direction state of ExpandDirection state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StateExpandLeft">
+            <summary>
+            Left expand direction state of ExpandDirection state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StateExpandRight">
+            <summary>
+            Right expand direction state of ExpandDirection state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.GroupHasItems">
+            <summary>
+            HasItems state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StateHasItems">
+            <summary>
+            HasItems state of the HasItems state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StateNoItems">
+            <summary>
+            NoItems state of the HasItems state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.GroupIncrease">
+            <summary>
+            Increment state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StateIncreaseEnabled">
+            <summary>
+            State enabled for increment group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StateIncreaseDisabled">
+            <summary>
+            State disabled for increment group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.GroupDecrease">
+            <summary>
+            Decrement state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StateDecreaseEnabled">
+            <summary>
+            State enabled for decrement group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StateDecreaseDisabled">
+            <summary>
+            State disabled for decrement group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.GroupInteractionMode">
+            <summary>
+            InteractionMode state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StateEdit">
+            <summary>
+            Edit of the DisplayMode state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StateDisplay">
+            <summary>
+            Display of the DisplayMode state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.GroupLocked">
+            <summary>
+            DisplayMode state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StateLocked">
+            <summary>
+            Edit of the DisplayMode state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StateUnlocked">
+            <summary>
+            Display of the DisplayMode state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StateActive">
+            <summary>
+            Active state.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StateInactive">
+            <summary>
+            Inactive state.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.GroupActive">
+            <summary>
+            Active state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StateUnwatermarked">
+            <summary>
+            Non-watermarked state.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StateWatermarked">
+            <summary>
+            Watermarked state.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.GroupWatermark">
+            <summary>
+            Watermark state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StateCalendarButtonUnfocused">
+            <summary>
+            Unfocused state for Calendar Buttons.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StateCalendarButtonFocused">
+            <summary>
+            Focused state for Calendar Buttons.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.GroupCalendarButtonFocus">
+            <summary>
+            CalendarButtons Focus state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StateBusy">
+            <summary>
+            Busy state for BusyIndicator.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StateIdle">
+            <summary>
+            Idle state for BusyIndicator.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.GroupBusyStatus">
+            <summary>
+            Busyness group name.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StateVisible">
+            <summary>
+            Visible state name for BusyIndicator.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.StateHidden">
+            <summary>
+            Hidden state name for BusyIndicator.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.VisualStates.GroupVisibility">
+            <summary>
+            BusyDisplay group.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.VisualStates.GoToState(System.Windows.Controls.Control,System.Boolean,System.String[])">
+            <summary>
+            Use VisualStateManager to change the visual state of the control.
+            </summary>
+            <param name="control">
+            Control whose visual state is being changed.
+            </param>
+            <param name="useTransitions">
+            A value indicating whether to use transitions when updating the
+            visual state, or to snap directly to the new visual state.
+            </param>
+            <param name="stateNames">
+            Ordered list of state names and fallback states to transition into.
+            Only the first state to be found will be used.
+            </param>
+        </member>
+        <member name="M:System.Windows.Controls.VisualStates.GetImplementationRoot(System.Windows.DependencyObject)">
+            <summary>
+            Gets the implementation root of the Control.
+            </summary>
+            <param name="dependencyObject">The DependencyObject.</param>
+            <remarks>
+            Implements Silverlight's corresponding internal property on Control.
+            </remarks>
+            <returns>Returns the implementation root or null.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.VisualStates.TryGetVisualStateGroup(System.Windows.DependencyObject,System.String)">
+            <summary>
+            This method tries to get the named VisualStateGroup for the 
+            dependency object. The provided object's ImplementationRoot will be 
+            looked up in this call.
+            </summary>
+            <param name="dependencyObject">The dependency object.</param>
+            <param name="groupName">The visual state group's name.</param>
+            <returns>Returns null or the VisualStateGroup object.</returns>
+        </member>
+        <member name="T:System.Windows.Controls.Primitives.VisualTreeExtensions">
+            <summary>
+            Provides useful extensions for working with the visual tree.
+            </summary>
+            <remarks>
+            Since many of these extension methods are declared on types like
+            DependencyObject high up in the class hierarchy, we've placed them in
+            the Primitives namespace which is less likely to be imported for normal
+            scenarios.
+            </remarks>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.VisualTreeExtensions.GetVisualAncestors(System.Windows.DependencyObject)">
+            <summary>
+            Get the visual tree ancestors of an element.
+            </summary>
+            <param name="element">The element.</param>
+            <returns>The visual tree ancestors of the element.</returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="element"/> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.VisualTreeExtensions.GetVisualAncestorsAndSelf(System.Windows.DependencyObject)">
+            <summary>
+            Get the visual tree ancestors of an element and the element itself.
+            </summary>
+            <param name="element">The element.</param>
+            <returns>
+            The visual tree ancestors of an element and the element itself.
+            </returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="element"/> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.VisualTreeExtensions.GetVisualAncestorsAndSelfIterator(System.Windows.DependencyObject)">
+            <summary>
+            Get the visual tree ancestors of an element and the element itself.
+            </summary>
+            <param name="element">The element.</param>
+            <returns>
+            The visual tree ancestors of an element and the element itself.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.VisualTreeExtensions.GetVisualChildren(System.Windows.DependencyObject)">
+            <summary>
+            Get the visual tree children of an element.
+            </summary>
+            <param name="element">The element.</param>
+            <returns>The visual tree children of an element.</returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="element"/> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.VisualTreeExtensions.GetVisualChildrenAndSelf(System.Windows.DependencyObject)">
+            <summary>
+            Get the visual tree children of an element and the element itself.
+            </summary>
+            <param name="element">The element.</param>
+            <returns>
+            The visual tree children of an element and the element itself.
+            </returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="element"/> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.VisualTreeExtensions.GetVisualChildrenAndSelfIterator(System.Windows.DependencyObject)">
+            <summary>
+            Get the visual tree children of an element and the element itself.
+            </summary>
+            <param name="element">The element.</param>
+            <returns>
+            The visual tree children of an element and the element itself.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.VisualTreeExtensions.GetVisualDescendants(System.Windows.DependencyObject)">
+            <summary>
+            Get the visual tree descendants of an element.
+            </summary>
+            <param name="element">The element.</param>
+            <returns>The visual tree descendants of an element.</returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="element"/> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.VisualTreeExtensions.GetVisualDescendantsAndSelf(System.Windows.DependencyObject)">
+            <summary>
+            Get the visual tree descendants of an element and the element
+            itself.
+            </summary>
+            <param name="element">The element.</param>
+            <returns>
+            The visual tree descendants of an element and the element itself.
+            </returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="element"/> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.VisualTreeExtensions.GetVisualDescendantsAndSelfIterator(System.Windows.DependencyObject)">
+            <summary>
+            Get the visual tree descendants of an element and the element
+            itself.
+            </summary>
+            <param name="element">The element.</param>
+            <returns>
+            The visual tree descendants of an element and the element itself.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.VisualTreeExtensions.GetVisualSiblings(System.Windows.DependencyObject)">
+            <summary>
+            Get the visual tree siblings of an element.
+            </summary>
+            <param name="element">The element.</param>
+            <returns>The visual tree siblings of an element.</returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="element"/> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.VisualTreeExtensions.GetVisualSiblingsAndSelf(System.Windows.DependencyObject)">
+            <summary>
+            Get the visual tree siblings of an element and the element itself.
+            </summary>
+            <param name="element">The element.</param>
+            <returns>
+            The visual tree siblings of an element and the element itself.
+            </returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="element"/> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.VisualTreeExtensions.GetBoundsRelativeTo(System.Windows.FrameworkElement,System.Windows.UIElement)">
+            <summary>
+            Get the bounds of an element relative to another element.
+            </summary>
+            <param name="element">The element.</param>
+            <param name="otherElement">
+            The element relative to the other element.
+            </param>
+            <returns>
+            The bounds of the element relative to another element, or null if
+            the elements are not related.
+            </returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="element"/> is null.
+            </exception>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="otherElement"/> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.VisualTreeExtensions.InvokeOnLayoutUpdated(System.Windows.FrameworkElement,System.Action)">
+            <summary>
+            Perform an action when the element's LayoutUpdated event fires.
+            </summary>
+            <param name="element">The element.</param>
+            <param name="action">The action to perform.</param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="element"/> is null.
+            </exception>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="action"/> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.VisualTreeExtensions.GetLogicalChildren(System.Windows.FrameworkElement)">
+            <summary>
+            Retrieves all the logical children of a framework element using a 
+            breadth-first search. For performance reasons this method manually 
+            manages the stack instead of using recursion.
+            </summary>
+            <param name="parent">The parent framework element.</param>
+            <returns>The logical children of the framework element.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.VisualTreeExtensions.GetLogicalDescendents(System.Windows.FrameworkElement)">
+            <summary>
+            Retrieves all the logical descendents of a framework element using a 
+            breadth-first search. For performance reasons this method manually 
+            manages the stack instead of using recursion.
+            </summary>
+            <param name="parent">The parent framework element.</param>
+            <returns>The logical children of the framework element.</returns>
+        </member>
+        <member name="T:System.Windows.Controls.DockPanel">
+            <summary>
+            Arranges child elements around the edges of the panel.  Optionally, 
+            last added child element can occupy the remaining space.
+            </summary>
+            <QualityBand>Stable</QualityBand>
+        </member>
+        <member name="F:System.Windows.Controls.DockPanel._ignorePropertyChange">
+            <summary>
+            A value indicating whether a dependency property change handler
+            should ignore the next change notification.  This is used to reset
+            the value of properties without performing any of the actions in
+            their change handlers.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.DockPanel.LastChildFillProperty">
+            <summary>
+            Identifies the
+            <see cref="P:System.Windows.Controls.DockPanel.LastChildFill" />
+            dependency property.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.DockPanel.OnLastChildFillPropertyChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+            LastChildFillProperty property changed handler.
+            </summary>
+            <param name="d">DockPanel that changed its LastChildFill.</param>
+            <param name="e">Event arguments.</param>
+        </member>
+        <member name="M:System.Windows.Controls.DockPanel.GetDock(System.Windows.UIElement)">
+            <summary>
+            Gets the value of the
+            <see cref="P:System.Windows.Controls.DockPanel.Dock" /> attached
+            property for the specified element.
+            </summary>
+            <param name="element">
+            The element from which the property value is read.
+            </param>
+            <returns>
+            The <see cref="P:System.Windows.Controls.DockPanel.Dock" /> property
+            value for the element.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.DockPanel.SetDock(System.Windows.UIElement,System.Windows.Controls.Dock)">
+            <summary>
+            Sets the value of the
+            <see cref="P:System.Windows.Controls.DockPanel.Dock" /> attached
+            property for the specified element to the specified dock value.
+            </summary>
+            <param name="element">
+            The element to which the attached property is assigned.
+            </param>
+            <param name="dock">
+            The dock value to assign to the specified element.
+            </param>
+        </member>
+        <member name="F:System.Windows.Controls.DockPanel.DockProperty">
+            <summary>
+            Identifies the
+            <see cref="P:System.Windows.Controls.DockPanel.Dock" />
+            attached property.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.DockPanel.OnDockPropertyChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+            DockProperty property changed handler.
+            </summary>
+            <param name="d">UIElement that changed its Dock.</param>
+            <param name="e">Event arguments.</param>
+        </member>
+        <member name="M:System.Windows.Controls.DockPanel.#ctor">
+            <summary>
+            Initializes a new instance of the
+            <see cref="T:System.Windows.Controls.DockPanel" /> class.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.DockPanel.MeasureOverride(System.Windows.Size)">
+            <summary>
+            Measures the child elements of a
+            <see cref="T:System.Windows.Controls.DockPanel" /> in preparation
+            for arranging them during the
+            <see cref="M:System.Windows.Controls.DockPanel.ArrangeOverride(System.Windows.Size)" />
+            pass.
+            </summary>
+            <param name="constraint">
+            The area available to the
+            <see cref="T:System.Windows.Controls.DockPanel" />.
+            </param>
+            <returns>
+            The desired size of the
+            <see cref="T:System.Windows.Controls.DockPanel" />.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.DockPanel.ArrangeOverride(System.Windows.Size)">
+            <summary>
+            Arranges the child elements of the
+            <see cref="T:System.Windows.Controls.DockPanel" /> control.
+            </summary>
+            <param name="arrangeSize">
+            The area in the parent element that the
+            <see cref="T:System.Windows.Controls.DockPanel" /> should use to
+            arrange its child elements.
+            </param>
+            <returns>
+            The actual size of the
+            <see cref="T:System.Windows.Controls.DockPanel" /> after the child
+            elements are arranged. The actual size should always equal
+            <paramref name="arrangeSize" />.
+            </returns>
+        </member>
+        <member name="P:System.Windows.Controls.DockPanel.LastChildFill">
+            <summary>
+            Gets or sets a value indicating whether the last child element
+            added to a <see cref="T:System.Windows.Controls.DockPanel" />
+            resizes to fill the remaining space.
+            </summary>
+            <value>
+            True if the last element added resizes to fill the remaining space,
+            false to indicate the last element does not resize. The default is
+            true.
+            </value>
+        </member>
+        <member name="T:System.Windows.Controls.CollectionHelper">
+            <summary>
+            A set of extension methods for manipulating collections.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="M:System.Windows.Controls.CollectionHelper.IsReadOnly(System.Collections.IEnumerable)">
+            <summary>
+            Returns a value indicating whether a collection is read-only.
+            </summary>
+            <param name="collection">The collection to examine.</param>
+            <returns>A value indicating whether a collection is read-only.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.CollectionHelper.CanInsert(System.Collections.IEnumerable,System.Object)">
+            <summary>
+            Returns a value Indicating whether an item can be inserted in a 
+            collection.
+            </summary>
+            <param name="collection">The collection.</param>
+            <param name="item">The item to be inserted.</param>
+            <returns>A value Indicating whether an item can be inserted in a 
+            collection.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.CollectionHelper.Insert(System.Collections.IEnumerable,System.Int32,System.Object)">
+            <summary>
+            Inserts an item into the collection at an index.
+            </summary>
+            <param name="collection">The collection.</param>
+            <param name="index">The index at which to insert the item.</param> 
+            <param name="item">The item to be inserted.</param>
+        </member>
+        <member name="M:System.Windows.Controls.CollectionHelper.Count(System.Collections.IEnumerable)">
+            <summary>
+            Gets the number of items in the collection.
+            </summary>
+            <param name="collection">The collection.</param>
+            <returns>The number of items in the collection.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.CollectionHelper.Add(System.Collections.IEnumerable,System.Object)">
+            <summary>
+            Adds an item to the collection.
+            </summary>
+            <param name="collection">The collection.</param>
+            <param name="item">The item to be added.</param>
+        </member>
+        <member name="M:System.Windows.Controls.CollectionHelper.Remove(System.Collections.IEnumerable,System.Object)">
+            <summary>
+            Removes an item from the collection.
+            </summary>
+            <param name="collection">The collection.</param>
+            <param name="item">The item to be removed.</param>
+        </member>
+        <member name="M:System.Windows.Controls.CollectionHelper.RemoveAt(System.Collections.IEnumerable,System.Int32)">
+            <summary>
+            Removes an item at a given index from the collection.
+            </summary>
+            <param name="collection">The collection.</param>
+            <param name="index">The index of the item to be removed.</param>
+        </member>
+        <member name="T:System.Windows.Controls.CardPanel">
+            <summary>
+            Lays out elements by overlapping each successive item on top of the other.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="F:System.Windows.Controls.CardPanel.HorizontalMarginProperty">
+            <summary>
+            Identifies the HorizontalMargin dependency property.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.CardPanel.OnHorizontalMarginPropertyChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+            Called when the value of the HorizontalMargin property changes.
+            </summary>
+            <param name="d">Control that changed its HorizontalMargin.</param>
+            <param name="e">Event arguments.</param>
+        </member>
+        <member name="M:System.Windows.Controls.CardPanel.OnHorizontalMarginPropertyChanged(System.Double,System.Double)">
+            <summary>
+            Called when the value of the HorizontalMargin property changes.
+            </summary>
+            <param name="oldValue">The value to be replaced.</param>
+            <param name="newValue">The new value.</param>
+        </member>
+        <member name="F:System.Windows.Controls.CardPanel.VerticalMarginProperty">
+            <summary>
+            Identifies the VerticalMargin dependency property.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.CardPanel.OnVerticalMarginPropertyChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+            Called when the value of the VerticalMargin property changes.
+            </summary>
+            <param name="d">Control that changed its VerticalMargin.</param>
+            <param name="e">Event arguments.</param>
+        </member>
+        <member name="M:System.Windows.Controls.CardPanel.OnVerticalMarginPropertyChanged(System.Double,System.Double)">
+            <summary>
+            Called when the value of the VerticalMargin property changes.
+            </summary>
+            <param name="oldValue">The value to be replaced.</param>
+            <param name="newValue">The new value.</param>
+        </member>
+        <member name="M:System.Windows.Controls.CardPanel.MeasureOverride(System.Windows.Size)">
+            <summary>
+            Measures the children of the panel.
+            </summary>
+            <param name="availableSize">The available size.</param>
+            <returns>The size required by the children.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.CardPanel.ArrangeOverride(System.Windows.Size)">
+            <summary>
+            Arranges the children of the panel.
+            </summary>
+            <param name="finalSize">The final size.</param>
+            <returns>The size required by the children.</returns>
+        </member>
+        <member name="P:System.Windows.Controls.CardPanel.HorizontalMargin">
+            <summary>
+            Gets or sets the horizontal margin between items.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.CardPanel.VerticalMargin">
+            <summary>
+            Gets or sets the horizontal margin between items.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Windows.DataObject">
+            <summary>
+            Provides a basic implementation of the System.Windows.IDataObject interface,
+            which defines a format-independent mechanism for transferring data.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="T:Microsoft.Windows.IDataObject">
+            <summary>
+            Provides a format-independent mechanism for transferring data.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="M:Microsoft.Windows.IDataObject.GetData(System.String)">
+            <summary>
+            Retrieves a data object in a specified format; the data format is specified
+            by a string.
+            </summary>
+            <param name="format">A string that specifies what format to retrieve
+            the data as.</param>
+            <returns>A data object with the data in the specified format, or null if the data
+            is not available in the specified format.</returns>
+        </member>
+        <member name="M:Microsoft.Windows.IDataObject.GetData(System.Type)">
+            <summary>
+            Retrieves a data object in a specified format; the data format is specified
+            by a System.Type object.
+            </summary>
+            <param name="format">A System.Type object that specifies what format
+            to retrieve the data as.</param>
+            <returns>A data object with the data in the specified format, or null if the data
+            is not available in the specified format.</returns>
+        </member>
+        <member name="M:Microsoft.Windows.IDataObject.GetData(System.String,System.Boolean)">
+            <summary>
+            Retrieves a data object in a specified format, optionally converting the data to the specified format.
+            </summary>
+            <param name="format">A string that specifies what format to retrieve
+            the data as. See the System.Windows.DataFormats class for a set of predefined data formats.</param>
+            <param name="autoConvert">True to attempt to automatically convert the data to the specified format;
+            false for no data format conversion.    If this parameter is false, the method
+            returns data in the specified format if available, or null if the data is
+            not available in the specified format.</param>
+            <returns>A data object with the data in the specified format, or null if the data is not available in the specified format.</returns>
+        </member>
+        <member name="M:Microsoft.Windows.IDataObject.GetDataPresent(System.String)">
+            <summary>
+            Checks to see whether the data is available in, or can be converted 
+            to, a specified format; the data format is specified by a string.
+            </summary>
+            <param name="format">A string that specifies what format to check for.</param>
+            <returns>True if the data is in, or can be converted to, the specified format; otherwise,
+            false.</returns>
+        </member>
+        <member name="M:Microsoft.Windows.IDataObject.GetDataPresent(System.Type)">
+            <summary>
+            Checks to see whether the data is available in, or can be converted 
+            to, a specified format. The data format is specified by a 
+            System.Type object.
+            </summary>
+            <param name="format">A System.Type that specifies what format to 
+            check for. See the System.Windows.DataFormats class for a set of 
+            predefined data formats.</param>
+            <returns>True if the data is in, or can be converted to, the 
+            specified format; otherwise, false.</returns>
+        </member>
+        <member name="M:Microsoft.Windows.IDataObject.GetDataPresent(System.String,System.Boolean)">
+            <summary>
+            Determines whether the data is available in, or can be converted to, a format
+            specified by a System.Type object.
+            </summary>
+            <param name="format">A System.Type that specifies the format for the data.</param>
+            <param name="autoConvert">True to attempt to automatically convert 
+            the data to the specified format; false for no data format conversion.</param>
+            <returns>An object that contains the data in the specified format, 
+            or null if the data is unavailable in the specified format.</returns>
+        </member>
+        <member name="M:Microsoft.Windows.IDataObject.GetFormats">
+            <summary>
+            Returns a list of formats in which the data in this data object is stored,
+            or can be converted to.
+            </summary>
+            <returns>An array of strings, with each string specifying the name of a format that
+            this data object supports.</returns>
+        </member>
+        <member name="M:Microsoft.Windows.IDataObject.GetFormats(System.Boolean)">
+            <summary>
+            Returns a list of formats in which the data in this data object is stored.
+            A flag indicates whether to also include formats that the data can
+            be automatically converted to.
+            </summary>
+            <param name="autoConvert">True to attempt to automatically convert 
+            the data to the specified format; false for no data format conversion.</param>
+            <returns>An array of strings, with each string specifying the name of a format that
+            this data object supports.</returns>
+        </member>
+        <member name="M:Microsoft.Windows.IDataObject.SetData(System.Object)">
+            <summary>
+            Stores the specified data in this data object, automatically determining
+            the data format from the source object type.
+            </summary>
+            <param name="data">An object that represents the data to store in this data object.</param>
+        </member>
+        <member name="M:Microsoft.Windows.IDataObject.SetData(System.String,System.Object)">
+            <summary>
+            Stores the specified data in this data object, automatically determining
+            the data format from the source object type.
+            </summary>
+            <param name="format">A string that specifies the format for the data.</param>
+            <param name="data">An object that represents the data to store in this data object.</param>
+        </member>
+        <member name="M:Microsoft.Windows.IDataObject.SetData(System.Type,System.Object)">
+            <summary>
+            Stores the specified data in this data object, automatically determining
+            the data format from the source object type.
+            </summary>
+            <param name="format">A System.Type that specifies the format for the data.</param>
+            <param name="data">An object that represents the data to store in this data object.</param>
+        </member>
+        <member name="M:Microsoft.Windows.IDataObject.SetData(System.String,System.Object,System.Boolean)">
+            <summary>
+            Stores the specified data in this data object, automatically determining
+            the data format from the source object type.
+            </summary>
+            <param name="format">A string that specifies the format for the data.</param>
+            <param name="data">An object that represents the data to store in this data object.</param>
+            <param name="autoConvert">True to attempt to automatically convert 
+            the data to the specified format; false for no data format conversion.</param>
+        </member>
+        <member name="M:Microsoft.Windows.DataObject.#ctor">
+            <summary>
+            Initializes a new instance of the DataObject class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Windows.DataObject.#ctor(System.Object)">
+            <summary>
+            Initializes a new instance of the DataObject class.
+            </summary>
+            <param name="data">An object that represents the data to store in this data object.</param>
+        </member>
+        <member name="M:Microsoft.Windows.DataObject.GetData(System.String)">
+            <summary>
+            Returns data in a format specified by a string.
+            </summary>
+            <param name="format">A string that specifies the format for the 
+            data.</param>
+            <returns>An object that contains the data in the specified format, 
+            or null if the data is unavailable in the specified format.</returns>
+        </member>
+        <member name="M:Microsoft.Windows.DataObject.GetData(System.Type)">
+            <summary>
+            Returns a data object in a format specified by a System.Type object.
+            </summary>
+            <param name="format">A System.Type that specifies the format for the data.</param>
+            <returns>A data object with the data in the specified format, or null if the data
+            is unavailable in the specified format.</returns>
+        </member>
+        <member name="M:Microsoft.Windows.DataObject.GetData(System.String,System.Boolean)">
+            <summary>
+            Returns data in a format specified by a string.
+            </summary>
+            <param name="format">A string that specifies the format for the 
+            data.</param>
+            <param name="autoConvert">True to attempt to automatically convert 
+            the data to the specified format; false for no data format conversion.</param>
+            <returns>An object that contains the data in the specified format, 
+            or null if the data is unavailable in the specified format.</returns>
+        </member>
+        <member name="M:Microsoft.Windows.DataObject.GetDataPresent(System.String)">
+            <summary>
+            Determines whether the data is available in, or can be converted to, a format
+            specified by a string.
+            </summary>
+            <param name="format">A string that specifies the format for the data.</param>
+            <returns>True if the data is in, or can be converted to, the specified format; otherwise,
+            false.</returns>
+        </member>
+        <member name="M:Microsoft.Windows.DataObject.GetDataPresent(System.Type)">
+            <summary>
+            Determines whether the data is available in, or can be converted to, a format
+            specified by a System.Type object.
+            </summary>
+            <param name="format">A System.Type that specifies the format for the data.</param>
+            <returns>True if the data is in, or can be converted to, the specified format; otherwise,
+            false.</returns>
+        </member>
+        <member name="M:Microsoft.Windows.DataObject.GetDataPresent(System.String,System.Boolean)">
+            <summary>
+            Determines whether the data is available in, or can be converted to, a format
+            specified by a System.Type object.
+            </summary>
+            <param name="format">A System.Type that specifies the format for the data.</param>
+            <param name="autoConvert">True to attempt to automatically convert 
+            the data to the specified format; false for no data format conversion.</param>
+            <returns>An object that contains the data in the specified format, 
+            or null if the data is unavailable in the specified format.</returns>
+        </member>
+        <member name="M:Microsoft.Windows.DataObject.GetFormats">
+            <summary>
+            Returns a list of formats in which the data in this data object is stored,
+            or can be converted to.
+            </summary>
+            <returns>An array of strings, with each string specifying the name of a format that
+            this data object supports.</returns>
+        </member>
+        <member name="M:Microsoft.Windows.DataObject.GetFormats(System.Boolean)">
+            <summary>
+            Returns a list of formats in which the data in this data object is stored.
+            A Boolean flag indicates whether to also include formats that the data can
+            be automatically converted to.
+            </summary>
+            <param name="autoConvert">True to attempt to automatically convert 
+            the data to the specified format; false for no data format conversion.</param>
+            <returns>An array of strings, with each string specifying the name of a format that
+            this data object supports.</returns>
+        </member>
+        <member name="M:Microsoft.Windows.DataObject.SetData(System.Object)">
+            <summary>
+            Stores the specified data in this data object, automatically determining
+            the data format from the source object type.
+            </summary>
+            <param name="data">An object that represents the data to store in this data object.</param>
+        </member>
+        <member name="M:Microsoft.Windows.DataObject.SetData(System.String,System.Object)">
+            <summary>
+            Stores the specified data in this data object, automatically determining
+            the data format from the source object type.
+            </summary>
+            <param name="format">A string that specifies the format for the data.</param>
+            <param name="data">An object that represents the data to store in this data object.</param>
+        </member>
+        <member name="M:Microsoft.Windows.DataObject.SetData(System.Type,System.Object)">
+            <summary>
+            Stores the specified data in this data object, automatically determining
+            the data format from the source object type.
+            </summary>
+            <param name="format">A System.Type that specifies the format for the data.</param>
+            <param name="data">An object that represents the data to store in this data object.</param>
+        </member>
+        <member name="M:Microsoft.Windows.DataObject.SetData(System.String,System.Object,System.Boolean)">
+            <summary>
+            Stores the specified data in this data object, automatically determining
+            the data format from the source object type.
+            </summary>
+            <param name="format">A string that specifies the format for the data.</param>
+            <param name="data">An object that represents the data to store in this data object.</param>
+            <param name="autoConvert">True to attempt to automatically convert 
+            the data to the specified format; false for no data format conversion.</param>
+        </member>
+        <member name="P:Microsoft.Windows.DataObject.Data">
+            <summary>
+            Gets or sets the data.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Windows.DependencyObjectExtensions">
+            <summary>
+            A set of extension methods for DependencyObjects.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="M:Microsoft.Windows.DependencyObjectExtensions.RaiseRoutedEvent``1(System.Windows.DependencyObject,``0,System.Action{System.Windows.DependencyObject,``0})">
+            <summary>
+            Raises a routed event by executing an operation on an element and
+            all of its ancestors.
+            </summary>
+            <typeparam name="T">The type of the event arguments.</typeparam>
+            <param name="that">The element to raise the event on.</param>
+            <param name="eventArgs">Information about the event.</param>
+            <param name="action">An action that raises the event on a given
+            element.</param>
+            <returns>The event args after the event has been raised.</returns>
+        </member>
+        <member name="M:Microsoft.Windows.DependencyObjectExtensions.OnDragEnter(System.Windows.DependencyObject,Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Raises the attached DragEnter event on a element.
+            </summary>
+            <param name="element">The element to raise the event on.</param>
+            <param name="args">Information about the event.</param>
+        </member>
+        <member name="M:Microsoft.Windows.DependencyObjectExtensions.OnDragOver(System.Windows.DependencyObject,Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Raises the attached DragOver event on a element.
+            </summary>
+            <param name="element">The element to raise the event on.</param>
+            <param name="args">Information about the event.</param>
+        </member>
+        <member name="M:Microsoft.Windows.DependencyObjectExtensions.OnDragLeave(System.Windows.DependencyObject,Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Raises the attached DragLeave event on a element.
+            </summary>
+            <param name="element">The element to raise the event on.</param>
+            <param name="args">Information about the event.</param>
+        </member>
+        <member name="M:Microsoft.Windows.DependencyObjectExtensions.OnDrop(System.Windows.DependencyObject,Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Raises the attached Drop event on a element.
+            </summary>
+            <param name="element">The element to raise the event on.</param>
+            <param name="args">Information about the event.</param>
+        </member>
+        <member name="M:Microsoft.Windows.DependencyObjectExtensions.OnGiveFeedback(System.Windows.DependencyObject,Microsoft.Windows.GiveFeedbackEventArgs)">
+            <summary>
+            Raises the attached GiveFeedback event on a element.
+            </summary>
+            <param name="element">The element to raise the event on.</param>
+            <param name="args">Information about the event.</param>
+        </member>
+        <member name="M:Microsoft.Windows.DependencyObjectExtensions.OnQueryContinueDrag(System.Windows.DependencyObject,Microsoft.Windows.QueryContinueDragEventArgs)">
+            <summary>
+            Raises the attached QueryContinueDrag event on a element.
+            </summary>
+            <param name="element">The element to raise the event on.</param>
+            <param name="args">Information about the event.</param>
+        </member>
+        <member name="T:Microsoft.Windows.DragAction">
+            <summary>
+            Specifies how and if a drag-and-drop operation should continue.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="F:Microsoft.Windows.DragAction.Continue">
+            <summary>
+            The operation will continue.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Windows.DragAction.Drop">
+            <summary>
+            The operation will stop with a drop.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Windows.DragAction.Cancel">
+            <summary>
+            The operation is canceled with no drop message.
+            </summary>
+        </member>
+        <member name="T:System.Windows.Controls.DragDecorator">
+            <summary>
+            A content control that visually indicates what actions are available
+            during a drag operation.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="F:System.Windows.Controls.DragDecorator.IconPositionProperty">
+            <summary>
+            Identifies the icon position dependency property.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.DragDecorator.EffectsProperty">
+            <summary>
+            Identifies the Effects dependency property.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.DragDecorator.OnEffectsPropertyChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+            EffectsProperty property changed handler.
+            </summary>
+            <param name="d">DragContainer that changed its Effects.</param>
+            <param name="e">Event arguments.</param>
+        </member>
+        <member name="M:System.Windows.Controls.DragDecorator.OnEffectsPropertyChanged">
+            <summary>
+            Changes the appearance of the DragDecorator when the effects 
+            property is changed.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.DragDecorator.Update">
+            <summary>
+            Updates the visual state of the DragContainer.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.DragDecorator.#ctor">
+            <summary>
+            Initializes a new instance of the DragDecorator.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.DragDecorator.IconPosition">
+            <summary>
+            Gets or sets the icon position.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.DragDecorator.Effects">
+            <summary>
+            Gets or sets the drag drop effects.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Windows.DragDrop">
+            <summary>
+            Provides helper methods and fields for initiating drag-and-drop operations,
+            including a method to begin a drag-and-drop operation, and facilities for
+            adding and removing drag-and-drop related event handlers.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="F:Microsoft.Windows.DragDrop.DragEnterEvent">
+            <summary>
+            Identifies the System.Windows.DragDrop.DragEnter attached event.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Windows.DragDrop.DragLeaveEvent">
+            <summary>
+            Identifies the System.Windows.UIElement.DragLeave attached event.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Windows.DragDrop.DragOverEvent">
+            <summary>
+            Identifies the System.Windows.UIElement.DragOver attached event.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Windows.DragDrop.DropEvent">
+            <summary>
+            Identifies the System.Windows.UIElement.Drop attached event.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Windows.DragDrop.GiveFeedbackEvent">
+            <summary>
+            Identifies the System.Windows.UIElement.GiveFeedback attached event.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Windows.DragDrop.QueryContinueDragEvent">
+            <summary>
+            Identifies the System.Windows.UIElement.QueryContinueDrag attached event.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Windows.DragDrop._dragOperationInProgress">
+            <summary>
+            The drag operation in progress.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Windows.DragDrop.OnDragCompleted(System.Windows.DragDropCompletedEventArgs)">
+            <summary>
+            Raises the DragCompleted event.
+            </summary>
+            <param name="args">Information about the event.</param>
+        </member>
+        <member name="M:Microsoft.Windows.DragDrop.GetDragCompleted">
+            <summary>
+            Returns an observable that wraps the DragCompleted event.
+            </summary>
+            <returns>An observable that wraps the DragCompleted event.</returns>
+        </member>
+        <member name="M:Microsoft.Windows.DragDrop.RemoveDragEnterHandler(System.Windows.DependencyObject,Microsoft.Windows.DragEventHandler)">
+            <summary>
+            Removes a handler from the attached DragEnter event.
+            </summary>
+            <param name="element">The DependencyObject to attach an event handler for.</param>
+            <param name="handler">The event handler.</param>
+        </member>
+        <member name="M:Microsoft.Windows.DragDrop.AddDragEnterHandler(System.Windows.DependencyObject,Microsoft.Windows.DragEventHandler,System.Boolean)">
+            <summary>
+            Adds a handler to the attached DragEnter event.
+            </summary>
+            <param name="element">The DependencyObject to attach an event handler for.</param>
+            <param name="handler">The event handler.</param>
+            <param name="handledEventsToo">A value Indicating whether to invoke the handler if the event is handled.</param>
+        </member>
+        <member name="M:Microsoft.Windows.DragDrop.AddDragEnterHandler(System.Windows.DependencyObject,Microsoft.Windows.DragEventHandler)">
+            <summary>
+            Adds a handler to the attached DragEnter event.
+            </summary>
+            <param name="element">The DependencyObject to attach an event handler for.</param>
+            <param name="handler">The event handler.</param>
+        </member>
+        <member name="M:Microsoft.Windows.DragDrop.GetDragEnterHandlers(System.Windows.DependencyObject)">
+            <summary>
+            Gets the drag enter handler.
+            </summary>
+            <param name="element">The element to attach the event handler to.</param>
+            <returns>The event handler.</returns>
+        </member>
+        <member name="F:Microsoft.Windows.DragDrop.DragEnterHandlerProperty">
+            <summary>
+            Identifies the DragEnterHandler dependency property.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Windows.DragDrop.RemoveDragOverHandler(System.Windows.DependencyObject,Microsoft.Windows.DragEventHandler)">
+            <summary>
+            Removes a handler from the attached DragOver event.
+            </summary>
+            <param name="element">The DependencyObject to attach an event handler for.</param>
+            <param name="handler">The event handler.</param>
+        </member>
+        <member name="M:Microsoft.Windows.DragDrop.AddDragOverHandler(System.Windows.DependencyObject,Microsoft.Windows.DragEventHandler,System.Boolean)">
+            <summary>
+            Adds a handler to the attached DragOver event.
+            </summary>
+            <param name="element">The DependencyObject to attach an event handler for.</param>
+            <param name="handler">The event handler.</param>
+            <param name="handledEventsToo">A value Indicating whether to invoke the handler if the event is handled.</param>
+        </member>
+        <member name="M:Microsoft.Windows.DragDrop.AddDragOverHandler(System.Windows.DependencyObject,Microsoft.Windows.DragEventHandler)">
+            <summary>
+            Adds a handler to the attached DragOver event.
+            </summary>
+            <param name="element">The DependencyObject to attach an event handler for.</param>
+            <param name="handler">The event handler.</param>
+        </member>
+        <member name="M:Microsoft.Windows.DragDrop.GetDragOverHandlers(System.Windows.DependencyObject)">
+            <summary>
+            Gets the drag Over handler.
+            </summary>
+            <param name="element">The element to attach the event handler to.</param>
+            <returns>The event handler.</returns>
+        </member>
+        <member name="F:Microsoft.Windows.DragDrop.DragOverHandlerProperty">
+            <summary>
+            Identifies the DragOverHandler dependency property.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Windows.DragDrop.RemoveDragLeaveHandler(System.Windows.DependencyObject,Microsoft.Windows.DragEventHandler)">
+            <summary>
+            Removes a handler from the attached DragLeave event.
+            </summary>
+            <param name="element">The DependencyObject to attach an event handler for.</param>
+            <param name="handler">The event handler.</param>
+        </member>
+        <member name="M:Microsoft.Windows.DragDrop.AddDragLeaveHandler(System.Windows.DependencyObject,Microsoft.Windows.DragEventHandler,System.Boolean)">
+            <summary>
+            Adds a handler to the attached DragLeave event.
+            </summary>
+            <param name="element">The DependencyObject to attach an event handler for.</param>
+            <param name="handler">The event handler.</param>
+            <param name="handledEventsToo">A value Indicating whether to invoke the handler if the event is handled.</param>
+        </member>
+        <member name="M:Microsoft.Windows.DragDrop.AddDragLeaveHandler(System.Windows.DependencyObject,Microsoft.Windows.DragEventHandler)">
+            <summary>
+            Adds a handler to the attached DragLeave event.
+            </summary>
+            <param name="element">The DependencyObject to attach an event handler for.</param>
+            <param name="handler">The event handler.</param>
+        </member>
+        <member name="M:Microsoft.Windows.DragDrop.GetDragLeaveHandlers(System.Windows.DependencyObject)">
+            <summary>
+            Gets the drag Leave handler.
+            </summary>
+            <param name="element">The element to attach the event handler to.</param>
+            <returns>The event handler.</returns>
+        </member>
+        <member name="F:Microsoft.Windows.DragDrop.DragLeaveHandlerProperty">
+            <summary>
+            Identifies the DragLeaveHandler dependency property.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Windows.DragDrop.RemoveDropHandler(System.Windows.DependencyObject,Microsoft.Windows.DragEventHandler)">
+            <summary>
+            Removes a handler from the attached Drop event.
+            </summary>
+            <param name="element">The DependencyObject to attach an event handler for.</param>
+            <param name="handler">The event handler.</param>
+        </member>
+        <member name="M:Microsoft.Windows.DragDrop.AddDropHandler(System.Windows.DependencyObject,Microsoft.Windows.DragEventHandler,System.Boolean)">
+            <summary>
+            Adds a handler to the attached Drop event.
+            </summary>
+            <param name="element">The DependencyObject to attach an event handler for.</param>
+            <param name="handler">The event handler.</param>
+            <param name="handledEventsToo">A value Indicating whether to invoke the handler if the event is handled.</param>
+        </member>
+        <member name="M:Microsoft.Windows.DragDrop.AddDropHandler(System.Windows.DependencyObject,Microsoft.Windows.DragEventHandler)">
+            <summary>
+            Adds a handler to the attached Drop event.
+            </summary>
+            <param name="element">The DependencyObject to attach an event handler for.</param>
+            <param name="handler">The event handler.</param>
+        </member>
+        <member name="M:Microsoft.Windows.DragDrop.GetDropHandlers(System.Windows.DependencyObject)">
+            <summary>
+            Gets the drag Leave handler.
+            </summary>
+            <param name="element">The element to attach the event handler to.</param>
+            <returns>The event handler.</returns>
+        </member>
+        <member name="F:Microsoft.Windows.DragDrop.DropHandlerProperty">
+            <summary>
+            Identifies the DropHandler dependency property.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Windows.DragDrop.RemoveGiveFeedbackHandler(System.Windows.DependencyObject,Microsoft.Windows.GiveFeedbackEventHandler)">
+            <summary>
+            Removes a handler from the attached GiveFeedback event.
+            </summary>
+            <param name="element">The DependencyObject to attach an event handler for.</param>
+            <param name="handler">The event handler.</param>
+        </member>
+        <member name="M:Microsoft.Windows.DragDrop.AddGiveFeedbackHandler(System.Windows.DependencyObject,Microsoft.Windows.GiveFeedbackEventHandler,System.Boolean)">
+            <summary>
+            Adds a handler to the attached GiveFeedback event.
+            </summary>
+            <param name="element">The DependencyObject to attach an event handler for.</param>
+            <param name="handler">The event handler.</param>
+            <param name="handledEventsToo">A value Indicating whether to invoke the 
+            handler if the event has been handled.</param>
+        </member>
+        <member name="M:Microsoft.Windows.DragDrop.AddGiveFeedbackHandler(System.Windows.DependencyObject,Microsoft.Windows.GiveFeedbackEventHandler)">
+            <summary>
+            Adds a handler to the attached GiveFeedback event.
+            </summary>
+            <param name="element">The DependencyObject to attach an event handler for.</param>
+            <param name="handler">The event handler.</param>
+        </member>
+        <member name="M:Microsoft.Windows.DragDrop.GetGiveFeedbackHandlers(System.Windows.DependencyObject)">
+            <summary>
+            Gets the GiveFeedback Leave handler.
+            </summary>
+            <param name="element">The element to attach the event handler to.</param>
+            <returns>The event handler.</returns>
+        </member>
+        <member name="F:Microsoft.Windows.DragDrop.GiveFeedbackHandlerProperty">
+            <summary>
+            Identifies the GiveFeedbackHandler dependency property.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Windows.DragDrop.RemoveQueryContinueDragHandler(System.Windows.DependencyObject,Microsoft.Windows.QueryContinueDragEventHandler)">
+            <summary>
+            Removes a handler from the attached QueryContinueDrag event.
+            </summary>
+            <param name="element">The DependencyObject to attach an event handler for.</param>
+            <param name="handler">The event handler.</param>
+        </member>
+        <member name="M:Microsoft.Windows.DragDrop.AddQueryContinueDragHandler(System.Windows.DependencyObject,Microsoft.Windows.QueryContinueDragEventHandler,System.Boolean)">
+            <summary>
+            Adds a handler to the attached QueryContinueDrag event.
+            </summary>
+            <param name="element">The DependencyObject to attach an event handler for.</param>
+            <param name="handler">The event handler.</param>
+            <param name="handledEventsToo">A value Indicating whether to invoke the 
+            handler if the event has been handled.</param>
+        </member>
+        <member name="M:Microsoft.Windows.DragDrop.AddQueryContinueDragHandler(System.Windows.DependencyObject,Microsoft.Windows.QueryContinueDragEventHandler)">
+            <summary>
+            Adds a handler to the attached QueryContinueDrag event.
+            </summary>
+            <param name="element">The DependencyObject to attach an event handler for.</param>
+            <param name="handler">The event handler.</param>
+        </member>
+        <member name="M:Microsoft.Windows.DragDrop.GetQueryContinueDragHandlers(System.Windows.DependencyObject)">
+            <summary>
+            Gets the QueryContinueDrag Leave handler.
+            </summary>
+            <param name="element">The element to attach the event handler to.</param>
+            <returns>The event handler.</returns>
+        </member>
+        <member name="F:Microsoft.Windows.DragDrop.QueryContinueDragHandlerProperty">
+            <summary>
+            Identifies the QueryContinueDragHandler dependency property.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Windows.DragDrop.DoDragDrop(System.Windows.DependencyObject,System.Object,Microsoft.Windows.DragDropEffects,Microsoft.Windows.DragDropKeyStates)">
+            <summary>
+            Initiates a drag-and-drop operation.
+            </summary>
+            <param name="dragSource">A reference to the dependency object that is the source of the data being
+            dragged.</param>
+            <param name="data">A data object that contains the data being dragged.</param>
+            <param name="allowedEffects">One of the System.Windows.DragDropEffects values that specifies permitted
+            effects of the drag-and-drop operation.</param>
+            <param name="initialKeyState">The initial key state when the drag operation begins.</param>
+        </member>
+        <member name="P:Microsoft.Windows.DragDrop.IsDragInProgress">
+            <summary>
+            Gets a value indicating whether a drag is in progress.
+            </summary>
+        </member>
+        <member name="E:Microsoft.Windows.DragDrop.DragDropCompleted">
+            <summary>
+            An event that is raised when a drag operation is completed.
+            </summary>
+        </member>
+        <member name="T:System.Windows.DragDropCompletedEventArgs">
+            <summary>
+            Information about the SW.DragDropCompleted event.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="M:System.Windows.DragDropCompletedEventArgs.#ctor">
+            <summary>
+            Initializes a new instance of the DragCompletedEventArgs class.
+            </summary>
+        </member>
+        <member name="P:System.Windows.DragDropCompletedEventArgs.Effects">
+            <summary>
+            Gets the effect of the drag operation.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Windows.DragDropEffects">
+            <summary>
+            Specifies the effects of a drag-and-drop operation.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="F:Microsoft.Windows.DragDropEffects.Scroll">
+            <summary>
+            Scrolling is about to start or is currently occurring in the drop target.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Windows.DragDropEffects.All">
+            <summary>
+            The data is copied, removed from the drag source, and scrolled in the drop
+            target.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Windows.DragDropEffects.None">
+            <summary>
+            The drop target does not accept the data.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Windows.DragDropEffects.Copy">
+            <summary>
+            The data is copied to the drop target.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Windows.DragDropEffects.Move">
+            <summary>
+            The data from the drag source is moved to the drop target.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Windows.DragDropEffects.Link">
+            <summary>
+            The data from the drag source is linked to the drop target.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Windows.DragDropKeyStates">
+            <summary>
+            Specifies the current state of the modifier keys (SHIFT, CTRL, and ALT),
+            as well as the state of the mouse buttons.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="F:Microsoft.Windows.DragDropKeyStates.None">
+            <summary>
+            No modifier keys or mouse buttons are pressed.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Windows.DragDropKeyStates.LeftMouseButton">
+            <summary>
+            The left mouse button is pressed.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Windows.DragDropKeyStates.RightMouseButton">
+            <summary>
+            The right mouse button is pressed.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Windows.DragDropKeyStates.ShiftKey">
+            <summary>
+            The shift (SHIFT) key is pressed.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Windows.DragDropKeyStates.ControlKey">
+            <summary>
+            The control (CTRL) key is pressed.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Windows.DragDropKeyStates.MiddleMouseButton">
+            <summary>
+            The middle mouse button is pressed.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Windows.DragDropKeyStates.AltKey">
+            <summary>
+            The ALT key is pressed.
+            </summary>
+        </member>
+        <member name="T:System.Windows.Controls.DragDropTarget`2">
+            <summary>
+            A control that enabled drag and drop operations on an ItemsControl.
+            </summary>
+            <typeparam name="TItemsControlType">The type of the items control.</typeparam>
+            <typeparam name="TItemContainerType">The type of the item container.</typeparam>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="T:Microsoft.Windows.IAcceptDrop">
+            <summary>
+            An object that can handle routed drag and drop events.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="M:Microsoft.Windows.IAcceptDrop.OnDragEnter(Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Initiates a DragEnter event.
+            </summary>
+            <param name="args">Information about the event.</param>
+        </member>
+        <member name="M:Microsoft.Windows.IAcceptDrop.OnDragOver(Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Initiates a DragOver event.
+            </summary>
+            <param name="args">Information about the event.</param>
+        </member>
+        <member name="M:Microsoft.Windows.IAcceptDrop.OnDragLeave(Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Initiates a DragLeave event.
+            </summary>
+            <param name="args">Information about the event.</param>
+        </member>
+        <member name="M:Microsoft.Windows.IAcceptDrop.OnDrop(Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Initiates a Drop event.
+            </summary>
+            <param name="args">Information about the event.</param>
+        </member>
+        <member name="M:Microsoft.Windows.IAcceptDrop.OnGiveFeedback(Microsoft.Windows.GiveFeedbackEventArgs)">
+            <summary>
+            Initiates a GiveFeedback event.
+            </summary>
+            <param name="args">Information about the event.</param>
+        </member>
+        <member name="M:Microsoft.Windows.IAcceptDrop.OnQueryContinueDrag(Microsoft.Windows.QueryContinueDragEventArgs)">
+            <summary>
+            Initiates a QueryContinueDrag event.
+            </summary>
+            <param name="args">Information about the event.</param>
+        </member>
+        <member name="F:System.Windows.Controls.DragDropTarget`2.DragPopupName">
+            <summary>
+            The name of the DragPopup template part.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.DragDropTarget`2.DragContainerName">
+            <summary>
+            The name of the DragContainer template part.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.DragDropTarget`2.DragDecoratorName">
+            <summary>
+            The name of the DragDecorator template part.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.DragDropTarget`2.InsertionIndicatorName">
+            <summary>
+            The name of the insertion indicator template part.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.DragDropTarget`2.InsertionIndicatorContainerName">
+            <summary>
+            The name of the insertion indicator container.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.DragDropTarget`2.mouseCursorSize">
+            <summary>
+            The size of the mouse cursor.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.DragDropTarget`2._currentItemDragEventArgs">
+            <summary>
+            Information about an ongoing item drag event.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.DragDropTarget`2._keyStates">
+            <summary>
+            The state of the keys relevant to drag and drop operation.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.DragDropTarget`2._lastGiveFeedbackEffects">
+            <summary>
+            The effects specified in the last give feed back event.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.DragDropTarget`2._itemsControlChanged">
+            <summary>
+            An event raised when the ItemsControl is changed.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.DragDropTarget`2._itemDragStarted">
+            <summary>
+            An event raised when an item drag is started.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.DragDropTarget`2._itemDragCompleted">
+            <summary>
+            An event raised when an item drag is completed.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.DragDropTarget`2._itemWasDroppedOnSource">
+            <summary>
+            A value indicating whether an item was dropped on the drag source.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.DragDropTarget`2._dragPopup">
+            <summary>
+            Gets or sets the popup used to move the drag decorator with the 
+            mouse.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.DragDropTarget`2._dragContainer">
+            <summary>
+            Gets or sets the canvas used to move the drag decorator with the
+            mouse.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.DragDropTarget`2._dragDecorator">
+            <summary>
+            Gets or sets the drag decorator that moves with the mouse during a 
+            drag operation.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.DragDropTarget`2._insertionIndicator">
+            <summary>
+            Gets or sets the insertion indicator path used to indicate where an item
+            will be inserted.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.DragDropTarget`2._insertionIndicatorContainer">
+            <summary>
+            Gets or sets the insertion indicator container.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.DragDropTarget`2._adjustedDropTargetInsertionIndex">
+            <summary>
+            A drop target insertion index that is adjusted when items are being
+            moved within the source to the location of one of the selected items.  
+            It is necessary to adjust the insertion index in this case because the selected items 
+            are removed from the items control before being added again, and when added the
+            insertion index will be null because it wont be able to be retrieved using the
+            visual tree.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.DragDropTarget`2.AllowedSourceEffectsProperty">
+            <summary>
+            Identifies the AllowedSourceEffects dependency property.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.DragDropTarget`2._itemDragStarting">
+            <summary>
+            A list of ItemDragStarting event handlers.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.OnItemDragStarting(System.Windows.Controls.ItemDragEventArgs)">
+            <summary>
+            A method that raises the item drag starting event.
+            </summary>
+            <param name="eventArgs">Information about the drag starting event.
+            </param>
+        </member>
+        <member name="F:System.Windows.Controls.DragDropTarget`2._itemDroppedOnTargetHandlers">
+            <summary>
+            A list of ItemDragCompleted event handlers.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.OnItemDroppedOnTarget(System.Windows.Controls.ItemDragEventArgs)">
+            <summary>
+            Raises the ItemDragCompleted event.
+            </summary>
+            <param name="args">Information about the event.</param>
+        </member>
+        <member name="F:System.Windows.Controls.DragDropTarget`2._itemDroppedOnSource">
+            <summary>
+            A list of event handles for the ItemDroppedOnSource event.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.OnItemDroppedOnSource(Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Raises the ItemDroppedOnSource event.
+            </summary>
+            <param name="args">Information about the ItemDroppedOnSource event.
+            </param>
+        </member>
+        <member name="F:System.Windows.Controls.DragDropTarget`2._IndicatingInsertionLocation">
+            <summary>
+            A list of IndicatingInsertionLocation handlers.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.OnIndicatingInsertionLocation(System.Windows.Controls.IndicatingInsertionLocationEventArgs{`0})">
+            <summary>
+            A method which raises the IndicatingInsertionLocation event.
+            </summary>
+            <param name="args">Information about the event.</param>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.GetOrientation(`0)">
+            <summary>
+            Retrieves the orientation of the items host in the items control.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <returns>The orientation of the items host in the items control.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.Microsoft#Windows#IAcceptDrop#OnDragEnter(Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Raises the DragEnter event.
+            </summary>
+            <param name="args">Information about the event.</param>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.Microsoft#Windows#IAcceptDrop#OnDragOver(Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Raises the DragOver event.
+            </summary>
+            <param name="args">Information about the event.</param>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.Microsoft#Windows#IAcceptDrop#OnDragLeave(Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Raises the DragLeave event.
+            </summary>
+            <param name="args">Information about the event.</param>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.Microsoft#Windows#IAcceptDrop#OnDrop(Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Raises the Drop event.
+            </summary>
+            <param name="args">Information about the event.</param>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.Microsoft#Windows#IAcceptDrop#OnGiveFeedback(Microsoft.Windows.GiveFeedbackEventArgs)">
+            <summary>
+            Raises the GiveFeedback event.
+            </summary>
+            <param name="args">Information about the event.</param>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.Microsoft#Windows#IAcceptDrop#OnQueryContinueDrag(Microsoft.Windows.QueryContinueDragEventArgs)">
+            <summary>
+            Raises the QueryContinueDrag event.
+            </summary>
+            <param name="args">Information about the event.</param>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.OnDragEnter(Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Raises the DragEnter event.
+            </summary>
+            <param name="args">Information about the event.</param>
+        </member>
+        <member name="F:System.Windows.Controls.DragDropTarget`2._dragEnter">
+            <summary>
+            A list of event handles for the DragEnter event.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.OnDragOver(Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Raises the DragOver event.
+            </summary>
+            <param name="args">Information about the event.</param>
+        </member>
+        <member name="F:System.Windows.Controls.DragDropTarget`2._dragOver">
+            <summary>
+            A list of event handles for the DragOver event.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.OnDragLeave(Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Raises the DragLeave event.
+            </summary>
+            <param name="args">Information about the event.</param>
+        </member>
+        <member name="F:System.Windows.Controls.DragDropTarget`2._dragLeave">
+            <summary>
+            A list of event handles for the DragLeave event.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.DragDropTarget`2._drop">
+            <summary>
+            A list of event handles for the Drop event.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.OnDrop(Microsoft.Windows.DragEventArgs)">
+            <summary>
+            An method that invokes the Drop event.
+            </summary>
+            <param name="args">Information about the event.</param>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.OnGiveFeedback(Microsoft.Windows.GiveFeedbackEventArgs)">
+            <summary>
+            Raises the GiveFeedback event.
+            </summary>
+            <param name="args">Information about the event.</param>
+        </member>
+        <member name="F:System.Windows.Controls.DragDropTarget`2._giveFeedback">
+            <summary>
+            A list of event handles for the GiveFeedback event.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.OnQueryContinueDrag(Microsoft.Windows.QueryContinueDragEventArgs)">
+            <summary>
+            Raises the QueryContinueDrag event.
+            </summary>
+            <param name="args">Information about the event.</param>
+        </member>
+        <member name="F:System.Windows.Controls.DragDropTarget`2._queryContinueDrag">
+            <summary>
+            A list of event handles for the QueryContinueDrag event.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.#ctor">
+            <summary>
+            Initializes a new instance of the ItemsControlDragAdorner class.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.IsDragWithinDragSource(Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Returns a value indicating whether an item is being dragged within
+            the drag source.
+            </summary>
+            <param name="args">Information about the drag event.</param>
+            <returns>A value indicating whether an item is being dragged within
+            the drag source.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.GetDropTargetInsertionIndex(`0,Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Gets the adjusted insertion index within a drop target given information about a drag event.
+            </summary>
+            <param name="dropTarget">The drop target.</param>
+            <param name="args">Information about a drag event.</param>
+            <returns>The insertion index within the drop target.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.GetKeyStatesChanged">
+            <summary>
+            Gets an event that is raised whenever the drag and drop key states
+            are changed.
+            </summary>
+            <returns>An event that is raised whenever the drag and drop key 
+            states are changed.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.GetOffset(System.Windows.Input.MouseEventArgs,System.Windows.UIElement)">
+            <summary>
+            Retrieves the offset of a mouse position relative to an element.
+            </summary>
+            <param name="args">The mouse event arguments.</param>
+            <param name="source">The element to use as the origin.</param>
+            <returns>The offset of a mouse position relative to an element.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.GetItemDragStarting">
+            <summary>
+            Returns an observable that raises whenever a drag operation begins
+            on an item.
+            </summary>
+            <returns>An observable that raises whenever a drag operation begins
+            on an item.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.GetAllowedEffects(`0)">
+            <summary>
+            Returns the allowed effects for an item drag operation.  Excludes
+            move if an item cannot be removed from the items control.
+            </summary>
+            <param name="itemsControl">The items control to examine to 
+            determine the allowed effects.</param>
+            <returns>The allowed effects for an item drag operation.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.OnApplyTemplate">
+            <summary>
+            This method is invoked when the template is applied.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.OnDragging(System.Windows.Input.MouseEventArgs)">
+            <summary>
+            This method moves the drag decorator with the mouse when the mouse
+            position changes during a drag operation.
+            </summary>
+            <param name="args">Information about the event.</param>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.OnItemDragStarted(System.Windows.Controls.ItemDragEventArgs)">
+            <summary>
+            This method initializes graphical elements when an item drag 
+            operation begins.
+            </summary>
+            <param name="args">Information about the event.</param>
+        </member>
+        <member name="F:System.Windows.Controls.DragDropTarget`2._itemDragCompletedHandlers">
+            <summary>
+            A list of event handles for the ItemDragCompleted event.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.InternalOnItemDragCompleted(System.Windows.Controls.ItemDragEventArgs)">
+            <summary>
+            This method hides graphical elements when a drag operation 
+            completes.  
+            </summary>
+            <param name="args">Information about the event.</param>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.OnItemDragCompleted(System.Windows.Controls.ItemDragEventArgs)">
+            <summary>
+            This method is invoked when an item drag is completed.
+            </summary>
+            <param name="args">Information about the event.</param>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.OnDragEvent(Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Updates the drag event information whenever a drag event occurs.
+            </summary>
+            <param name="args">Information about the event.</param>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.GetSelectionCollection(System.Object)">
+            <summary>
+            Gets a selection collection from the data in a drag operation.
+            </summary>
+            <param name="data">The data being transferred by the drag
+            operation.</param>
+            <returns>A selection collection containing the data.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.OnDropOverride(Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Adds data to the drop target.
+            </summary>
+            <param name="args">Information about the Drop event.</param>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.RemoveDataFromItemsControl(`0,System.Object)">
+            <summary>
+            Removes data from an ItemsControl.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <param name="data">The data to remove from the ItemsControl.</param>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.InsertItem(`0,System.Int32,System.Object)">
+            <summary>
+            Inserts an item into an items control.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <param name="index">The index at which to insert the item.</param>
+            <param name="data">The data to be inserted.</param>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.AddItem(`0,System.Object)">
+            <summary>
+            Adds an item to an items control.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <param name="data">The data to be inserted.</param>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.RemoveItem(`0,System.Object)">
+            <summary>
+            Removes an item from an items control.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <param name="data">The data to be removed.</param>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.RemoveItemAtIndex(`0,System.Int32)">
+            <summary>
+            Removes an item from an items control by index.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <param name="index">The index of the item to be removed.</param>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.GetItemCount(`0)">
+            <summary>
+            Gets the number of items in an items control.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <returns>The number of items in the items control.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.ContainerFromIndex(`0,System.Int32)">
+            <summary>
+            Retrieves the item container at a given index.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <param name="index">The index at which to retrieve the container.
+            </param>
+            <returns>The item container at a given index.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.GetItemsHost(`0)">
+            <summary>
+            Retrieves the items host for a given items control.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <returns>The items host for a given items control.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.IndexFromContainer(`0,`1)">
+            <summary>
+            Retrieves the index of an item container.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <param name="itemContainer">The item container.</param>
+            <returns>The index of an item container.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.ItemFromContainer(`0,`1)">
+            <summary>
+            Gets the item from an item container.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <param name="itemContainer">The item container.</param>
+            <returns>The data contained by the item container.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.CanRemove(`0)">
+            <summary>
+            Returns a value indicating whether an item can be removed from the
+            items control.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <returns>A value indicating whether an item can be removed from the
+            items control.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.CanAddItem(`0,System.Object)">
+            <summary>
+            Returns a value indicating whether an item can be added to the
+            items control.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <param name="data">The data to be added.</param>
+            <returns>A value indicating whether an item can be added to the
+            items control.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.IsItemContainerOfItemsControl(`0,System.Windows.DependencyObject)">
+            <summary>
+            Returns a value indicating whether a container belongs to an items 
+            control.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <param name="itemContainer">The item container.</param>
+            <returns>A value indicating whether a container belongs to an items 
+            control.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.GetItemsControlAncestor(System.Windows.DependencyObject)">
+            <summary>
+            Returns the items control ancestor of a dependency object.
+            </summary>
+            <param name="dependencyObject">The dependency object to retrieve the
+            element for.</param>
+            <returns>The items control ancestor of the dependency object.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.GetItemContainerAncestor(`0,System.Windows.DependencyObject)">
+            <summary>
+            Returns the item container ancestor of a dependency object.
+            </summary>
+            <param name="itemsControl">The items control that contains the
+            item container.</param>
+            <param name="dependencyObject">The dependency object.</param>
+            <returns>The item container ancestor of the dependency object.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.GetInsertionIndicatorGeometry(`0,System.Int32,Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Returns a geometry to use for the insertion indicator given 
+            an item container, the orientation of the items host panel, and a 
+            value indicating whether to insert before or after the item 
+            container.
+            </summary>
+            <param name="dropTarget">The drop target.</param>
+            <param name="insertionIndex">The index at which to insert the item.
+            </param>
+            <param name="dragEventArgs">Information about the drag event.
+            </param>
+            <returns>The geometry to use for the insertion indicator given 
+            information about an IndicatingInsertionLocation event.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.CanScroll(`0)">
+            <summary>
+            Returns a value indicating whether a given items control
+            can scroll.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <returns>The value indicating whether the given items control
+            can scroll.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.ScrollIntoView(`0,`1)">
+            <summary>
+            Scrolls a given item container into the view.
+            </summary>
+            <param name="itemsControl">The items control that contains
+            the item container.</param>
+            <param name="itemContainer">The item container to scroll into
+            view.</param>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.GetDropTarget(Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Retrieves the drop target of a drag event.
+            </summary>
+            <param name="args">Information about the drag event.</param>
+            <returns>The drop target of a drag event.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.DragDropTarget`2.GetDropTargetInsertionIndexOverride(`0,Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Gets the insertion index within a drop target given information about a drag event.
+            </summary>
+            <param name="dropTarget">The drop target.</param>
+            <param name="args">Information about a drag event.</param>
+            <returns>The insertion index within the drop target.</returns>
+        </member>
+        <member name="P:System.Windows.Controls.DragDropTarget`2.CurrentItemDragEventArgs">
+            <summary>
+            Gets information about an ongoing item drag event.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.DragDropTarget`2.AllowedSourceEffects">
+            <summary>
+            Gets or sets the allowed effects when this DragDropTarget is the drag source.
+            </summary>
+        </member>
+        <member name="E:System.Windows.Controls.DragDropTarget`2.ItemDragStarting">
+            <summary>
+            An event raised when a drag operation is starting on an item.
+            </summary>
+        </member>
+        <member name="E:System.Windows.Controls.DragDropTarget`2.ItemDroppedOnTarget">
+            <summary>
+            This event is raised when an item is dropped on a target.
+            </summary>
+        </member>
+        <member name="E:System.Windows.Controls.DragDropTarget`2.ItemDroppedOnSource">
+            <summary>
+            An event raised when the an item is dropped onto the adorner.
+            </summary>
+        </member>
+        <member name="E:System.Windows.Controls.DragDropTarget`2.DragEnter">
+            <summary>
+            An event raised when the an item is dragged into the adorner.
+            </summary>
+        </member>
+        <member name="E:System.Windows.Controls.DragDropTarget`2.DragOver">
+            <summary>
+            An event raised when the an item is dragged over the adorner.
+            </summary>
+        </member>
+        <member name="E:System.Windows.Controls.DragDropTarget`2.DragLeave">
+            <summary>
+            An event raised when the an item is dragged out of the adorner.
+            </summary>
+        </member>
+        <member name="E:System.Windows.Controls.DragDropTarget`2.Drop">
+            <summary>
+            An event raised when the an item is dropped onto the adorner.
+            </summary>
+        </member>
+        <member name="E:System.Windows.Controls.DragDropTarget`2.GiveFeedback">
+            <summary>
+            An event raised when the feedback about the drag operations is 
+            requested from the adorner.
+            </summary>
+        </member>
+        <member name="E:System.Windows.Controls.DragDropTarget`2.QueryContinueDrag">
+            <summary>
+            An event raised when the adorner is queries regarding the drag 
+            operation.
+            </summary>
+        </member>
+        <member name="E:System.Windows.Controls.DragDropTarget`2.ItemDragCompleted">
+            <summary>
+            An event raised when the an item drag is completed.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Windows.DragEventArgs">
+            <summary>
+            Contains arguments relevant to all drag-and-drop events (System.Windows.DragDrop.DragEnter,
+            System.Windows.DragDrop.DragLeave, System.Windows.DragDrop.DragOver, and
+            System.Windows.DragDrop.Drop).
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="T:Microsoft.Windows.ExtendedRoutedEventArgs">
+            <summary>
+            Contains state information and event data associated with a routed event.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="M:Microsoft.Windows.ExtendedRoutedEventArgs.#ctor">
+            <summary>
+            Initializes a new instance of the ExtendedRoutedEventArgs class.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Windows.ExtendedRoutedEventArgs.Handled">
+            <summary>
+            Gets or sets a value indicating whether the present state of the 
+            event handling for a routed event as it travels the route.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Windows.ExtendedRoutedEventArgs.OriginalSource">
+            <summary>
+            Gets the original reporting source as determined by pure hit testing, before
+            any possible System.Windows.RoutedEventArgs.Source adjustment by a parent
+            class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Windows.DragEventArgs.#ctor">
+            <summary>
+            Initializes a new instance of the DragEventArgs class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Windows.DragEventArgs.#ctor(Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Initializes a new instance of the DragEventArgs class.
+            </summary>
+            <param name="args">The DragEventArgs object to use as the base for
+            this DragEventArgs.</param>
+        </member>
+        <member name="M:Microsoft.Windows.DragEventArgs.GetPosition(System.Windows.UIElement)">
+            <summary>
+            Returns a drop point that is relative to a specified System.Windows.UIElement.
+            </summary>
+            <param name="relativeTo">A UIElement object for which to get a relative drop point.</param>
+            <returns>A drop point that is relative to the element specified in relativeTo.</returns>
+        </member>
+        <member name="P:Microsoft.Windows.DragEventArgs.AllowedEffects">
+            <summary>
+            Gets a member of the System.Windows.DragDropEffects enumeration that specifies
+            which operations are allowed by the originator of the drag event.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Windows.DragEventArgs.Data">
+            <summary>
+            Gets a data object that contains the data associated with the corresponding
+            drag event.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Windows.DragEventArgs.Effects">
+            <summary>
+            Gets or sets the target drop-and-drop operation.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Windows.DragEventArgs.MouseEventArgs">
+            <summary>
+            Gets or sets the MouseEventArgs related to the DragEventArgs.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Windows.DragEventHandler">
+            <summary>
+            Represents a method that will handle drag-and-drop routed events, for example
+            System.Windows.UIElement.DragEnter.
+            </summary>
+            <param name="sender">The object where the event handler is attached.</param>
+            <param name="e">The event data.</param>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="T:Microsoft.Windows.DragOperation">
+            <summary>
+            An asynchronous drag operation.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="F:Microsoft.Windows.DragOperation.MouseOverPulseIntervalInMilliseconds">
+            <summary>
+            The interval at which to pulse DragOver events when the mouse
+            isn't moving.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Windows.DragOperation._dragStartEventArgs">
+            <summary>
+            Information retrieved when the drag operation began.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Windows.DragOperation._allowedEffects">
+            <summary>
+            The effects authorized by the drag source.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Windows.DragOperation._lastDragEventArgs">
+            <summary>
+            Information about the last drag event.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Windows.DragOperation._lastGiveFeedbackEventArgs">
+            <summary>
+            Information about the last give feedback event.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Windows.DragOperation._dragStarted">
+            <summary>
+            An event that is raised when a drag operations is started.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Windows.DragOperation._dragStarting">
+            <summary>
+            An event that is raised when a drag operations is starting.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Windows.DragOperation._dragSourceQueryContinueDrag">
+            <summary>
+            An event that is raised when the drag source should be queried 
+            whether to continue the drag operation.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Windows.DragOperation._dragCompleted">
+            <summary>
+            An event that is raised when the drag operation is completed.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Windows.DragOperation._dragSource">
+            <summary>
+            The source of the data being dragged.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Windows.DragOperation._keyStates">
+            <summary>
+            The state of the input keys relevant to drag operations.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Windows.DragOperation._currentDragOverElement">
+            <summary>
+            The element currently being dragged over.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Windows.DragOperation._escapePressed">
+            <summary>
+            A value indicating whether the escape key is pressed.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Windows.DragOperation.#ctor(System.Windows.DependencyObject,System.Object,Microsoft.Windows.DragDropEffects,Microsoft.Windows.DragDropKeyStates)">
+            <summary>
+            Initializes a new instance of the DragOperation class.
+            </summary>
+            <param name="dragSource">The source of the drag operation.</param>
+            <param name="data">The data associated with the drag operation.
+            </param>
+            <param name="allowedEffects">The allowed effects of the drag 
+            operation.
+            </param>
+            <param name="initialKeyState">The initial state of the keys relevant 
+            to drag operations.</param>
+        </member>
+        <member name="M:Microsoft.Windows.DragOperation.Subscribe(System.Windows.Controls.Internals.IObserver{Microsoft.Windows.DragDropEffects})">
+            <summary>
+            This method starts the drag operation and sends the results to 
+            an observer.
+            </summary>
+            <param name="observer">The observer listening for the result of
+            the drag operation.</param>
+            <returns>A disposable object used to detach from a drag operation.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Windows.DragOperation.GetDragOverOriginalSource(Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Retrieves the original source of a new DragOver event.  Attempts to
+            determine the original source by finding the the deepest element
+            in the tree that the mouse is over.
+            </summary>
+            <param name="args">Information about the drag event.</param>
+            <returns>The original source of a new DragOver event.</returns>
+        </member>
+        <member name="M:Microsoft.Windows.DragOperation.RaiseRoutedDragEvent(System.Windows.DependencyObject,Microsoft.Windows.DragEventArgs,System.Action{System.Windows.DependencyObject,Microsoft.Windows.DragEventArgs})">
+            <summary>
+            Raises a routed drag event and stores information about the drag
+            event.
+            </summary>
+            <param name="element">An element that accepts a drop.</param>
+            <param name="eventArgs">Information about the drag event.</param>
+            <param name="raiseAction">An action that raises the specific drag event.
+            </param>
+            <returns>Information about the drag event that may have been
+            modified by handlers.</returns>
+        </member>
+        <member name="M:Microsoft.Windows.DragOperation.RaiseDragSourceEvents(Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Raises the GiveFeedback and QueryContinueDrag events on the drag
+            source.
+            </summary>
+            <param name="args">Information about the last drag event.</param>
+        </member>
+        <member name="M:Microsoft.Windows.DragOperation.GetDragDropEffects(Microsoft.Windows.DragDropEffects)">
+            <summary>
+            Returns the allowed effects by analyzing the state of the keys 
+            pressed.  If the control key is pressed the user is requesting a 
+            copy. If copy is available the effect will be only copy, if not 
+            available the effect will be None.
+            </summary>
+            <param name="allowedEffects">The allowed effects.</param>
+            <returns>The effects of the drag operation.</returns>
+        </member>
+        <member name="M:Microsoft.Windows.DragOperation.OnDragSourceGiveFeedback(Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Raises the GiveFeedback event on the drag source.
+            </summary>
+            <param name="args">Information about the GiveFeedback event.
+            </param>
+        </member>
+        <member name="M:Microsoft.Windows.DragOperation.OnDragSourceQueryContinueDrag">
+            <summary>
+            Raises the QueryContinueDragEvent on the drag source.
+            </summary>
+            <returns>Information about the QueryContinueDrag event.</returns>
+        </member>
+        <member name="M:Microsoft.Windows.DragOperation.OnCancel">
+            <summary>
+            This method is invoked when the drag operation is cancelled.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Windows.DragOperation.OnTargetDrop">
+            <summary>
+            This method raises the Drop event.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Windows.DragOperation.GetMouseMoveDragOver">
+            <summary>
+            Gets an event raised when an item is dragged over any object in the 
+            visual tree.
+            </summary>
+            <returns>An event raised when an item is dragged over any object in the 
+            visual tree.</returns>
+        </member>
+        <member name="M:Microsoft.Windows.DragOperation.OnDragEnter(System.Object,Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Raises the DragEnter event.
+            </summary>
+            <param name="sender">The source of the event.</param>
+            <param name="eventArgs">Information about the event.</param>
+        </member>
+        <member name="M:Microsoft.Windows.DragOperation.OnDragOver(System.Object,Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Raises the DragOver event.
+            </summary>
+            <param name="sender">The source of the event.</param>
+            <param name="eventArgs">Information about the event.</param>
+        </member>
+        <member name="M:Microsoft.Windows.DragOperation.OnDragLeave">
+            <summary>
+            Raises the DragLeave event.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Windows.DragOperation.IsDragging">
+            <summary>
+            Gets or sets a value indicating whether a drag operation is in 
+            process.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Windows.DragOperation.KeyStates">
+            <summary>
+            Gets or sets the state of the input keys relevant to drag 
+            operations.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Windows.ExtendedRoutedEvent">
+            <summary>
+            Represents and identifies a routed event and declares its characteristics.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="M:Microsoft.Windows.ExtendedRoutedEvent.#ctor">
+            <summary>
+            Creates a new instance of the ExtendedRoutedEvent class.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Windows.ExtendedRoutedEventHandlerCollection`2">
+            <summary>
+            Stores a collection of routed event handlers.
+            </summary>
+            <typeparam name="THandler">The type of the event handler.</typeparam>
+            <typeparam name="TEventArgs">The type of the event arguments.
+            </typeparam>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="F:Microsoft.Windows.ExtendedRoutedEventHandlerCollection`2._handlers">
+            <summary>
+            A collection of handlers and flags indicating whether to raise 
+            invoke the handler if the event has already been handled.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Windows.ExtendedRoutedEventHandlerCollection`2.#ctor(System.Action{`0,`1})">
+            <summary>
+            Initializes a new instance of the ExtendedRoutedEventHandlerCollection class.
+            </summary>
+            <param name="raiseAction">The action invoked when the event is
+            raised.</param>
+        </member>
+        <member name="M:Microsoft.Windows.ExtendedRoutedEventHandlerCollection`2.Add(`0)">
+            <summary>
+            Adds a handler to the collection.
+            </summary>
+            <param name="handler">The handler to add to the collection.</param>
+        </member>
+        <member name="M:Microsoft.Windows.ExtendedRoutedEventHandlerCollection`2.Add(`0,System.Boolean)">
+            <summary>
+            Adds a handler to the collection.
+            </summary>
+            <param name="handler">The handler to add to the collection.</param>
+            <param name="handledEventsToo">A value indicating whether to invoke
+            the handler if the event has been handled.</param>
+        </member>
+        <member name="M:Microsoft.Windows.ExtendedRoutedEventHandlerCollection`2.Remove(`0)">
+            <summary>
+            Removes a handler from the collection.
+            </summary>
+            <param name="handler">The handler to remove from the collection.
+            </param>
+        </member>
+        <member name="M:Microsoft.Windows.ExtendedRoutedEventHandlerCollection`2.Raise(`1)">
+            <summary>
+            Raises the event.
+            </summary>
+            <param name="args">Information about the event.</param>
+        </member>
+        <member name="P:Microsoft.Windows.ExtendedRoutedEventHandlerCollection`2.RaiseAction">
+            <summary>
+            Gets an action invoked when the event is raised.
+            </summary>
+        </member>
+        <member name="T:System.Linq.FunctionalProgramming">
+            <summary>
+            Collection of functions for functional programming tasks.
+            </summary>
+        </member>
+        <member name="M:System.Linq.FunctionalProgramming.TraverseBreadthFirst``1(``0,System.Func{``0,System.Collections.Generic.IEnumerable{``0}},System.Func{``0,System.Boolean})">
+            <summary>
+            Traverses a tree by accepting an initial value and a function that 
+            retrieves the child nodes of a node.
+            </summary>
+            <typeparam name="T">The type of the stream.</typeparam>
+            <param name="initialNode">The initial node.</param>
+            <param name="getChildNodes">A function that retrieves the child
+            nodes of a node.</param>
+            <param name="traversePredicate">A predicate that evaluates a node
+            and returns a value indicating whether that node and it's children
+            should be traversed.</param>
+            <returns>A stream of nodes.</returns>
+        </member>
+        <member name="T:Microsoft.Windows.GiveFeedbackEventArgs">
+            <summary>
+            Contains arguments for the System.Windows.DragDrop.GiveFeedback event.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="M:Microsoft.Windows.GiveFeedbackEventArgs.#ctor">
+            <summary>
+            Initializes a new instance of the GiveFeedbackEventArgs class.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Windows.GiveFeedbackEventArgs.Effects">
+            <summary>
+            Gets a value that indicates the effects of drag-and-drop operation.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Windows.GiveFeedbackEventHandler">
+            <summary>
+            Represents a method that will handle the feedback routed event from in-process
+            drag-and-drop operations, for instance System.Windows.UIElement.GiveFeedback.
+            </summary>
+            <param name="sender">The object where the event handler is attached.</param>
+            <param name="e">The event data.</param>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="T:System.Windows.IDataObjectExtensions">
+            <summary>
+            A collection of extension methods for the SW.IDataObject type.
+            </summary>
+        </member>
+        <member name="M:System.Windows.IDataObjectExtensions.GetData(Microsoft.Windows.IDataObject)">
+            <summary>
+            Retrieves the data based using the first acceptable format.
+            </summary>
+            <param name="that">The data object.</param>
+            <returns>The data retrieved from the data object.</returns>
+        </member>
+        <member name="T:System.Windows.Controls.IndicatingInsertionLocationEventArgs`1">
+            <summary>
+            Information about the IndicatingInsertionLocation event.
+            </summary>
+            <typeparam name="TItemsControlType">The type of the control that 
+            contains the items that can be dragged.</typeparam>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="M:System.Windows.Controls.IndicatingInsertionLocationEventArgs`1.GetPosition(System.Windows.UIElement)">
+            <summary>
+            Returns a drop point that is relative to a specified System.Windows.UIElement.
+            </summary>
+            <param name="relativeTo">A UIElement object for which to get a relative drop point.</param>
+            <returns>A drop point that is relative to the element specified in relativeTo.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.IndicatingInsertionLocationEventArgs`1.#ctor">
+            <summary>
+            Initializes a new instance of the IndicationInsertionLocationEventArgs class.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.IndicatingInsertionLocationEventArgs`1.DragEventArgs">
+            <summary>
+            Gets or sets the SW.DragEventArgs related to the event.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.IndicatingInsertionLocationEventArgs`1.DropTarget">
+            <summary>
+            Gets the drop target.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.IndicatingInsertionLocationEventArgs`1.InsertionIndex">
+            <summary>
+            Gets the insertion index.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.IndicatingInsertionLocationEventArgs`1.InsertionIndicatorGeometry">
+            <summary>
+            Gets or sets the geometry to use to indicate the insertion point.
+            </summary>
+        </member>
+        <member name="T:System.Windows.Controls.ItemDragEventArgs">
+            <summary>
+            Information describing a drag event on a UIElement.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="M:System.Windows.Controls.ItemDragEventArgs.RemoveDataFromDragSource">
+            <summary>
+            This method removes the data from the drag source.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.ItemDragEventArgs.#ctor">
+            <summary>
+            Initializes a new instance of the ItemDragEventArgs class.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.ItemDragEventArgs.#ctor(System.Windows.Controls.ItemDragEventArgs)">
+            <summary>
+            Initializes a new instance of the ItemDragEventArgs class using an
+            existing instance.
+            </summary>
+            <param name="args">The instance to use as the template when creating
+            the new instance.</param>
+        </member>
+        <member name="P:System.Windows.Controls.ItemDragEventArgs.Handled">
+            <summary>
+            Gets or sets a value indicating whether an item drag
+            operation was handled.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.ItemDragEventArgs.DataRemovedFromDragSource">
+            <summary>
+            Gets a value indicating whether removing data
+            from the source is handled by the target.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.ItemDragEventArgs.RemoveDataFromDragSourceAction">
+            <summary>
+            Gets or sets an action that removes data from the drag source.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.ItemDragEventArgs.KeyStates">
+            <summary>
+            Gets the key states.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.ItemDragEventArgs.AllowedEffects">
+            <summary>
+            Gets or sets the allowed effects.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.ItemDragEventArgs.Effects">
+            <summary>
+            Gets or sets the effects of the completed drag operation.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.ItemDragEventArgs.DragSource">
+            <summary>
+            Gets or sets the control that is the source of the drag.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.ItemDragEventArgs.Data">
+            <summary>
+            Gets or sets the data associated with the item container being dragged.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.ItemDragEventArgs.DragDecoratorContentMouseOffset">
+            <summary>
+            Gets or sets the mouse offset from the item being dragged at the 
+            beginning of the drag operation.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.ItemDragEventArgs.DragDecoratorContent">
+            <summary>
+            Gets or sets the content to insert into the DragDecorator.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.ItemDragEventArgs.Cancel">
+            <summary>
+            Gets or sets a value indicating whether to cancel the action.
+            </summary>
+        </member>
+        <member name="T:System.Windows.Controls.ItemsControlDragDropTarget`2">
+            <summary>
+            A control that enabled drag and drop operations on an TItemsControl.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+            <typeparam name="TItemsControl">The type of the control that contains 
+            the items that can be dragged.</typeparam>
+            <typeparam name="TItemContainerType">The type of the item container.</typeparam>
+        </member>
+        <member name="F:System.Windows.Controls.ItemsControlDragDropTarget`2.ScrollItemAnimationDurationProperty">
+            <summary>
+            Identifies the ScrollItemIntoViewAnimationDuration dependency property.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.ItemsControlDragDropTarget`2.CanAddItem(`0,System.Object)">
+            <summary>
+            Returns a value indicating whether an item can be added to the
+            items control.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <param name="data">The data to be added.</param>
+            <returns>A value indicating whether an item can be added to the
+            items control.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.ItemsControlDragDropTarget`2.GetItemCount(`0)">
+            <summary>
+            Retrieves the number of items in an items control.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <returns>The number of items in the items control.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.ItemsControlDragDropTarget`2.ContainerFromIndex(`0,System.Int32)">
+            <summary>
+            Retrieves the item container at a given index.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <param name="index">The index at which to retrieve the container.
+            </param>
+            <returns>The item container at a given index.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.ItemsControlDragDropTarget`2.IndexFromContainer(`0,`1)">
+            <summary>
+            Retrieves the index of an item container.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <param name="itemContainer">The item container.</param>
+            <returns>The index of an item container.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.ItemsControlDragDropTarget`2.GetItemsHost(`0)">
+            <summary>
+            Retrieves the items host for a given items control.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <returns>The items host for a given items control.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.ItemsControlDragDropTarget`2.CanRemove(`0)">
+            <summary>
+            Returns a value indicating whether an item can be removed from the
+            items control.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <returns>A value indicating whether an item can be removed from the
+            items control.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.ItemsControlDragDropTarget`2.AddItem(`0,System.Object)">
+            <summary>
+            Adds an item to an items control.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <param name="data">The data to be inserted.</param>
+        </member>
+        <member name="M:System.Windows.Controls.ItemsControlDragDropTarget`2.RemoveItem(`0,System.Object)">
+            <summary>
+            Removes an item from an items control.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <param name="data">The data to be removed.</param>
+        </member>
+        <member name="M:System.Windows.Controls.ItemsControlDragDropTarget`2.RemoveItemAtIndex(`0,System.Int32)">
+            <summary>
+            Removes an item from an items control by index.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <param name="index">The index of the item to be removed.</param>
+        </member>
+        <member name="M:System.Windows.Controls.ItemsControlDragDropTarget`2.InsertItem(`0,System.Int32,System.Object)">
+            <summary>
+            Inserts an item into an items control.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <param name="index">The index at which to insert the item.</param>
+            <param name="data">The data to be inserted.</param>
+        </member>
+        <member name="M:System.Windows.Controls.ItemsControlDragDropTarget`2.IsItemContainerOfItemsControl(`0,System.Windows.DependencyObject)">
+            <summary>
+            Returns a value indicating whether a container belongs to an items 
+            control.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <param name="itemContainer">The item container.</param>
+            <returns>A value indicating whether a container belongs to an items 
+            control.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.ItemsControlDragDropTarget`2.ItemFromContainer(`0,`1)">
+            <summary>
+            Gets the item from an item container.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <param name="itemContainer">The item container.</param>
+            <returns>The data contained by the item container.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.ItemsControlDragDropTarget`2.CanScroll(`0)">
+            <summary>
+            Returns a value indicating whether a given items control
+            can scroll.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <returns>The value indicating whether the given items control
+            can scroll.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.ItemsControlDragDropTarget`2.ScrollIntoView(`0,`1)">
+            <summary>
+            Scrolls a given item container into the view.
+            </summary>
+            <param name="itemsControl">The items control that contains
+            the item container.</param>
+            <param name="itemContainer">The item container to scroll into
+            view.</param>
+        </member>
+        <member name="P:System.Windows.Controls.ItemsControlDragDropTarget`2.ScrollItemAnimationDuration">
+            <summary>
+            Gets or sets the duration to use to animate an item into view.
+            </summary>
+        </member>
+        <member name="T:System.Windows.Controls.ListBoxDragDropTarget">
+            <summary>
+            A control that enables drag and drop operations on ListBox.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="M:System.Windows.Controls.ListBoxDragDropTarget.#ctor">
+            <summary>
+            Initializes a new instance of the ListBoxDragDropTarget class.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.ListBoxDragDropTarget.OnItemDragStarting(System.Windows.Controls.ItemDragEventArgs)">
+            <summary>
+            Adds all selected items when drag operation begins.
+            </summary>
+            <param name="eventArgs">Information about the event.</param>
+        </member>
+        <member name="M:System.Windows.Controls.ListBoxDragDropTarget.OnContentChanged(System.Object,System.Object)">
+            <summary>
+            Ensures the content of control is a ListBox.
+            </summary>
+            <param name="oldContent">The old content.</param>
+            <param name="newContent">The new content.</param>
+        </member>
+        <member name="P:System.Windows.Controls.ListBoxDragDropTarget.ListBox">
+            <summary>
+            Gets the ListBox that is the drag drop target.
+            </summary>
+        </member>
+        <member name="T:System.Linq.ObservableExtensions">
+            <summary>
+            A set of extension methods for IObservable objects.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="M:System.Linq.ObservableExtensions.IgnoreAll``1(System.Windows.Controls.Internals.IObservable{``0})">
+            <summary>
+            Converts an observable sequence of values into unit values.
+            </summary>
+            <typeparam name="T">The type of the observable sequence.</typeparam>
+            <param name="that">The sequence to convert.</param>
+            <returns>A sequence of unit values.</returns>
+        </member>
+        <member name="T:System.Windows.Input.MouseEventArgsExtensions">
+            <summary>
+            Contains extension methods for the MouseEventArgs class.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Input.MouseEventArgsExtensions.GetSafePosition(System.Windows.Input.MouseEventArgs,System.Windows.UIElement)">
+            <summary>
+            Returns the position of mouse relative to an object.
+            </summary>
+            <param name="mouseEventArgs">Information about a mouse event.</param>
+            <param name="relativeTo">The element relative to which the position
+            is returned.</param>
+            <returns>The position of the mouse relative to the object.</returns>
+        </member>
+        <member name="T:System.Windows.Controls.PanelDragDropTarget">
+            <summary>
+            A control that enables drag and drop operations on a Panel.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="M:System.Windows.Controls.PanelDragDropTarget.#ctor">
+            <summary>
+            Initializes a new instance of the PanelDragDropTarget class.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.PanelDragDropTarget.RemoveItemAtIndex(System.Windows.Controls.Panel,System.Int32)">
+            <summary>
+            Removes data from an ItemsControl.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <param name="index">The index at which to remove an item.</param>
+        </member>
+        <member name="M:System.Windows.Controls.PanelDragDropTarget.AddItem(System.Windows.Controls.Panel,System.Object)">
+            <summary>
+            Adds an item to an items control.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <param name="data">The data to be inserted.</param>
+        </member>
+        <member name="M:System.Windows.Controls.PanelDragDropTarget.CanAddItem(System.Windows.Controls.Panel,System.Object)">
+            <summary>
+            Returns a value indicating whether an item can be added to the
+            items control.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <param name="data">The data to be added.</param>
+            <returns>A value indicating whether an item can be added to the
+            items control.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.PanelDragDropTarget.CanRemove(System.Windows.Controls.Panel)">
+            <summary>
+            Returns a value indicating whether an item can be removed from the
+            items control.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <returns>A value indicating whether an item can be removed from the
+            items control.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.PanelDragDropTarget.ContainerFromIndex(System.Windows.Controls.Panel,System.Int32)">
+            <summary>
+            Retrieves the item container at a given index.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <param name="index">The index at which to retrieve the container.
+            </param>
+            <returns>The item container at a given index.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.PanelDragDropTarget.GetItemCount(System.Windows.Controls.Panel)">
+            <summary>
+            Gets the number of items in an items control.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <returns>The number of items in the items control.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.PanelDragDropTarget.GetItemsHost(System.Windows.Controls.Panel)">
+            <summary>
+            Retrieves the items host for a given items control.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <returns>The items host for a given items control.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.PanelDragDropTarget.IndexFromContainer(System.Windows.Controls.Panel,System.Windows.UIElement)">
+            <summary>
+            Retrieves the index of an item container.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <param name="itemContainer">The item container.</param>
+            <returns>The index of an item container.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.PanelDragDropTarget.InsertItem(System.Windows.Controls.Panel,System.Int32,System.Object)">
+            <summary>
+            Inserts an item into an items control.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <param name="index">The index at which to insert the item.</param>
+            <param name="data">The data to be inserted.</param>
+        </member>
+        <member name="M:System.Windows.Controls.PanelDragDropTarget.IsItemContainerOfItemsControl(System.Windows.Controls.Panel,System.Windows.DependencyObject)">
+            <summary>
+            Returns a value indicating whether a container belongs to an items 
+            control.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <param name="itemContainer">The item container.</param>
+            <returns>A value indicating whether a container belongs to an items 
+            control.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.PanelDragDropTarget.ItemFromContainer(System.Windows.Controls.Panel,System.Windows.UIElement)">
+            <summary>
+            Gets the item from an item container.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <param name="itemContainer">The item container.</param>
+            <returns>The data contained by the item container.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.PanelDragDropTarget.RemoveItem(System.Windows.Controls.Panel,System.Object)">
+            <summary>
+            Removes an item from an items control.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <param name="data">The data to be removed.</param>
+        </member>
+        <member name="M:System.Windows.Controls.PanelDragDropTarget.OnContentChanged(System.Object,System.Object)">
+            <summary>
+            Confirms that the Content property is set to an object
+            of type Panel.
+            </summary>
+            <param name="oldContent">The old content value.</param>
+            <param name="newContent">The new content value.</param>
+        </member>
+        <member name="T:Microsoft.Windows.QueryContinueDragEventArgs">
+            <summary>
+            Contains arguments for the System.Windows.DragDrop.QueryContinueDrag event.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="M:Microsoft.Windows.QueryContinueDragEventArgs.#ctor">
+            <summary>
+            Initializes a new instance of the QueryContinueDragEventArgs class.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Windows.QueryContinueDragEventArgs.Action">
+            <summary>
+            Gets or sets the current status of the associated drag-and-drop operation.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Windows.QueryContinueDragEventArgs.EscapePressed">
+            <summary>
+            Gets a value indicating whether the ESC key has been pressed.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Windows.QueryContinueDragEventArgs.KeyStates">
+            <summary>
+            Gets a flag enumeration Indicating the current state of the SHIFT, CTRL,
+            and ALT keys, as well as the state of the mouse buttons.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Windows.QueryContinueDragEventHandler">
+            <summary>
+            Represents a method that will handle the routed events that enables a drag-and-drop
+            operation to be canceled by the drag source, for example System.Windows.UIElement.QueryContinueDrag.
+            </summary>
+            <param name="sender">The object where the event handler is attached.</param>
+            <param name="e">The event data.</param>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="T:System.Collections.ObjectModel.Selection">
+            <summary>
+            A class that holds a selected item.
+            </summary>
+        </member>
+        <member name="M:System.Collections.ObjectModel.Selection.#ctor(System.Nullable{System.Int32},System.Object)">
+            <summary>
+            Initializes an instance of the Selection class.
+            </summary>
+            <param name="index">The index of the selected item within the 
+            source collection.</param>
+            <param name="item">The selected item.</param>
+        </member>
+        <member name="M:System.Collections.ObjectModel.Selection.#ctor(System.Object)">
+            <summary>
+            Initializes an instance of the Selection class.
+            </summary>
+            <param name="item">The selected item.</param>
+        </member>
+        <member name="P:System.Collections.ObjectModel.Selection.Index">
+            <summary>
+            Gets the index of the selection within the source collection.
+            </summary>
+        </member>
+        <member name="P:System.Collections.ObjectModel.Selection.Item">
+            <summary>
+            Gets the selected item.
+            </summary>
+        </member>
+        <member name="T:System.Collections.ObjectModel.SelectionCollection">
+            <summary>
+            A collection of selected items.
+            </summary>
+        </member>
+        <member name="M:System.Collections.ObjectModel.SelectionCollection.ToSelectionCollection(System.Object)">
+            <summary>
+            Returns data as a SelectionCollection.
+            </summary>
+            <param name="data">The data object.</param>
+            <returns>A selection collection.</returns>
+        </member>
+        <member name="M:System.Collections.ObjectModel.SelectionCollection.#ctor">
+            <summary>
+            Initializes a new instance of a SelectionCollection.
+            </summary>
+        </member>
+        <member name="M:System.Collections.ObjectModel.SelectionCollection.#ctor(System.Collections.Generic.IEnumerable{System.Object})">
+            <summary>
+            Initializes a new instance of a SelectionCollection.
+            </summary>
+            <param name="items">The items to include in the selection 
+            collection.</param>
+        </member>
+        <member name="P:System.Collections.ObjectModel.SelectionCollection.SelectedItems">
+            <summary>
+            Gets a sequence of the items in the selection collection.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Windows.SystemParameters">
+            <summary>
+            Contains properties that you can use to query system settings.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="P:Microsoft.Windows.SystemParameters.MinimumHorizontalDragDistance">
+            <summary>
+            Gets the minimum amount of horizontal drag distance before a drag operation occurs.
+            </summary>
+            <returns>The minimum amount of horizontal drag distance before a drag operation occurs.</returns>
+        </member>
+        <member name="P:Microsoft.Windows.SystemParameters.MinimumVerticalDragDistance">
+            <summary>
+            Gets the minimum amount of vertical drag distance before a drag operation occurs.
+            </summary>
+            <returns>The minimum amount of vertical drag distance before a drag operation occurs.</returns>
+        </member>
+        <member name="T:System.Windows.Controls.TreeViewDragDropTarget">
+            <summary>
+            A drag drop target for the TreeView control.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="F:System.Windows.Controls.TreeViewDragDropTarget._dragEnter">
+            <summary>
+            An event raised when a drag enter operation occurs.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.TreeViewDragDropTarget._dragLeave">
+            <summary>
+            An event raised when a drag leave operation occurs.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.TreeViewDragDropTarget._drop">
+            <summary>
+            An event raised when a drop operation occurs.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewDragDropTarget.OnContentChanged(System.Object,System.Object)">
+            <summary>
+            Throws an exception if the content is not a TreeView.
+            </summary>
+            <param name="oldContent">The old content value.</param>
+            <param name="newContent">The new content value.</param>
+        </member>
+        <member name="F:System.Windows.Controls.TreeViewDragDropTarget.ExpandNodeDelayProperty">
+            <summary>
+            Identifies the ExpandNodeDelay dependency property.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewDragDropTarget.#ctor">
+            <summary>
+            Initializes a new instance of the TreeViewDragDropTarget class.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewDragDropTarget.GetTreeViewItem(Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Retrieves the tree view item hovered over in a drag event.
+            </summary>
+            <param name="args">Information about a drag event.</param>
+            <returns>The tree view item hovered over in a drag event.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewDragDropTarget.GetItemsControlAncestor(System.Windows.DependencyObject)">
+            <summary>
+            Returns the items control ancestor of a dependency object.
+            </summary>
+            <param name="dependencyObject">The dependency object to retrieve the
+            element for.</param>
+            <returns>The items control ancestor of the dependency object.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewDragDropTarget.OnDragEnter(Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Prevents Move, Copy, or Link actions if an item is dragged into its
+            descendent.
+            </summary>
+            <param name="args">Information about the drag event.</param>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewDragDropTarget.OnDragLeave(Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Prevents Move, Copy, or Link actions if an item is dragged into its
+            descendent.
+            </summary>
+            <param name="args">Information about the drag event.</param>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewDragDropTarget.OnDragEvent(Microsoft.Windows.DragEventArgs)">
+            <summary>
+            This method is called whenever a target event is raised.
+            </summary>
+            <param name="args">Information about the drag target event.</param>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewDragDropTarget.OnDrop(Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Prevents Move, Copy, or Link actions if an item is dragged into its
+            descendent.
+            </summary>
+            <param name="args">Information about the drag event.</param>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewDragDropTarget.SetEffects(Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Prevents Move, Copy, or Link actions if an item is dragged into its
+            descendent.
+            </summary>
+            <param name="args">Information about the drag event.</param>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewDragDropTarget.IsTreeViewItemDraggedDirectlyAboveOrBelowSelf(Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Returns a value indicating whether a TreeViewItem being dragged 
+            directly above or below itself.  If there are no indices in the
+            selection the answer is result is always true.
+            </summary>
+            <param name="args">Information about a drag event.</param>
+            <returns>A value indicating whether the TreeViewItem being dragged 
+            directly above or below itself.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewDragDropTarget.IsTreeViewItemDraggedInDescendent(Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Returns a value indicating whether an item is being dragged into its 
+            own descendent.
+            </summary>
+            <param name="args">Information about the drag event.</param>
+            <returns>A value indicating whether an item is being dragged into 
+            its own descendent.  If there is no index information the answer
+            is always assumed to be true.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewDragDropTarget.GetDropTarget(Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Retrieves the drop target of a drag event.
+            </summary>
+            <param name="args">Information about the drag event.</param>
+            <returns>The drop target of a drag event.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewDragDropTarget.GetTreeViewItemRectExcludingChildren(System.Windows.Controls.TreeViewItem)">
+            <summary>
+            Retrieves the location and dimensions of a TreeViewItem excluding
+            its children.
+            </summary>
+            <param name="treeViewItem">The tree view item.</param>
+            <returns>The location and dimensions of the TreeViewItem excluding
+            its children.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewDragDropTarget.GetInsertionIndicatorGeometry(System.Windows.Controls.ItemsControl,System.Int32,Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Returns a geometry for the insertion indicator.
+            </summary>
+            <param name="dropTarget">The drop target.</param>
+            <param name="insertionIndex">The insertion index within the drop 
+            target.</param>
+            <param name="dragEventArgs">Information about the drag event.
+            </param>
+            <returns>The geometry for the insertion indicator.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewDragDropTarget.GetDropTargetInsertionIndexOverride(System.Windows.Controls.ItemsControl,Microsoft.Windows.DragEventArgs)">
+            <summary>
+            Gets the insertion index within a drop target given information 
+            about a drag event.
+            </summary>
+            <param name="dropTarget">The drop target.</param>
+            <param name="args">Information about a drag event.</param>
+            <returns>The insertion index within the drop target.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewDragDropTarget.CanScroll(System.Windows.Controls.ItemsControl)">
+            <summary>
+            Returns a value indicating whether a given items control
+            can scroll.
+            </summary>
+            <param name="itemsControl">The items control.</param>
+            <returns>The value indicating whether the given items control
+            can scroll.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewDragDropTarget.ScrollIntoView(System.Windows.Controls.ItemsControl,System.Windows.Controls.TreeViewItem)">
+            <summary>
+            Scrolls a given item container into the view.
+            </summary>
+            <param name="itemsControl">The items control that contains
+            the item container.</param>
+            <param name="itemContainer">The item container to scroll into
+            view.</param>
+        </member>
+        <member name="P:System.Windows.Controls.TreeViewDragDropTarget.ExpandNodeDelay">
+            <summary>
+            Gets or sets the delay before expanding a node that is being 
+            hovered over during a drag operation.
+            </summary>
+        </member>
+        <member name="T:System.Windows.UIElementExtendedRoutedEventExtensions">
+            <summary>
+            This class contains extension methods that mimic the 
+            AddHandler/RemoveHandler methods for routed events.
+            </summary>
+            <remarks>
+            These methods are in the System.Windows namespace so that they can be
+            used as extension methods without bringing the Microsoft.Windows
+            namespace into the scope.
+            </remarks>
+        </member>
+        <member name="F:System.Windows.UIElementExtendedRoutedEventExtensions.targetEvents">
+            <summary>
+            A list of all the target events.
+            </summary>
+        </member>
+        <member name="M:System.Windows.UIElementExtendedRoutedEventExtensions.AddHandler(System.Windows.UIElement,Microsoft.Windows.ExtendedRoutedEvent,System.Delegate,System.Boolean)">
+            <summary>
+            Adds a routed event handler for a specified routed event, adding the handler
+            to the handler collection on the current element.
+            </summary>
+            <param name="that">The element to add a handler for.</param>
+            <param name="routedEvent">An identifier for the routed event to be handled.</param>
+            <param name="handler">A reference to the handler implementation.</param>
+            <param name="handledEventsToo">True to register the handler such that it is invoked even when the routed
+            event is marked handled in its event data; false to register the handler
+            with the default condition that it will not be invoked if the routed event
+            is already marked handled. The default is false.</param>
+        </member>
+        <member name="M:System.Windows.UIElementExtendedRoutedEventExtensions.RemoveHandler(System.Windows.UIElement,Microsoft.Windows.ExtendedRoutedEvent,System.Delegate)">
+            <summary>
+            Removes a routed event handler for a specified routed event, removing the handler
+            from the handler collection on the current element.
+            </summary>
+            <param name="that">The element to remove the handler from.</param>
+            <param name="routedEvent">An identifier for the routed event to be handled.</param>
+            <param name="handler">A reference to the handler implementation.</param>
+        </member>
+        <member name="T:System.Windows.UIElementExtensions">
+            <summary>
+            A collection of extension methods for the UIElement class.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="M:System.Windows.UIElementExtensions.GetSize(System.Windows.UIElement)">
+            <summary>
+            Returns the size of an element.
+            </summary>
+            <remarks>
+            Note that this method only exists because there is a Silverlight bug that
+            causes elements inside of a Canvas to return (0,0) for their RenderSize.
+            This is a workaround that attempts to downcast to a FrameworkElement and
+            if the cast is successful it uses the ActualWidth and ActualHeight 
+            properties.
+            </remarks>
+            <param name="that">The element for which to retrieve the size.</param>
+            <returns>The size of the element.</returns>
+        </member>
+        <member name="M:System.Windows.UIElementExtensions.GetMouseMove(System.Windows.UIElement)">
+            <summary>
+            Returns an observable that wraps the MouseMove event.
+            </summary>
+            <param name="that">The instance to retrieve the event for.</param>
+            <returns>An observable that wraps the MouseMove event.</returns>	
+        </member>
+        <member name="M:System.Windows.UIElementExtensions.GetMouseMoveWithOriginalSource(System.Windows.UIElement)">
+            <summary>
+            Returns an observable that wraps the MouseMove event and only
+            returns when there a mouse event has an original source.
+            </summary>
+            <param name="that">The instance to retrieve the event for.</param>
+            <returns>An observable that wraps the MouseMove event.</returns>	
+        </member>
+        <member name="M:System.Windows.UIElementExtensions.GetMouseMoveOnSelfAndSiblings(System.Windows.UIElement)">
+            <summary>
+            Returns an observable that wraps the MouseMove event on an instance 
+            and all of it's siblings.
+            </summary>
+            <param name="that">The instance to retrieve the event for.</param>
+            <returns>An observable that wraps the MouseMove event on an instance 
+            and all of it's siblings.</returns>
+        </member>
+        <member name="M:System.Windows.UIElementExtensions.GetMouseLeftButtonDownAlways(System.Windows.UIElement)">
+            <summary>
+            Returns an observable that wraps the MouseLeftButtonDown event and
+            returns even if one of the events involved is handled.
+            </summary>
+            <param name="that">The element to listen to.</param>
+            <returns>An observable that that wraps the MouseLeftButtonDown event 
+            and returns even if one of the events involved is handled.</returns>
+        </member>
+        <member name="M:System.Windows.UIElementExtensions.GetMouseLeftButtonUpOnSelfAndSiblingsAlways(System.Windows.UIElement)">
+            <summary>
+            Returns an observable that wraps the MouseLeftButtonUp event of the
+            root visual and all of it's siblings and returns even if one of the 
+            events involved is handled.
+            </summary>
+            <param name="that">The element to listen to.</param>
+            <returns>An observable that that wraps the MouseLeftButtonUp event 
+            and returns even if one of the events involved is handled.</returns>
+        </member>
+        <member name="M:System.Windows.UIElementExtensions.GetMouseLeftButtonUpAlways(System.Windows.UIElement)">
+            <summary>
+            Returns an observable that wraps the MouseLeftButtonUp event and
+            returns even if one of the events involved is handled.
+            </summary>
+            <param name="that">The element to listen to.</param>
+            <returns>An observable that that wraps the MouseLeftButtonUp event 
+            and returns even if one of the events involved is handled.</returns>
+        </member>
+        <member name="M:System.Windows.UIElementExtensions.GetKeyDownAlways(System.Windows.UIElement)">
+            <summary>
+            Returns an observable that wraps the KeyDown event and
+            returns even if one of the events involved is handled.
+            </summary>
+            <param name="that">The element to listen to.</param>
+            <returns>An observable that that wraps the KeyDown event 
+            and returns even if one of the events involved is handled.</returns>
+        </member>
+        <member name="M:System.Windows.UIElementExtensions.GetKeyUpAlways(System.Windows.UIElement)">
+            <summary>
+            Returns an observable that wraps the KeyUp event and
+            returns even if one of the events involved is handled.
+            </summary>
+            <param name="that">The element to listen to.</param>
+            <returns>An observable that that wraps the KeyUp event 
+            and returns even if one of the events involved is handled.</returns>
+        </member>
+        <member name="M:System.Windows.UIElementExtensions.GetKeyUpOnSelfAndSiblingsAlways(System.Windows.UIElement)">
+            <summary>
+            Returns an observable that wraps the KeyUp event and returns even if 
+            one of the events involved is handled or occurs in a sibling.
+            </summary>
+            <param name="that">The element to listen to.</param>
+            <returns>An observable that wraps the KeyUp event and returns even if 
+            one of the events involved is handled or occurs in a sibling.</returns>
+        </member>
+        <member name="M:System.Windows.UIElementExtensions.GetKeyStateChanged(System.Windows.Controls.Internals.IObservable{System.Windows.Controls.Internals.IEvent{System.Windows.Input.MouseButtonEventArgs}},System.Windows.Controls.Internals.IObservable{System.Windows.Controls.Internals.IEvent{System.Windows.Input.MouseButtonEventArgs}},System.Windows.Controls.Internals.IObservable{System.Windows.Controls.Internals.IEvent{System.Windows.Input.KeyEventArgs}},System.Windows.Controls.Internals.IObservable{System.Windows.Controls.Internals.IEvent{System.Windows.Input.KeyEventArgs}},Microsoft.Windows.DragDropKeyStates)">
+            <summary>
+            Returns an observable that returns a SW.DragDropKeyStates value.  The
+            observable is composed of mouse down and up observables and key down
+            and up observables.
+            </summary>
+            <param name="mouseDownObservable">An event raised when a mouse 
+            button is depressed.</param>
+            <param name="mouseUpObservable">An event raised when a mouse button
+            is released.</param>
+            <param name="keyDownObservable">An event raised when a key is
+            pressed down.</param> 
+            <param name="keyUpObservable">An event raised when a key is 
+            released.</param>
+            <param name="initialState">The initial state of the drag and
+            drop keys.</param>
+            <returns>An observable that returns a SW.DragDropKeyStates value
+            whenever it changes, even if one of the events involved
+            is handled.</returns>
+        </member>
+        <member name="M:System.Windows.UIElementExtensions.GetKeyStateChangedAlways(System.Windows.UIElement,Microsoft.Windows.DragDropKeyStates)">
+            <summary>
+            Returns an observable that returns a SW.DragDropKeyStates value
+            whenever it changes, even if one of the events involved
+            is handled.
+            </summary>
+            <param name="that">The element to listen to.</param>
+            <param name="initialState">The initial state SW.DragDropKeyStates.
+            </param>
+            <returns>An observable that returns a SW.DragDropKeyStates value
+            whenever it changes, even if one of the events involved
+            is handled.</returns>
+        </member>
+        <member name="M:System.Windows.UIElementExtensions.GetKeyStateChangedOnSelfAndSiblingsAlways(System.Windows.UIElement,Microsoft.Windows.DragDropKeyStates)">
+            <summary>
+            Returns an observable that returns a SW.DragDropKeyStates value
+            whenever it changes, even if one of the events involved
+            is handled or occurs in a sibling.
+            </summary>
+            <param name="that">The element to listen to.</param>
+            <param name="initialState">The initial state SW.DragDropKeyStates.
+            </param>
+            <returns>An observable that returns a SW.DragDropKeyStates value
+            whenever it changes, even if one of the events involved
+            is handled.</returns>
+        </member>
+        <member name="M:System.Windows.UIElementExtensions.GetEscapePressedChangedOnSelfAndSiblingsAlways(System.Windows.UIElement)">
+            <summary>
+            Returns an observable that returns a value indicating 
+            whether escape is pressed, even if one of the events involved
+            is handled or occurs in a sibling.
+            </summary>
+            <param name="that">The element to listen to.</param>
+            <returns>An observable that returns a value indicating 
+            whether escape is pressed, even if one of the events involved
+            is handled or occurs in a sibling.</returns>
+        </member>
+        <member name="M:System.Windows.UIElementExtensions.ToDragDropKeyStates(System.Windows.Input.Key)">
+            <summary>
+            Converts the key enumeration into the appropriate DragDropKeyStates
+            value.
+            </summary>
+            <param name="key">The key value.</param>
+            <returns>The appropriate SW.DragDropKeyStates value.</returns>
+        </member>
+        <member name="M:System.Windows.UIElementExtensions.SafeTransformToVisual(System.Windows.UIElement,System.Windows.UIElement)">
+            <summary>
+            This method performs a transform to visual operation but traps exceptions that occur.
+            </summary>
+            <param name="that">The element to transform to.</param>
+            <param name="element">The element to transform from.</param>
+            <returns>A general transform.</returns>
+        </member>
+        <member name="T:System.Windows.Controls.ExpandDirection">
+            <summary>
+            Specifies the direction in which an
+            <see cref="T:System.Windows.Controls.Expander" /> control opens.
+            </summary>
+            <QualityBand>Stable</QualityBand>
+        </member>
+        <member name="F:System.Windows.Controls.ExpandDirection.Down">
+            <summary>
+            Specifies that the <see cref="T:System.Windows.Controls.Expander" />
+            control opens in the down direction.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.ExpandDirection.Up">
+            <summary>
+            Specifies that the <see cref="T:System.Windows.Controls.Expander" />
+            control opens in the up direction.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.ExpandDirection.Left">
+            <summary>
+            Specifies that the <see cref="T:System.Windows.Controls.Expander" />
+            control opens in the left direction.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.ExpandDirection.Right">
+            <summary>
+            Specifies that the <see cref="T:System.Windows.Controls.Expander" />
+            control opens in the right direction.
+            </summary>
+        </member>
+        <member name="T:System.Windows.Controls.Expander">
+            <summary>
+            Represents a control that displays a header and has a collapsible
+            content window.
+            </summary>
+            <QualityBand>Stable</QualityBand>
+        </member>
+        <member name="T:System.Windows.Controls.HeaderedContentControl">
+            <summary>
+            Provides the base implementation for controls that contain a single
+            content element and a header.
+            </summary>
+            <remarks>
+            HeaderedContentControl adds Header and HeaderTemplatefeatures to a
+            ContentControl. HasHeader and HeaderTemplateSelector are removed for
+            lack of support and consistency with other Silverlight controls.
+            </remarks>
+            <QualityBand>Stable</QualityBand>
+        </member>
+        <member name="F:System.Windows.Controls.HeaderedContentControl.HeaderProperty">
+            <summary>
+            Identifies the
+            <see cref="P:System.Windows.Controls.HeaderedContentControl.Header" />
+            dependency property.
+            </summary>
+            <value>
+            The identifier for the
+            <see cref="P:System.Windows.Controls.HeaderedContentControl.Header" />
+            dependency property.
+            </value>
+        </member>
+        <member name="M:System.Windows.Controls.HeaderedContentControl.OnHeaderPropertyChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+            HeaderProperty property changed handler.
+            </summary>
+            <param name="d">HeaderedContentControl whose Header property is changed.</param>
+            <param name="e">DependencyPropertyChangedEventArgs, which contains the old and new value.</param>
+        </member>
+        <member name="F:System.Windows.Controls.HeaderedContentControl.HeaderTemplateProperty">
+            <summary>
+            Identifies the
+            <see cref="P:System.Windows.Controls.HeaderedContentControl.HeaderTemplate" />
+            dependency property.
+            </summary>
+            <value>
+            The identifier for the
+            <see cref="P:System.Windows.Controls.HeaderedContentControl.HeaderTemplate" />
+            dependency property.
+            </value>
+        </member>
+        <member name="M:System.Windows.Controls.HeaderedContentControl.OnHeaderTemplatePropertyChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+            HeaderTemplateProperty property changed handler.
+            </summary>
+            <param name="d">HeaderedContentControl whose HeaderTemplate property is changed.</param>
+            <param name="e">DependencyPropertyChangedEventArgs, which contains the old and new value.</param>
+        </member>
+        <member name="M:System.Windows.Controls.HeaderedContentControl.#ctor">
+            <summary>
+            Initializes a new instance of the
+            <see cref="T:System.Windows.Controls.HeaderedContentControl" />
+            class.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.HeaderedContentControl.OnHeaderChanged(System.Object,System.Object)">
+            <summary>
+            Called when the value of the
+            <see cref="P:System.Windows.Controls.HeaderedContentControl.Header" />
+            property changes.
+            </summary>
+            <param name="oldHeader">
+            The old value of the
+            <see cref="P:System.Windows.Controls.HeaderedContentControl.Header" />
+            property.
+            </param>
+            <param name="newHeader">
+            The new value of the
+            <see cref="P:System.Windows.Controls.HeaderedContentControl.Header" />
+            property.
+            </param>
+        </member>
+        <member name="M:System.Windows.Controls.HeaderedContentControl.OnHeaderTemplateChanged(System.Windows.DataTemplate,System.Windows.DataTemplate)">
+            <summary>
+            Called when the value of the
+            <see cref="P:System.Windows.Controls.HeaderedContentControl.HeaderTemplate" />
+            property changes.
+            </summary>
+            <param name="oldHeaderTemplate">
+            The old value of the
+            <see cref="P:System.Windows.Controls.HeaderedContentControl.HeaderTemplate" />
+            property.
+            </param>
+            <param name="newHeaderTemplate">
+            The new value of the
+            <see cref="P:System.Windows.Controls.HeaderedContentControl.HeaderTemplate" />
+            property.
+            </param>
+        </member>
+        <member name="P:System.Windows.Controls.HeaderedContentControl.Header">
+            <summary>
+            Gets or sets the content for the header of the control.
+            </summary>
+            <value>
+            The content for the header of the control. The default value is
+            null.
+            </value>
+        </member>
+        <member name="P:System.Windows.Controls.HeaderedContentControl.HeaderTemplate">
+            <summary>
+            Gets or sets the template that is used to display the content of the
+            control's header.
+            </summary>
+            <value>
+            The template that is used to display the content of the control's
+            header. The default is null.
+            </value>
+        </member>
+        <member name="F:System.Windows.Controls.Expander.ElementExpanderButtonName">
+            <summary>
+            The name of the ExpanderButton template part.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.Expander._expanderButton">
+            <summary>
+            The ExpanderButton template part is a templated ToggleButton that's used 
+            to expand and collapse the ExpandSite, which hosts the content.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.Expander.ExpandDirectionProperty">
+            <summary>
+            Identifies the
+            <see cref="P:System.Windows.Controls.Expander.ExpandDirection" />
+            dependency property.
+            </summary>
+            <value>
+            The identifier for the
+            <see cref="P:System.Windows.Controls.Expander.ExpandDirection" />
+            dependency property.
+            </value>
+        </member>
+        <member name="M:System.Windows.Controls.Expander.OnExpandDirectionPropertyChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+            ExpandDirectionProperty PropertyChangedCallback call back static function.
+            This function validates the new value before calling virtual function OnExpandDirectionChanged.
+            </summary>
+            <param name="d">Expander object whose ExpandDirection property is changed.</param>
+            <param name="e">DependencyPropertyChangedEventArgs which contains the old and new values.</param>
+        </member>
+        <member name="M:System.Windows.Controls.Expander.IsValidExpandDirection(System.Object)">
+            <summary>
+            Check whether the passed in value o is a valid ExpandDirection enum value.
+            </summary>
+            <param name="o">The value to be checked.</param>
+            <returns>True if o is a valid ExpandDirection enum value, false o/w.</returns>
+        </member>
+        <member name="F:System.Windows.Controls.Expander.IsExpandedProperty">
+            <summary>
+            Identifies the
+            <see cref="P:System.Windows.Controls.Expander.IsExpanded" />
+            dependency property.
+            </summary>
+            <value>
+            The identifier for the
+            <see cref="P:System.Windows.Controls.Expander.IsExpanded" />
+            dependency property.
+            </value>
+        </member>
+        <member name="M:System.Windows.Controls.Expander.OnIsExpandedPropertyChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+            ExpandedProperty PropertyChangedCallback static function.
+            </summary>
+            <param name="d">Expander object whose Expanded property is changed.</param>
+            <param name="e">DependencyPropertyChangedEventArgs which contains the old and new values.</param>
+        </member>
+        <member name="M:System.Windows.Controls.Expander.#ctor">
+            <summary>
+            Initializes a new instance of the
+            <see cref="T:System.Windows.Controls.Expander" /> class.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.Expander.OnApplyTemplate">
+            <summary>
+            Builds the visual tree for the
+            <see cref="T:System.Windows.Controls.Expander" /> control when a new
+            template is applied.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.Expander.OnCreateAutomationPeer">
+            <summary>
+            Returns a
+            <see cref="T:System.Windows.Automation.Peers.ExpanderAutomationPeer" />
+            for use by the Silverlight automation infrastructure.
+            </summary>
+            <returns>
+            A
+            <see cref="T:System.Windows.Automation.Peers.ExpanderAutomationPeer" />
+            object for the <see cref="T:System.Windows.Controls.Expander" />.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.Expander.OnKeyDown(System.Windows.Input.KeyEventArgs)">
+            <summary>
+            Provides handling for the
+            <see cref="E:System.Windows.UIElement.KeyDown" /> event.
+            </summary>
+            <param name="e">Key event args.</param>
+        </member>
+        <member name="M:System.Windows.Controls.Expander.OnExpanded">
+            <summary>
+            Raises the
+            <see cref="E:System.Windows.Controls.Expander.Expanded" /> event
+            when the
+            <see cref="P:System.Windows.Controls.Expander.IsExpanded" />
+            property changes from false to true.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.Expander.OnCollapsed">
+            <summary>
+            Raises the
+            <see cref="E:System.Windows.Controls.Expander.Collapsed" /> event
+            when the
+            <see cref="P:System.Windows.Controls.Expander.IsExpanded" />
+            property changes from true to false.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.Expander.ToggleExpanded(System.Windows.RoutedEventHandler,System.Windows.RoutedEventArgs)">
+            <summary>
+            Handle changes to the IsExpanded property.
+            </summary>
+            <param name="handler">Event handler.</param>
+            <param name="args">Event arguments.</param>
+        </member>
+        <member name="M:System.Windows.Controls.Expander.RaiseEvent(System.Windows.RoutedEventHandler,System.Windows.RoutedEventArgs)">
+            <summary>
+            Raise a RoutedEvent.
+            </summary>
+            <param name="handler">Event handler.</param>
+            <param name="args">Event arguments.</param>
+        </member>
+        <member name="M:System.Windows.Controls.Expander.OnExpanderButtonClicked(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Handle ExpanderButton's click event.
+            </summary>
+            <param name="sender">The ExpanderButton in template.</param>
+            <param name="e">Routed event arg.</param>
+        </member>
+        <member name="M:System.Windows.Controls.Expander.System#Windows#Controls#IUpdateVisualState#UpdateVisualState(System.Boolean)">
+            <summary>
+            Update the visual state of the control.
+            </summary>
+            <param name="useTransitions">
+            A value indicating whether to automatically generate transitions to
+            the new state, or instantly transition to the new state.
+            </param>
+        </member>
+        <member name="M:System.Windows.Controls.Expander.UpdateVisualState(System.Boolean)">
+            <summary>
+            Update the current visual state of the button.
+            </summary>
+            <param name="useTransitions">
+            True to use transitions when updating the visual state, false to
+            snap directly to the new visual state.
+            </param>
+        </member>
+        <member name="P:System.Windows.Controls.Expander.ExpanderButton">
+            <summary>
+            Gets or sets the ExpanderButton template part.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Expander.ExpandDirection">
+            <summary>
+            Gets or sets the direction in which the
+            <see cref="T:System.Windows.Controls.Expander" /> content window
+            opens.
+            </summary>
+            <value>
+            One of the <see cref="T:System.Windows.Controls.ExpandDirection" />
+            values that define which direction the content window opens.  The
+            default is
+            <see cref="F:System.Windows.Controls.ExpandDirection.Down" />.
+            </value>
+        </member>
+        <member name="P:System.Windows.Controls.Expander.IsExpanded">
+            <summary>
+            Gets or sets a value indicating whether the
+            <see cref="T:System.Windows.Controls.Expander" /> content window is
+            visible.
+            </summary>
+            <value>
+            True if the content window is expanded; otherwise, false. The
+            default is false.
+            </value>
+        </member>
+        <member name="E:System.Windows.Controls.Expander.Expanded">
+            <summary>
+            Occurs when the content window of an
+            <see cref="T:System.Windows.Controls.Expander" /> control opens to
+            display both its header and content.
+            </summary>
+        </member>
+        <member name="E:System.Windows.Controls.Expander.Collapsed">
+            <summary>
+            Occurs when the content window of an
+            <see cref="T:System.Windows.Controls.Expander" /> control closes and
+            only the
+            <see cref="P:System.Windows.Controls.HeaderedContentControl.Header" />
+            is visible.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Expander.Interaction">
+            <summary>
+            Gets or sets the helper that provides all of the standard
+            interaction functionality.
+            </summary>
+        </member>
+        <member name="T:System.Windows.Automation.Peers.ExpanderAutomationPeer">
+            <summary>
+            Exposes <see cref="T:System.Windows.Controls.Expander" /> types to UI
+            automation.
+            </summary>
+            <QualityBand>Stable</QualityBand>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.ExpanderAutomationPeer.#ctor(System.Windows.Controls.Expander)">
+            <summary>
+            Initializes a new instance of the
+            <see cref="T:System.Windows.Automation.Peers.ExpanderAutomationPeer" />
+            class.
+            </summary>
+            <param name="owner">
+            The element associated with this automation peer.
+            </param>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.ExpanderAutomationPeer.GetAutomationControlTypeCore">
+            <summary>
+            Gets the control type for the
+            <see cref="T:System.Windows.Controls.Expander" /> that is associated
+            with this
+            <see cref="T:System.Windows.Automation.Peers.ExpanderAutomationPeer" />.
+            This method is called by
+            <see cref="M:System.Windows.Automation.Peers.AutomationPeer.GetAutomationControlType" />.
+            </summary>
+            <returns>
+            The
+            <see cref="F:System.Windows.Automation.Peers.AutomationControlType.Group" />
+            enumeration value.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.ExpanderAutomationPeer.GetClassNameCore">
+            <summary>
+            Gets the name of the
+            <see cref="T:System.Windows.Controls.Expander" /> that is associated
+            with this
+            <see cref="T:System.Windows.Automation.Peers.ExpanderAutomationPeer" />.
+            This method is called by
+            <see cref="M:System.Windows.Automation.Peers.AutomationPeer.GetClassName" />.
+            </summary>
+            <returns>A string that contains Expander.</returns>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.ExpanderAutomationPeer.GetPattern(System.Windows.Automation.Peers.PatternInterface)">
+            <summary>
+            Gets the control pattern for the
+            <see cref="T:System.Windows.Controls.Expander" /> that is associated
+            with this
+            <see cref="T:System.Windows.Automation.Peers.ExpanderAutomationPeer" />.
+            </summary>
+            <param name="pattern">One of the enumeration values.</param>
+            <returns>
+            The object that implements the pattern interface, or null if the
+            specified pattern interface is not implemented by this peer.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.ExpanderAutomationPeer.System#Windows#Automation#Provider#IExpandCollapseProvider#Expand">
+            <summary>
+            Displays all child nodes, controls, or content of the control.
+            </summary>
+            <remarks>
+            This API supports the .NET Framework infrastructure and is not 
+            intended to be used directly from your code.
+            </remarks>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.ExpanderAutomationPeer.System#Windows#Automation#Provider#IExpandCollapseProvider#Collapse">
+            <summary>
+            Hides all nodes, controls, or content that are descendants of the
+            control.
+            </summary>
+            <remarks>
+            This API supports the .NET Framework infrastructure and is not 
+            intended to be used directly from your code.
+            </remarks>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.ExpanderAutomationPeer.RaiseExpandCollapseAutomationEvent(System.Boolean,System.Boolean)">
+            <summary>
+            Raise an automation event when a Expander is expanded or collapsed.
+            </summary>
+            <param name="oldValue">
+            A value indicating whether the Expander was expanded.
+            </param>
+            <param name="newValue">
+            A value indicating whether the Expander is expanded.
+            </param>
+        </member>
+        <member name="P:System.Windows.Automation.Peers.ExpanderAutomationPeer.System#Windows#Automation#Provider#IExpandCollapseProvider#ExpandCollapseState">
+            <summary>
+            Gets the state (expanded or collapsed) of the control.
+            </summary>
+            <value>
+            The state (expanded or collapsed) of the control.
+            </value>
+            <remarks>
+            This API supports the .NET Framework infrastructure and is not 
+            intended to be used directly from your code.
+            </remarks>
+        </member>
+        <member name="T:System.Windows.Controls.BindingSourceEvaluator`1">
+            <summary>
+            A framework element that permits a binding to be evaluated in a new data
+            context leaf node. Uses the BindingSource to do the evaluation.
+            </summary>
+            <typeparam name="T">The type of dynamic binding to return.</typeparam>
+            <remarks>Mimicks the class BindingEvaluator that uses DataContext
+            to do evaluation.</remarks>
+        </member>
+        <member name="F:System.Windows.Controls.BindingSourceEvaluator`1.ValueProperty">
+            <summary>
+            Identifies the Value dependency property.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.BindingSourceEvaluator`1.#ctor(System.Windows.Data.Binding)">
+            <summary>
+            Initializes a new instance of the BindingSourceEvaluator class.
+            </summary>
+            <param name="binding">The binding.</param>
+        </member>
+        <member name="M:System.Windows.Controls.BindingSourceEvaluator`1.GetDynamicValue(System.Object)">
+            <summary>
+            Evaluates the specified source.
+            </summary>
+            <param name="source">The object used as a source for the
+            evaluation.</param>
+            <returns>The evaluated binding.</returns>
+            <remarks>Only uses Path, Converter, ConverterCulture and
+            ConverterParameter.</remarks>
+        </member>
+        <member name="P:System.Windows.Controls.BindingSourceEvaluator`1.Value">
+            <summary>
+            Gets the data item string value.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.BindingSourceEvaluator`1.ValueBinding">
+            <summary>
+            Gets the value binding that is used as a template
+            for the actual evaluation.
+            </summary>
+        </member>
+        <member name="T:System.Windows.Controls.DesignerProperties">
+            <summary>
+            Provides a custom implementation of DesignerProperties.GetIsInDesignMode
+            to work around an issue.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.DesignerProperties.GetIsInDesignMode(System.Windows.DependencyObject)">
+            <summary>
+            Returns whether the control is in design mode (running under Blend
+            or Visual Studio).
+            </summary>
+            <param name="element">The element from which the property value is
+            read.</param>
+            <returns>True if in design mode.</returns>
+        </member>
+        <member name="F:System.Windows.Controls.DesignerProperties._isInDesignMode">
+            <summary>
+            Stores the computed InDesignMode value.
+            </summary>
+        </member>
+        <member name="T:System.Windows.Controls.WeakEventListener`3">
+            <summary>
+            Implements a weak event listener that allows the owner to be garbage
+            collected if its only remaining link is an event handler.
+            </summary>
+            <typeparam name="TInstance">Type of instance listening for the event.</typeparam>
+            <typeparam name="TSource">Type of source for the event.</typeparam>
+            <typeparam name="TEventArgs">Type of event arguments for the event.</typeparam>
+        </member>
+        <member name="F:System.Windows.Controls.WeakEventListener`3._weakInstance">
+            <summary>
+            WeakReference to the instance listening for the event.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.WeakEventListener`3.#ctor(`0)">
+            <summary>
+            Initializes a new instances of the WeakEventListener class.
+            </summary>
+            <param name="instance">Instance subscribing to the event.</param>
+        </member>
+        <member name="M:System.Windows.Controls.WeakEventListener`3.OnEvent(`1,`2)">
+            <summary>
+            Handler for the subscribed event calls OnEventAction to handle it.
+            </summary>
+            <param name="source">Event source.</param>
+            <param name="eventArgs">Event arguments.</param>
+        </member>
+        <member name="M:System.Windows.Controls.WeakEventListener`3.Detach">
+            <summary>
+            Detaches from the subscribed event.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.WeakEventListener`3.OnEventAction">
+            <summary>
+            Gets or sets the method to call when the event fires.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.WeakEventListener`3.OnDetachAction">
+            <summary>
+            Gets or sets the method to call when detaching from the event.
+            </summary>
+        </member>
+        <member name="T:System.Windows.Controls.ItemsControlExtensions">
+            <summary>
+            Provides useful extensions to ItemsControl instances.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="M:System.Windows.Controls.ItemsControlExtensions.GetItemsHost(System.Windows.Controls.ItemsControl)">
+            <summary>
+            Gets the Panel that contains the containers of an ItemsControl.
+            </summary>
+            <param name="control">The ItemsControl.</param>
+            <returns>
+            The Panel that contains the containers of an ItemsControl, or null
+            if the Panel could not be found.
+            </returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="control" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.ItemsControlExtensions.GetScrollHost(System.Windows.Controls.ItemsControl)">
+            <summary>
+            Gets the ScrollViewer that contains the containers of an
+            ItemsControl.
+            </summary>
+            <param name="control">The ItemsControl.</param>
+            <returns>
+            The ScrollViewer that contains the containers of an ItemsControl, or
+            null if a ScrollViewer could not be found.
+            </returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="control" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.ItemsControlExtensions.GetContainers(System.Windows.Controls.ItemsControl)">
+            <summary>
+            Get the item containers of an ItemsControl.
+            </summary>
+            <param name="control">The ItemsControl.</param>
+            <returns>The item containers of an ItemsControl.</returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="control" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.ItemsControlExtensions.GetContainers``1(System.Windows.Controls.ItemsControl)">
+            <summary>
+            Get the item containers of an ItemsControl.
+            </summary>
+            <typeparam name="TContainer">
+            The type of the item containers.
+            </typeparam>
+            <param name="control">The ItemsControl.</param>
+            <returns>The item containers of an ItemsControl.</returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="control" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.ItemsControlExtensions.GetContainersIterator``1(System.Windows.Controls.ItemsControl)">
+            <summary>
+            Get the item containers of an ItemsControl.
+            </summary>
+            <typeparam name="TContainer">
+            The type of the item containers.
+            </typeparam>
+            <param name="control">The ItemsControl.</param>
+            <returns>The item containers of an ItemsControl.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.ItemsControlExtensions.GetItemsAndContainers(System.Windows.Controls.ItemsControl)">
+            <summary>
+            Get the items and item containers of an ItemsControl.
+            </summary>
+            <param name="control">The ItemsControl.</param>
+            <returns>The items and item containers of an ItemsControl.</returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="control" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.ItemsControlExtensions.GetItemsAndContainers``1(System.Windows.Controls.ItemsControl)">
+            <summary>
+            Get the items and item containers of an ItemsControl.
+            </summary>
+            <typeparam name="TContainer">
+            The type of the item containers.
+            </typeparam>
+            <param name="control">The ItemsControl.</param>
+            <returns>The items and item containers of an ItemsControl.</returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="control" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.ItemsControlExtensions.GetItemsAndContainersIterator``1(System.Windows.Controls.ItemsControl)">
+            <summary>
+            Get the items and item containers of an ItemsControl.
+            </summary>
+            <typeparam name="TContainer">
+            The type of the item containers.
+            </typeparam>
+            <param name="control">The ItemsControl.</param>
+            <returns>The items and item containers of an ItemsControl.</returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="control" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.ItemsControlExtensions.CanAddItem(System.Windows.Controls.ItemsControl,System.Object)">
+            <summary>
+            Returns a value indicating whether an item can be added to an
+            ItemsControl.
+            </summary>
+            <param name="that">The ItemsControl instance.</param>
+            <param name="item">The item to be added.</param>
+            <returns>A value Indicating whether an item can be added to an
+            ItemsControl.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.ItemsControlExtensions.CanRemoveItem(System.Windows.Controls.ItemsControl)">
+            <summary>
+            Returns a value indicating whether an item can be removed from the
+            ItemsControl.
+            </summary>
+            <param name="that">The items control.</param>
+            <returns>A value indicating whether an item can be removed from the
+            ItemsControl.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.ItemsControlExtensions.InsertItem(System.Windows.Controls.ItemsControl,System.Int32,System.Object)">
+            <summary>
+            Inserts an item into an ItemsControl.
+            </summary>
+            <param name="that">The ItemsControl instance.</param>
+            <param name="index">The index at which to insert the item.</param>
+            <param name="item">The item to be inserted.</param>
+        </member>
+        <member name="M:System.Windows.Controls.ItemsControlExtensions.AddItem(System.Windows.Controls.ItemsControl,System.Object)">
+            <summary>
+            Adds an item to an ItemsControl.
+            </summary>
+            <param name="that">The ItemsControl instance.</param>
+            <param name="item">The item to be inserted.</param>
+        </member>
+        <member name="M:System.Windows.Controls.ItemsControlExtensions.RemoveItem(System.Windows.Controls.ItemsControl,System.Object)">
+            <summary>
+            Removes an item from an ItemsControl.
+            </summary>
+            <param name="that">The ItemsControl instance.</param>
+            <param name="item">The item to be removed.</param>
+        </member>
+        <member name="M:System.Windows.Controls.ItemsControlExtensions.RemoveItemAtIndex(System.Windows.Controls.ItemsControl,System.Int32)">
+            <summary>
+            Removes an item from an ItemsControl.
+            </summary>
+            <param name="that">The ItemsControl instance.</param>
+            <param name="index">The index of the item to be removed.</param>
+        </member>
+        <member name="M:System.Windows.Controls.ItemsControlExtensions.GetItemCount(System.Windows.Controls.ItemsControl)">
+            <summary>
+            Gets the number of items in an ItemsControl.
+            </summary>
+            <param name="that">The ItemsControl instance.</param>
+            <returns>The number of items in the ItemsControl.</returns>
+        </member>
+        <member name="T:System.Windows.Controls.ScrollViewerExtensions">
+            <summary>
+            Provides useful extensions to ScrollViewer instances.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="F:System.Windows.Controls.ScrollViewerExtensions.LineChange">
+            <summary>
+            The amount to scroll a ScrollViewer for a line change.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.ScrollViewerExtensions.GetIsMouseWheelScrollingEnabled(System.Windows.Controls.ScrollViewer)">
+            <summary>
+            Gets a value indicating whether the ScrollViewer has enabled
+            scrolling via the mouse wheel.
+            </summary>
+            <param name="viewer">The ScrollViewer.</param>
+            <returns>
+            A value indicating whether the ScrollViewer has enabled scrolling
+            via the mouse wheel.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.ScrollViewerExtensions.SetIsMouseWheelScrollingEnabled(System.Windows.Controls.ScrollViewer,System.Boolean)">
+            <summary>
+            Sets a value indicating whether the ScrollViewer will enable
+            scrolling via the mouse wheel.
+            </summary>
+            <param name="viewer">The ScrollViewer.</param>
+            <param name="value">
+            A value indicating whether the ScrollViewer will enable scrolling
+            via the mouse wheel.
+            </param>
+        </member>
+        <member name="F:System.Windows.Controls.ScrollViewerExtensions.IsMouseWheelScrollingEnabledProperty">
+            <summary>
+            Identifies the IsMouseWheelScrollingEnabled dependency property.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.ScrollViewerExtensions.OnIsMouseWheelScrollingEnabledPropertyChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+            IsMouseWheelScrollingEnabledProperty property changed handler.
+            </summary>
+            <param name="d">ScrollViewerExtensions that changed its IsMouseWheelScrollingEnabled.</param>
+            <param name="e">Event arguments.</param>
+        </member>
+        <member name="M:System.Windows.Controls.ScrollViewerExtensions.OnMouseWheel(System.Object,System.Windows.Input.MouseWheelEventArgs)">
+            <summary>
+            Handles the mouse wheel event.
+            </summary>
+            <param name="sender">The ScrollViewer.</param>
+            <param name="e">Event arguments.</param>
+        </member>
+        <member name="M:System.Windows.Controls.ScrollViewerExtensions.GetVerticalOffset(System.Windows.Controls.ScrollViewer)">
+            <summary>
+            Gets the value of the VerticalOffset attached property for a specified ScrollViewer.
+            </summary>
+            <param name="element">The ScrollViewer from which the property value is read.</param>
+            <returns>The VerticalOffset property value for the ScrollViewer.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.ScrollViewerExtensions.SetVerticalOffset(System.Windows.Controls.ScrollViewer,System.Double)">
+            <summary>
+            Sets the value of the VerticalOffset attached property to a specified ScrollViewer.
+            </summary>
+            <param name="element">The ScrollViewer to which the attached property is written.</param>
+            <param name="value">The needed VerticalOffset value.</param>
+        </member>
+        <member name="F:System.Windows.Controls.ScrollViewerExtensions.VerticalOffsetProperty">
+            <summary>
+            Identifies the VerticalOffset dependency property.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.ScrollViewerExtensions.OnVerticalOffsetPropertyChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+            VerticalOffsetProperty property changed handler.
+            </summary>
+            <param name="dependencyObject">ScrollViewer that changed its VerticalOffset.</param>
+            <param name="eventArgs">Event arguments.</param>
+        </member>
+        <member name="M:System.Windows.Controls.ScrollViewerExtensions.GetHorizontalOffset(System.Windows.Controls.ScrollViewer)">
+            <summary>
+            Gets the value of the HorizontalOffset attached property for a specified ScrollViewer.
+            </summary>
+            <param name="element">The ScrollViewer from which the property value is read.</param>
+            <returns>The HorizontalOffset property value for the ScrollViewer.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.ScrollViewerExtensions.SetHorizontalOffset(System.Windows.Controls.ScrollViewer,System.Double)">
+            <summary>
+            Sets the value of the HorizontalOffset attached property to a specified ScrollViewer.
+            </summary>
+            <param name="element">The ScrollViewer to which the attached property is written.</param>
+            <param name="value">The needed HorizontalOffset value.</param>
+        </member>
+        <member name="F:System.Windows.Controls.ScrollViewerExtensions.HorizontalOffsetProperty">
+            <summary>
+            Identifies the HorizontalOffset dependency property.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.ScrollViewerExtensions.OnHorizontalOffsetPropertyChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+            HorizontalOffsetProperty property changed handler.
+            </summary>
+            <param name="dependencyObject">ScrollViewer that changed its HorizontalOffset.</param>
+            <param name="eventArgs">Event arguments.</param>
+        </member>
+        <member name="M:System.Windows.Controls.ScrollViewerExtensions.CoerceVerticalOffset(System.Windows.Controls.ScrollViewer,System.Double)">
+            <summary>
+            Coerce a vertical offset to fall within the vertical bounds of a
+            ScrollViewer.
+            </summary>
+            <param name="viewer">The ScrollViewer.</param>
+            <param name="offset">The vertical offset to coerce.</param>
+            <returns>
+            The coerced vertical offset that falls within the ScrollViewer's
+            vertical bounds.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.ScrollViewerExtensions.CoerceHorizontalOffset(System.Windows.Controls.ScrollViewer,System.Double)">
+            <summary>
+            Coerce a horizontal offset to fall within the horizontal bounds of a
+            ScrollViewer.
+            </summary>
+            <param name="viewer">The ScrollViewer.</param>
+            <param name="offset">The horizontal offset to coerce.</param>
+            <returns>
+            The coerced horizontal offset that falls within the ScrollViewer's
+            horizontal bounds.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.ScrollViewerExtensions.ScrollByVerticalOffset(System.Windows.Controls.ScrollViewer,System.Double)">
+            <summary>
+            Scroll a ScrollViewer vertically by a given offset.
+            </summary>
+            <param name="viewer">The ScrollViewer.</param>
+            <param name="offset">The vertical offset to scroll.</param>
+        </member>
+        <member name="M:System.Windows.Controls.ScrollViewerExtensions.ScrollByHorizontalOffset(System.Windows.Controls.ScrollViewer,System.Double)">
+            <summary>
+            Scroll a ScrollViewer horizontally by a given offset.
+            </summary>
+            <param name="viewer">The ScrollViewer.</param>
+            <param name="offset">The horizontal offset to scroll.</param>
+        </member>
+        <member name="M:System.Windows.Controls.ScrollViewerExtensions.LineUp(System.Windows.Controls.ScrollViewer)">
+            <summary>
+            Scroll the ScrollViewer up by a line.
+            </summary>
+            <param name="viewer">The ScrollViewer.</param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="viewer" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.ScrollViewerExtensions.LineDown(System.Windows.Controls.ScrollViewer)">
+            <summary>
+            Scroll the ScrollViewer down by a line.
+            </summary>
+            <param name="viewer">The ScrollViewer.</param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="viewer" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.ScrollViewerExtensions.LineLeft(System.Windows.Controls.ScrollViewer)">
+            <summary>
+            Scroll the ScrollViewer left by a line.
+            </summary>
+            <param name="viewer">The ScrollViewer.</param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="viewer" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.ScrollViewerExtensions.LineRight(System.Windows.Controls.ScrollViewer)">
+            <summary>
+            Scroll the ScrollViewer right by a line.
+            </summary>
+            <param name="viewer">The ScrollViewer.</param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="viewer" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.ScrollViewerExtensions.PageUp(System.Windows.Controls.ScrollViewer)">
+            <summary>
+            Scroll the ScrollViewer up by a page.
+            </summary>
+            <param name="viewer">The ScrollViewer.</param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="viewer" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.ScrollViewerExtensions.PageDown(System.Windows.Controls.ScrollViewer)">
+            <summary>
+            Scroll the ScrollViewer down by a page.
+            </summary>
+            <param name="viewer">The ScrollViewer.</param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="viewer" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.ScrollViewerExtensions.PageLeft(System.Windows.Controls.ScrollViewer)">
+            <summary>
+            Scroll the ScrollViewer left by a page.
+            </summary>
+            <param name="viewer">The ScrollViewer.</param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="viewer" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.ScrollViewerExtensions.PageRight(System.Windows.Controls.ScrollViewer)">
+            <summary>
+            Scroll the ScrollViewer right by a page.
+            </summary>
+            <param name="viewer">The ScrollViewer.</param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="viewer" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.ScrollViewerExtensions.ScrollToTop(System.Windows.Controls.ScrollViewer)">
+            <summary>
+            Scroll the ScrollViewer to the top.
+            </summary>
+            <param name="viewer">The ScrollViewer.</param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="viewer" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.ScrollViewerExtensions.ScrollToBottom(System.Windows.Controls.ScrollViewer)">
+            <summary>
+            Scroll the ScrollViewer to the bottom.
+            </summary>
+            <param name="viewer">The ScrollViewer.</param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="viewer" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.ScrollViewerExtensions.ScrollToLeft(System.Windows.Controls.ScrollViewer)">
+            <summary>
+            Scroll the ScrollViewer to the left.
+            </summary>
+            <param name="viewer">The ScrollViewer.</param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="viewer" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.ScrollViewerExtensions.ScrollToRight(System.Windows.Controls.ScrollViewer)">
+            <summary>
+            Scroll the ScrollViewer to the right.
+            </summary>
+            <param name="viewer">The ScrollViewer.</param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="viewer" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.ScrollViewerExtensions.ScrollIntoView(System.Windows.Controls.ScrollViewer,System.Windows.FrameworkElement)">
+            <summary>
+            Scroll the desired element into the ScrollViewer's viewport.
+            </summary>
+            <param name="viewer">The ScrollViewer.</param>
+            <param name="element">The element to scroll into view.</param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="viewer" /> is null.
+            </exception>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="element" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.ScrollViewerExtensions.ScrollIntoView(System.Windows.Controls.ScrollViewer,System.Windows.FrameworkElement,System.Double,System.Double,System.Windows.Duration)">
+            <summary>
+            Scroll the desired element into the ScrollViewer's viewport.
+            </summary>
+            <param name="viewer">The ScrollViewer.</param>
+            <param name="element">The element to scroll into view.</param>
+            <param name="horizontalMargin">The margin to add on the left or right.
+            </param>
+            <param name="verticalMargin">The margin to add on the top or bottom.
+            </param>
+            <param name="duration">The duration of the animation.</param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="viewer" /> is null.
+            </exception>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="element" /> is null.
+            </exception>
+        </member>
+        <member name="T:System.Windows.Controls.CalendarExtensions">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="F:System.Windows.Controls.CalendarExtensions._suspendedHandlers">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.CalendarExtensions.IsHandlerSuspended(System.Windows.DependencyObject,System.Windows.DependencyProperty)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="obj">Inherited code: Requires comment 1.</param>
+            <param name="dependencyProperty">Inherited code: Requires comment 2.</param>
+            <returns>Inherited code: Requires comment 3.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.CalendarExtensions.SetValueNoCallback(System.Windows.DependencyObject,System.Windows.DependencyProperty,System.Object)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="obj">Inherited code: Requires comment 1.</param>
+            <param name="property">Inherited code: Requires comment 2.</param>
+            <param name="value">Inherited code: Requires comment 3.</param>
+        </member>
+        <member name="M:System.Windows.Controls.CalendarExtensions.SuspendHandler(System.Windows.DependencyObject,System.Windows.DependencyProperty,System.Boolean)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="obj">Inherited code: Requires comment 1.</param>
+            <param name="dependencyProperty">Inherited code: Requires comment 2.</param>
+            <param name="suspend">Inherited code: Requires comment 3.</param>
+        </member>
+        <member name="M:System.Windows.Controls.CalendarExtensions.GetMetaKeyState(System.Boolean@)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="ctrl">Inherited code: Requires comment 1.</param>
+        </member>
+        <member name="M:System.Windows.Controls.CalendarExtensions.GetMetaKeyState(System.Boolean@,System.Boolean@)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="ctrl">Inherited code: Requires comment 2.</param>
+            <param name="shift">Inherited code: Requires comment 3.</param>
+        </member>
+        <member name="M:System.Windows.Controls.CalendarExtensions.ContainsAny(System.Windows.Controls.CalendarDateRange,System.Windows.Controls.CalendarDateRange,System.Windows.Controls.CalendarInfo)">
+            <summary>
+            Returns true if any day in the given DateTime range is contained in
+            the current CalendarDateRange.
+            </summary>
+            <param name="value">The current range.</param>
+            <param name="range">The range to compare.</param>
+            <param name="info">The CalendarInfo.</param>
+            <returns>
+            A value indicating whether any day in the given DateTime range is\
+            contained in the current CalendarDateRange.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.CalendarExtensions.GetDate(System.Windows.Controls.Primitives.GlobalCalendarDayButton)">
+            <summary>
+            Get the date of a GlobalCalendarDayButton.
+            </summary>
+            <param name="button">The button.</param>
+            <returns>The date of the button.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.CalendarExtensions.GetDateNullable(System.Windows.Controls.Primitives.GlobalCalendarDayButton)">
+            <summary>
+            Get the date of a GlobalCalendarDayButton.
+            </summary>
+            <param name="button">The button.</param>
+            <returns>The date of the button.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.CalendarExtensions.SetDate(System.Windows.Controls.Primitives.GlobalCalendarDayButton,System.DateTime)">
+            <summary>
+            Set the date of a GlobalCalendarDayButton.
+            </summary>
+            <param name="button">The button.</param>
+            <param name="date">The date of the button.</param>
+        </member>
+        <member name="T:System.Windows.Controls.CalendarInfo">
+            <summary>
+            Provides globalized calendar operations.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="M:System.Windows.Controls.CalendarInfo.#ctor">
+            <summary>
+            Initializes a new instance of the CalendarInfo class.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.CalendarInfo.EnsureDateFormatInfo">
+            <summary>
+            Get the DateFormatInfo and ensure it's not null.
+            </summary>
+            <returns>The DateFormatInfo.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.CalendarInfo.Compare(System.DateTime,System.DateTime)">
+            <summary>
+            Compares two instances of DateTime and returns an integer that
+            indicates whether the first instance is earlier than, the same as,
+            or later than the second instance.
+            </summary>
+            <param name="first">The first DateTime.</param>
+            <param name="second">The second DateTime.</param>
+            <returns>
+            Less than zero indicates that first is less than second, zero
+            indicates that first equals second, and greater than zero indicated
+            that second is greater than first.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.CalendarInfo.CompareDays(System.DateTime,System.DateTime)">
+            <summary>
+            Compares the days of two instances of DateTime and returns an
+            integer that indicates whether the first instance is earlier than,
+            the same as, or later than the second instance.
+            </summary>
+            <param name="first">The first DateTime.</param>
+            <param name="second">The second DateTime.</param>
+            <returns>
+            Less than zero indicates that first is less than second, zero
+            indicates that first equals second, and greater than zero indicated
+            that second is greater than first.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.CalendarInfo.AddDays(System.DateTime,System.Int32)">
+            <summary>
+            Returns a DateTime that is the specified number of days away from
+            the specified DateTime.
+            </summary>
+            <param name="day">The DateTime to which to add days.</param>
+            <param name="days">The number of days to add.</param>
+            <returns>
+            The DateTime that results from adding the specified number of days
+            to the specified DateTime.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.CalendarInfo.AddMonths(System.DateTime,System.Int32)">
+            <summary>
+            Returns a DateTime that is the specified number of months away from
+            the specified DateTime.
+            </summary>
+            <param name="day">The DateTime to which to add months.</param>
+            <param name="months">The number of months to add.</param>
+            <returns>
+            The DateTime that results from adding the specified number of months
+            to the specified DateTime.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.CalendarInfo.AddYears(System.DateTime,System.Int32)">
+            <summary>
+            Returns a DateTime that is the specified number of years away from
+            the specified DateTime.
+            </summary>
+            <param name="day">The DateTime to which to add years.</param>
+            <param name="years">The number of years to add.</param>
+            <returns>
+            The DateTime that results from adding the specified number of years
+            to the specified DateTime.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.CalendarInfo.GetMonthDifference(System.DateTime,System.DateTime)">
+            <summary>
+            Get the number of months between two dates.
+            </summary>
+            <param name="first">The first date.</param>
+            <param name="second">The second date.</param>
+            <returns>The number of months between the two dates.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.CalendarInfo.GetDecadeStart(System.DateTime)">
+            <summary>
+            Get the start of the DateTime's decade.
+            </summary>
+            <param name="day">The DateTime.</param>
+            <returns>The start of the DateTime's decade.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.CalendarInfo.GetDecadeEnd(System.DateTime)">
+            <summary>
+            Get the end of the DateTime's decade.
+            </summary>
+            <param name="day">The DateTime.</param>
+            <returns>The end of the DateTime's decade.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.CalendarInfo.GetDayOfWeek(System.DateTime)">
+            <summary>
+            Get the day of the week of a DateTime.
+            </summary>
+            <param name="day">The DateTime.</param>
+            <returns>The day of the week of a DateTime.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.CalendarInfo.GetFirstDayInYear(System.DateTime)">
+            <summary>
+            Get the first day in the year of a DateTime.
+            </summary>
+            <param name="day">The DateTime.</param>
+            <returns>The first day in the year of a DateTime.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.CalendarInfo.GetFirstDayInMonth(System.DateTime)">
+            <summary>
+            Get the first day in the month of a DateTime.
+            </summary>
+            <param name="day">The DateTime.</param>
+            <returns>The first day in the month of a DateTime.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.CalendarInfo.GetShortestDayName(System.Int32)">
+            <summary>
+            Get the shortest day name for a given day of week.
+            </summary>
+            <param name="dayOfWeekIndex">Index of the day of week.</param>
+            <returns>The shortest day name for a given day of week.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.CalendarInfo.GetAbbreviatedMonthName(System.Int32)">
+            <summary>
+            Get the abbreviated month name for a given month.
+            </summary>
+            <param name="monthIndex">Index of the month.</param>
+            <returns>The abbreviated month name for a given month.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.CalendarInfo.DayToString(System.DateTime)">
+            <summary>
+            Convert the day of a DateTime to a string.
+            </summary>
+            <param name="day">The DateTime.</param>
+            <returns>String representation of the day of a DateTime.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.CalendarInfo.MonthAndYearToString(System.DateTime)">
+            <summary>
+            Convert the year and month of a DateTime to a string.
+            </summary>
+            <param name="day">The DateTime.</param>
+            <returns>
+            String representation of the year and month of a DateTime.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.CalendarInfo.YearToString(System.DateTime)">
+            <summary>
+            Convert the year of a DateTime to a string.
+            </summary>
+            <param name="day">The DateTime.</param>
+            <returns>String representation of the year of a DateTime.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.CalendarInfo.DecadeToString(System.Int32,System.Int32)">
+            <summary>
+            Convert a decade range to a string.
+            </summary>
+            <param name="decadeStart">The start of the decade.</param>
+            <param name="decadeEnd">The end of the decade.</param>
+            <returns>String representation of the decade range.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.CalendarInfo.DateToString(System.DateTime)">
+            <summary>
+            Convert a DateTime to a string.
+            </summary>
+            <param name="day">The DateTime.</param>
+            <returns>String representation of the date.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.CalendarInfo.DateToLongString(System.DateTime)">
+            <summary>
+            Convert a DateTime to a long format string.
+            </summary>
+            <param name="day">The DateTime.</param>
+            <returns>Long format string representation of the date.</returns>
+        </member>
+        <member name="P:System.Windows.Controls.CalendarInfo.DateFormatInfo">
+            <summary>
+            Gets the DateTimeFormatInfo to use for formatting.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.CalendarInfo.DaysInWeek">
+            <summary>
+            Gets the number of days in a week.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.CalendarInfo.FirstDayOfWeek">
+            <summary>
+            Gets the first day of the week.
+            </summary>
+        </member>
+        <member name="T:System.Windows.Controls.CultureCalendarInfo">
+            <summary>
+            Provides globalized calendar operations based on a specific culture.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="M:System.Windows.Controls.CultureCalendarInfo.#ctor">
+            <summary>
+            Initializes a new instance of the CultureCalendarInfo class.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.CultureCalendarInfo.#ctor(System.Globalization.CultureInfo)">
+            <summary>
+            Initializes a new instance of the CultureCalendarInfo class.
+            </summary>
+            <param name="culture">
+            The culture used to provide the calendar operations.
+            </param>
+        </member>
+        <member name="M:System.Windows.Controls.CultureCalendarInfo.AddDays(System.DateTime,System.Int32)">
+            <summary>
+            Returns a DateTime that is the specified number of days away from
+            the specified DateTime.
+            </summary>
+            <param name="day">The DateTime to which to add days.</param>
+            <param name="days">The number of days to add.</param>
+            <returns>
+            The DateTime that results from adding the specified number of days
+            to the specified DateTime.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.CultureCalendarInfo.AddMonths(System.DateTime,System.Int32)">
+            <summary>
+            Returns a DateTime that is the specified number of months away from
+            the specified DateTime.
+            </summary>
+            <param name="day">The DateTime to which to add months.</param>
+            <param name="months">The number of months to add.</param>
+            <returns>
+            The DateTime that results from adding the specified number of months
+            to the specified DateTime.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.CultureCalendarInfo.AddYears(System.DateTime,System.Int32)">
+            <summary>
+            Returns a DateTime that is the specified number of years away from
+            the specified DateTime.
+            </summary>
+            <param name="day">The DateTime to which to add years.</param>
+            <param name="years">The number of years to add.</param>
+            <returns>
+            The DateTime that results from adding the specified number of years
+            to the specified DateTime.
+            </returns>
+        </member>
+        <member name="P:System.Windows.Controls.CultureCalendarInfo.Culture">
+            <summary>
+            Gets the culture used to provide the calendar operations.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.CultureCalendarInfo.DateFormatInfo">
+            <summary>
+            Gets the DateTimeFormatInfo to use for formatting.
+            </summary>
+        </member>
+        <member name="T:System.Windows.Controls.GregorianCalendarInfo">
+            <summary>
+            Provides globalized calendar operations based on the GregorianCalendar.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="F:System.Windows.Controls.GregorianCalendarInfo._calendar">
+            <summary>
+            The Calendar that provides our date operations.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.GregorianCalendarInfo._formatInfo">
+            <summary>
+            The DateTimeFormatInfo to use for formatting.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.GregorianCalendarInfo.#ctor">
+            <summary>
+            Initializes a new instance of the GregorianCalendarInfo class.
+            </summary>
+            <remarks>
+            Uses the most appropriate GregorianCalendar for
+            CultureInfo.CurrentCulture.
+            </remarks>
+        </member>
+        <member name="M:System.Windows.Controls.GregorianCalendarInfo.#ctor(System.Globalization.CultureInfo)">
+            <summary>
+            Initializes a new instance of the GregorianCalendarInfo class.
+            </summary>
+            <param name="culture">
+            The culture used to provide the GregorianCalendar and date
+            formatting information.
+            </param>
+        </member>
+        <member name="M:System.Windows.Controls.GregorianCalendarInfo.AddDays(System.DateTime,System.Int32)">
+            <summary>
+            Returns a DateTime that is the specified number of days away from
+            the specified DateTime.
+            </summary>
+            <param name="day">The DateTime to which to add days.</param>
+            <param name="days">The number of days to add.</param>
+            <returns>
+            The DateTime that results from adding the specified number of days
+            to the specified DateTime.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.GregorianCalendarInfo.AddMonths(System.DateTime,System.Int32)">
+            <summary>
+            Returns a DateTime that is the specified number of months away from
+            the specified DateTime.
+            </summary>
+            <param name="day">The DateTime to which to add months.</param>
+            <param name="months">The number of months to add.</param>
+            <returns>
+            The DateTime that results from adding the specified number of months
+            to the specified DateTime.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.GregorianCalendarInfo.AddYears(System.DateTime,System.Int32)">
+            <summary>
+            Returns a DateTime that is the specified number of years away from
+            the specified DateTime.
+            </summary>
+            <param name="day">The DateTime to which to add years.</param>
+            <param name="years">The number of years to add.</param>
+            <returns>
+            The DateTime that results from adding the specified number of years
+            to the specified DateTime.
+            </returns>
+        </member>
+        <member name="P:System.Windows.Controls.GregorianCalendarInfo.DateFormatInfo">
+            <summary>
+            Gets the DateTimeFormatInfo to use for formatting.
+            </summary>
+        </member>
+        <member name="T:System.Windows.Controls.CalendarDayButtonStyleSelector">
+            <summary>
+            Provides a way to apply GlobalCalendarDayButton Styles based on custom
+            logic. 
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="M:System.Windows.Controls.CalendarDayButtonStyleSelector.#ctor">
+            <summary>
+            Initializes a new instance of the CalendarDayButtonStyleSelector
+            class.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.CalendarDayButtonStyleSelector.SelectStyle(System.DateTime,System.Windows.Controls.Primitives.GlobalCalendarDayButton)">
+            <summary>
+            When overridden in a derived class, returns a
+            GlobalCalendarDayButton Style based on custom logic.
+            </summary>
+            <param name="day">The day to select a Style for.</param>
+            <param name="container">The GlobalCalendarDayButton.</param>
+            <returns>A Style for the GlobalCalendarDayButton.</returns>
+        </member>
+        <member name="T:System.Windows.Controls.GlobalCalendar">
+            <summary>
+            Represents a control that enables a user to select a date by using a
+            visual calendar display.
+            </summary>
+            <remarks>
+            <para>
+            A GlobalCalendar control can be used on its own, or as a drop-down part of a
+            DatePicker control. For more information, see DatePicker.  A GlobalCalendar
+            displays either the days of a month, the months of a year, or the years
+            of a decade, depending on the value of the DisplayMode property.  When
+            displaying the days of a month, the user can select a date, a range of
+            dates, or multiple ranges of dates.  The kinds of selections that are
+            allowed are controlled by the SelectionMode property.
+            </para>
+            <para>
+            The range of dates displayed is governed by the DisplayDateStart and
+            DisplayDateEnd properties.  If DisplayMode is Year or Decade, only
+            months or years that contain displayable dates will be displayed.
+            Setting the displayable range to a range that does not include the
+            current DisplayDate will throw an ArgumentOutOfRangeException.
+            </para>
+            <para>
+            The BlackoutDates property can be used to specify dates that cannot be
+            selected. These dates will be displayed as dimmed and disabled.
+            </para>
+            <para>
+            By default, Today is highlighted.  This can be disabled by setting
+            IsTodayHighlighted to false.
+            </para>
+            <para>
+            The GlobalCalendar control provides basic navigation using either the mouse or
+            keyboard. The following table summarizes keyboard navigation.
+            
+                Key Combination     DisplayMode     Action
+                ARROW               Any             Change focused date, unselect
+                                                    all selected dates, and select
+                                                    new focused date.
+                                                    
+                SHIFT+ARROW         Any             If SelectionMode is not set to
+                                                    SingleDate or None begin
+                                                    selecting a range of dates.
+                                                    
+                CTRL+UP ARROW       Any             Switch to the next larger
+                                                    DisplayMode.  If DisplayMode is
+                                                    already Decade, no action.
+                                                    
+                CTRL+DOWN ARROW     Any             Switch to the next smaller
+                                                    DisplayMode.  If DisplayMode is
+                                                    already Month, no action.
+                                                    
+                SPACEBAR            Month           Select focused date.
+                
+                SPACEBAR            Year or Decade  Switch DisplayMode to the Month
+                                                    or Year represented by focused
+                                                    item.
+                                                    
+                CTRL+HOME           Any             Switch DisplayMode to Month,
+                                                    show today's date, and try to
+                                                    select the date if allowed.
+            </para>
+            <para>
+            XAML Usage for Classes Derived from GlobalCalendar
+            If you define a class that derives from GlobalCalendar, the class can be used
+            as an object element in XAML, and all of the inherited properties and
+            events that show a XAML usage in the reference for the GlobalCalendar members
+            can have the same XAML usage for the derived class. However, the object
+            element itself must have a different prefix mapping than the controls:
+            mapping shown in the usages, because the derived class comes from an
+            assembly and namespace that you create and define.  You must define your
+            own prefix mapping to an XML namespace to use the class as an object
+            element in XAML.
+            </para>
+            </remarks>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="F:System.Windows.Controls.GlobalCalendar.RowsPerMonth">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.GlobalCalendar.ColumnsPerMonth">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.GlobalCalendar.RowsPerYear">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.GlobalCalendar.ColumnsPerYear">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.GlobalCalendar.ElementRoot">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.GlobalCalendar.ElementMonth">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.GlobalCalendar.DefaultCalendarInfo">
+            <summary>
+            The default CalendarInfo used to provide globalized date operations.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.GlobalCalendar.CalendarInfoProperty">
+            <summary>
+            Identifies the CalendarInfo dependency property.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.OnCalendarInfoPropertyChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+            CalendarInfoProperty property changed handler.
+            </summary>
+            <param name="d">GlobalCalendar that changed its CalendarInfo.</param>
+            <param name="e">Event arguments.</param>
+        </member>
+        <member name="F:System.Windows.Controls.GlobalCalendar.CalendarButtonStyleProperty">
+            <summary>
+            Identifies the
+            <see cref="P:System.Windows.Controls.GlobalCalendar.CalendarButtonStyle" />
+            dependency property.
+            </summary>
+            <value>
+            The identifier for the
+            <see cref="P:System.Windows.Controls.GlobalCalendar.CalendarButtonStyle" />
+            dependency property.
+            </value>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.OnCalendarButtonStyleChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="d">Inherited code: Requires comment 1.</param>
+            <param name="e">Inherited code: Requires comment 2.</param>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.EnsureCalendarButtonStyle(System.Windows.Controls.Primitives.GlobalCalendarButton,System.Windows.Style)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="calendarButton">Inherited code: Requires comment 1.</param>
+            <param name="calendarButtonStyle">Inherited code: Requires comment 2.</param>
+        </member>
+        <member name="F:System.Windows.Controls.GlobalCalendar.CalendarDayButtonStyleProperty">
+            <summary>
+            Identifies the
+            <see cref="P:System.Windows.Controls.GlobalCalendar.CalendarDayButtonStyle" />
+            dependency property.
+            </summary>
+            <remarks>
+            The identifier for the
+            <see cref="P:System.Windows.Controls.GlobalCalendar.CalendarDayButtonStyle" />
+            dependency property.
+            </remarks>
+        </member>
+        <member name="F:System.Windows.Controls.GlobalCalendar.CalendarDayButtonStyleSelectorProperty">
+            <summary>
+            Identifies the CalendarDayButtonStyleSelector dependency property.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.OnCalendarDayButtonStyleOrSelectorChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="d">Inherited code: Requires comment 1.</param>
+            <param name="e">Inherited code: Requires comment 2.</param>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.ApplyDayButtonStyle(System.Windows.Controls.Primitives.GlobalCalendarDayButton)">
+            <summary>
+            Apply a Style to a GlobalCalendarDayButton.
+            </summary>
+            <param name="button">The button.</param>
+        </member>
+        <member name="F:System.Windows.Controls.GlobalCalendar.CalendarItemStyleProperty">
+            <summary>
+            Identifies the
+            <see cref="P:System.Windows.Controls.GlobalCalendar.CalendarItemStyle" />
+            dependency property.
+            </summary>
+            <value>
+            The identifier for the
+            <see cref="P:System.Windows.Controls.GlobalCalendar.CalendarItemStyle" />
+            dependency property.
+            </value>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.OnCalendarItemStyleChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="d">Inherited code: Requires comment 1.</param>
+            <param name="e">Inherited code: Requires comment 2.</param>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.EnsureMonthStyle(System.Windows.Controls.Primitives.GlobalCalendarItem,System.Windows.Style)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="month">Inherited code: Requires comment 1 .</param>
+            <param name="monthStyle">Inherited code: Requires comment 2 .</param>
+        </member>
+        <member name="F:System.Windows.Controls.GlobalCalendar.IsTodayHighlightedProperty">
+            <summary>
+            Identifies the
+            <see cref="P:System.Windows.Controls.GlobalCalendar.IsTodayHighlighted" />
+            dependency property.
+            </summary>
+            <value>
+            The identifier for the
+            <see cref="P:System.Windows.Controls.GlobalCalendar.IsTodayHighlighted" />
+            dependency property.
+            </value>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.OnIsTodayHighlightedChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+            IsTodayHighlightedProperty property changed handler.
+            </summary>
+            <param name="d">
+            GlobalCalendar that changed its IsTodayHighlighted.
+            </param>
+            <param name="e">The DependencyPropertyChangedEventArgs.</param>
+        </member>
+        <member name="F:System.Windows.Controls.GlobalCalendar.DisplayModeProperty">
+            <summary>
+            Identifies the
+            <see cref="P:System.Windows.Controls.GlobalCalendar.DisplayMode" />
+            dependency property.
+            </summary>
+            <value>
+            The identifier for the
+            <see cref="P:System.Windows.Controls.GlobalCalendar.DisplayMode" />
+            dependency property.
+            </value>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.OnDisplayModePropertyChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+            DisplayModeProperty property changed handler.
+            </summary>
+            <param name="d">GlobalCalendar that changed its DisplayMode.</param>
+            <param name="e">The DependencyPropertyChangedEventArgs.</param>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.IsValidDisplayMode(System.Windows.Controls.CalendarMode)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="mode">Inherited code: Requires comment 1.</param>
+            <returns>Inherited code: Requires comment 2.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.OnDisplayModeChanged(System.Windows.Controls.CalendarModeChangedEventArgs)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="args">Inherited code: Requires comment 1.</param>
+        </member>
+        <member name="F:System.Windows.Controls.GlobalCalendar.FirstDayOfWeekProperty">
+            <summary>
+            Identifies the
+            <see cref="P:System.Windows.Controls.GlobalCalendar.FirstDayOfWeek" />
+            dependency property.
+            </summary>
+            <value>
+            The identifier for the
+            <see cref="P:System.Windows.Controls.GlobalCalendar.FirstDayOfWeek" />
+            dependency property.
+            </value>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.OnFirstDayOfWeekChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+            FirstDayOfWeekProperty property changed handler.
+            </summary>
+            <param name="d">GlobalCalendar that changed its FirstDayOfWeek.</param>
+            <param name="e">The DependencyPropertyChangedEventArgs.</param>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.IsValidFirstDayOfWeek(System.Object)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="value">Inherited code: Requires comment 1.</param>
+            <returns>Inherited code: Requires comment 2.</returns>
+        </member>
+        <member name="F:System.Windows.Controls.GlobalCalendar.SelectionModeProperty">
+            <summary>
+            Identifies the
+            <see cref="P:System.Windows.Controls.GlobalCalendar.SelectionMode" />
+            dependency property.
+            </summary>
+            <value>
+            The identifier for the
+            <see cref="P:System.Windows.Controls.GlobalCalendar.SelectionMode" />
+            dependency property.
+            </value>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.OnSelectionModeChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="d">Inherited code: Requires comment 1.</param>
+            <param name="e">Inherited code: Requires comment 2.</param>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.IsValidSelectionMode(System.Object)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="value">Inherited code: Requires comment 1.</param>
+            <returns>Inherited code: Requires comment 2.</returns>
+        </member>
+        <member name="F:System.Windows.Controls.GlobalCalendar.SelectedDateProperty">
+            <summary>
+            Identifies the
+            <see cref="P:System.Windows.Controls.GlobalCalendar.SelectedDate" />
+            dependency property.
+            </summary>
+            <value>
+            The identifier for the
+            <see cref="P:System.Windows.Controls.GlobalCalendar.SelectedDate" />
+            dependency property.
+            </value>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.OnSelectedDateChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+            SelectedDateProperty property changed handler.
+            </summary>
+            <param name="d">GlobalCalendar that changed its SelectedDate.</param>
+            <param name="e">The DependencyPropertyChangedEventArgs.</param>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.IsSelectionChanged(System.Windows.Controls.SelectionChangedEventArgs)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="e">Inherited code: Requires comment 1.</param>
+            <returns>Inherited code: Requires comment 2.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.OnSelectedDatesCollectionChanged(System.Windows.Controls.SelectionChangedEventArgs)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="e">Inherited code: Requires comment 1.</param>
+        </member>
+        <member name="F:System.Windows.Controls.GlobalCalendar._selectedMonth">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.GlobalCalendar._selectedYear">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.GlobalCalendar.DisplayDateProperty">
+            <summary>
+            Identifies the
+            <see cref="P:System.Windows.Controls.GlobalCalendar.DisplayDate" />
+            dependency property.
+            </summary>
+            <value>
+            The identifier for the
+            <see cref="P:System.Windows.Controls.GlobalCalendar.DisplayDate" />
+            dependency property.
+            </value>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.OnDisplayDateChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+            DisplayDateProperty property changed handler.
+            </summary>
+            <param name="d">GlobalCalendar that changed its DisplayDate.</param>
+            <param name="e">The DependencyPropertyChangedEventArgs.</param>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.OnDisplayDate(System.Windows.Controls.GlobalCalendarDateChangedEventArgs)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="e">Inherited code: Requires comment 1.</param>
+        </member>
+        <member name="F:System.Windows.Controls.GlobalCalendar.DisplayDateStartProperty">
+            <summary>
+            Identifies the
+            <see cref="P:System.Windows.Controls.GlobalCalendar.DisplayDateStart" />
+            dependency property.
+            </summary>
+            <value>
+            The identifier for the
+            <see cref="P:System.Windows.Controls.GlobalCalendar.DisplayDateStart" />
+            dependency property.
+            </value>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.OnDisplayDateStartChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+            DisplayDateStartProperty property changed handler.
+            </summary>
+            <param name="d">GlobalCalendar that changed its DisplayDateStart.</param>
+            <param name="e">The DependencyPropertyChangedEventArgs.</param>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.SelectedDateMin(System.Windows.Controls.GlobalCalendar)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="cal">Inherited code: Requires comment 1.</param>
+            <returns>Inherited code: Requires comment 2.</returns>
+        </member>
+        <member name="F:System.Windows.Controls.GlobalCalendar.DisplayDateEndProperty">
+            <summary>
+            Identifies the
+            <see cref="P:System.Windows.Controls.GlobalCalendar.DisplayDateEnd" />
+            dependency property.
+            </summary>
+            <value>
+            The identifier for the
+            <see cref="P:System.Windows.Controls.GlobalCalendar.DisplayDateEnd" />
+            dependency property.
+            </value>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.OnDisplayDateEndChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+            DisplayDateEndProperty property changed handler.
+            </summary>
+            <param name="d">GlobalCalendar that changed its DisplayDateEnd.</param>
+            <param name="e">The DependencyPropertyChangedEventArgs.</param>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.SelectedDateMax(System.Windows.Controls.GlobalCalendar)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="cal">Inherited code: Requires comment 1.</param>
+            <returns>Inherited code: Requires comment 2.</returns>
+        </member>
+        <member name="F:System.Windows.Controls.GlobalCalendar._isShiftPressed">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.#ctor">
+            <summary>
+            Initializes a new instance of the
+            <see cref="T:System.Windows.Controls.GlobalCalendar" /> class.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.OnApplyTemplate">
+            <summary>
+            Builds the visual tree for the
+            <see cref="T:System.Windows.Controls.GlobalCalendar" /> when a new
+            template is applied.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.Calendar_SizeChanged(System.Object,System.Windows.SizeChangedEventArgs)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="sender">Inherited code: Requires comment 1.</param>
+            <param name="e">Inherited code: Requires comment 2.</param>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.ResetStates">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.ToString">
+            <summary>
+            Provides a text representation of the selected date.
+            </summary>
+            <returns>
+            A text representation of the selected date, or an empty string if
+            <see cref="P:System.Windows.Controls.GlobalCalendar.SelectedDate" /> is
+            null.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.OnCreateAutomationPeer">
+            <summary>
+            Returns a
+            <see cref="T:System.Windows.Automation.Peers.GlobalCalendarAutomationPeer" />
+            for use by the Silverlight automation infrastructure.
+            </summary>
+            <returns>
+            A
+            <see cref="T:System.Windows.Automation.Peers.GlobalCalendarAutomationPeer" />
+            for the <see cref="T:System.Windows.Controls.GlobalCalendar" /> object.
+            </returns>
+            <remarks>
+            <para>
+            This method creates a new GlobalCalendarAutomationPeer instance if one has
+            not been created for the control instance; otherwise, it returns the
+            GlobalCalendarAutomationPeer previously created.
+            </para>
+            <para>
+            Classes that participate in the Silverlight automation
+            infrastructure must implement this method to return a class-specific
+            derived class of AutomationPeer that reports information for
+            automation behavior.
+            </para>
+            </remarks>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.OnIsEnabledChanged(System.Object,System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+             Called when the IsEnabled property changes.
+            </summary>
+            <param name="sender">Sender object.</param>
+            <param name="e">Property changed args.</param>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.FindDayButtonFromDay(System.DateTime)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="day">Inherited code: Requires comment 1.</param>
+            <returns>Inherited code: Requires comment 2.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.UpdateMonths">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.OnSelectedMonthChanged(System.Nullable{System.DateTime})">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="selectedMonth">Inherited code: Requires comment 1.</param>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.OnSelectedYearChanged(System.Nullable{System.DateTime})">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="selectedYear">Inherited code: Requires comment 1.</param>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.IsValidDateSelection(System.Windows.Controls.GlobalCalendar,System.Object)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="cal">Inherited code: Requires comment 1.</param>
+            <param name="value">Inherited code: Requires comment 2.</param>
+            <returns>Inherited code: Requires comment 3.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.IsValidKeyboardSelection(System.Windows.Controls.GlobalCalendar,System.Object)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="cal">Inherited code: Requires comment 1.</param>
+            <param name="value">Inherited code: Requires comment 2.</param>
+            <returns>Inherited code: Requires comment 3.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.AddSelection">
+            <summary>
+            This method adds the days that were selected by Keyboard to the
+            SelectedDays Collection.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.ProcessSelection(System.Boolean,System.Nullable{System.DateTime},System.Nullable{System.Int32})">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="shift">Inherited code: Requires comment 1.</param>
+            <param name="lastSelectedDate">Inherited code: Requires comment 2.</param>
+            <param name="index">Inherited code: Requires comment 3.</param>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.HighlightDays">
+            <summary>
+            This method highlights the days in MultiSelection mode without
+            adding them to the SelectedDates collection.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.UnHighlightDays">
+            <summary>
+            This method un-highlights the days that were hovered over but not
+            added to the SelectedDates collection or un-highlighted the
+            previously selected days in SingleRange Mode.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.SortHoverIndexes(System.Int32@,System.Int32@)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="startIndex">Inherited code: Requires comment 1.</param>
+            <param name="endIndex">Inherited code: Requires comment 2.</param>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.Calendar_MouseLeftButtonUp(System.Object,System.Windows.Input.MouseButtonEventArgs)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="sender">Inherited code: Requires comment 1.</param>
+            <param name="e">Inherited code: Requires comment 2.</param>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.OnHeaderClick">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.OnNextClick">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.OnPreviousClick">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.OnDayClick(System.DateTime)">
+            <summary>
+            If the day is a trailing day, Update the DisplayDate.
+            </summary>
+            <param name="selectedDate">Inherited code: Requires comment.</param>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.OnMonthClick">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.OnDayButtonMouseUp(System.Windows.Input.MouseButtonEventArgs)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="e">Inherited code: Requires comment 1.</param>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.OnMouseWheel(System.Windows.Input.MouseWheelEventArgs)">
+            <summary>
+            Mouse wheel handler simulates (Ctrl+)PageUp/Down.
+            </summary>
+            <param name="e">Event arguments.</param>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.Calendar_KeyDown(System.Object,System.Windows.Input.KeyEventArgs)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="sender">Inherited code: Requires comment 1.</param>
+            <param name="e">Inherited code: Requires comment 2.</param>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.ProcessCalendarKey(System.Windows.Input.KeyEventArgs)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="e">Inherited code: Requires comment 1.</param>
+            <returns>Inherited code: Requires comment 2.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.ProcessUpKey(System.Boolean,System.Boolean)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="ctrl">Inherited code: Requires comment 1.</param>
+            <param name="shift">Inherited code: Requires comment 2.</param>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.ProcessDownKey(System.Boolean,System.Boolean)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="ctrl">Inherited code: Requires comment 1.</param>
+            <param name="shift">Inherited code: Requires comment 2.</param>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.ProcessLeftKey(System.Boolean)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="shift">Inherited code: Requires comment 1.</param>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.ProcessRightKey(System.Boolean)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="shift">Inherited code: Requires comment 1.</param>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.ProcessEnterKey">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <returns>Inherited code: Requires comment 1.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.ProcessHomeKey(System.Boolean,System.Boolean)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="ctrl">
+            A value indicating whether the Control key is pressed.
+            </param>
+            <param name="shift">
+            A value indicating whether the Shift key is pressed.
+            </param>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.ProcessEndKey(System.Boolean)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="shift">Inherited code: Requires comment 1.</param>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.ProcessPageDownKey(System.Boolean)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="shift">Inherited code: Requires comment 1.</param>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.ProcessPageUpKey(System.Boolean)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="shift">Inherited code: Requires comment 1.</param>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.Calendar_KeyUp(System.Object,System.Windows.Input.KeyEventArgs)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="sender">Inherited code: Requires comment 1.</param>
+            <param name="e">Inherited code: Requires comment 2.</param>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.ProcessShiftKeyUp">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.Calendar_GotFocus(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="sender">Inherited code: Requires comment 1.</param>
+            <param name="e">Inherited code: Requires comment 2.</param>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendar.Calendar_LostFocus(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="sender">Inherited code: Requires comment1 .</param>
+            <param name="e">Inherited code: Requires comment 2.</param>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendar.Root">
+            <summary>
+            Gets or sets Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendar.CalendarInfo">
+            <summary>
+            Gets or sets the CalendarInfo that provides globalized date
+            operations.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendar.Info">
+            <summary>
+            Gets the CalendarInfo that provides globalized date operations.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendar.MonthControl">
+            <summary>
+            Gets Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendar.FocusButton">
+            <summary>
+            Gets or sets Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendar.FocusCalendarButton">
+            <summary>
+            Gets or sets Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendar.CalendarButtonStyle">
+            <summary>
+            Gets or sets the <see cref="T:System.Windows.Style" /> associated
+            with the control's internal
+            <see cref="T:System.Windows.Controls.Primitives.GlobalCalendarButton" />
+            object.
+            </summary>
+            <value>
+            The current style of the
+            <see cref="T:System.Windows.Controls.Primitives.GlobalCalendarButton" />
+            object.
+            </value>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendar.CalendarDayButtonStyle">
+            <summary>
+            Gets or sets the <see cref="T:System.Windows.Style" /> associated
+            with the control's internal
+            <see cref="T:System.Windows.Controls.Primitives.GlobalCalendarDayButton" />
+            object.
+            </summary>
+            <value>
+            The current style of the
+            <see cref="T:System.Windows.Controls.Primitives.GlobalCalendarDayButton" />
+            object.
+            </value>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendar.CalendarDayButtonStyleSelector">
+            <summary>
+            Gets or sets a CalendarDayButtonStyleSelector that enables an application writer
+            to provide custom style-selection logic for the day buttons.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendar.CalendarItemStyle">
+            <summary>
+            Gets or sets the <see cref="T:System.Windows.Style" /> associated
+            with the control's internal
+            <see cref="T:System.Windows.Controls.Primitives.GlobalCalendarItem" />
+            object.
+            </summary>
+            <value>
+            The current style of the
+            <see cref="T:System.Windows.Controls.Primitives.GlobalCalendarItem" />
+            object.
+            </value>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendar.IsTodayHighlighted">
+            <summary>
+            Gets or sets a value indicating whether the current date is
+            highlighted.
+            </summary>
+            <value>
+            True if the current date is highlighted; otherwise, false. The
+            default is true.
+            </value>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendar.DisplayMode">
+            <summary>
+            Gets or sets a value indicating whether the calendar is displayed in
+            months, years, or decades.
+            </summary>
+            <value>
+            A value indicating what length of time the
+            <see cref="T:System.Windows.Controls.GlobalCalendar" /> should display.
+            </value>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendar.FirstDayOfWeek">
+            <summary>
+            Gets or sets the day that is considered the beginning of the week.
+            </summary>
+            <value>
+            A <see cref="T:System.DayOfWeek" /> representing the beginning of
+            the week. The default is <see cref="F:System.DayOfWeek.Sunday" />.
+            </value>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendar.FirstDay">
+            <summary>
+            Gets the day that is considered the beginning of the week.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendar.SelectionMode">
+            <summary>
+            Gets or sets a value that indicates what kind of selections are
+            allowed.
+            </summary>
+            <value>
+            A value that indicates the current selection mode. The default is
+            <see cref="F:System.Windows.Controls.CalendarSelectionMode.SingleDate" />.
+            </value>
+            <remarks>
+            <para>
+            This property determines whether the GlobalCalendar allows no selection,
+            selection of a single date, or selection of multiple dates.  The
+            selection mode is specified with the CalendarSelectionMode
+            enumeration.
+            </para>
+            <para>
+            When this property is changed, all selected dates will be cleared.
+            </para>
+            </remarks>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendar.SelectedDate">
+            <summary>
+            Gets or sets the currently selected date.
+            </summary>
+            <value>The date currently selected. The default is null.</value>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            The given date is outside the range specified by
+            <see cref="P:System.Windows.Controls.GlobalCalendar.DisplayDateStart" />
+            and <see cref="P:System.Windows.Controls.GlobalCalendar.DisplayDateEnd" />
+            -or-
+            The given date is in the
+            <see cref="P:System.Windows.Controls.GlobalCalendar.BlackoutDates" />
+            collection.
+            </exception>
+            <exception cref="T:System.InvalidOperationException">
+            If set to anything other than null when
+            <see cref="P:System.Windows.Controls.GlobalCalendar.SelectionMode" /> is
+            set to
+            <see cref="F:System.Windows.Controls.CalendarSelectionMode.None" />.
+            </exception>
+            <remarks>
+            Use this property when SelectionMode is set to SingleDate.  In other
+            modes, this property will always be the first date in SelectedDates.
+            </remarks>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendar.SelectedDates">
+            <summary>
+            Gets a collection of selected dates.
+            </summary>
+            <value>
+            A <see cref="T:System.Windows.Controls.GlobalSelectedDatesCollection" />
+            object that contains the currently selected dates. The default is an
+            empty collection.
+            </value>
+            <remarks>
+            Dates can be added to the collection either individually or in a
+            range using the AddRange method.  Depending on the value of the
+            SelectionMode property, adding a date or range to the collection may
+            cause it to be cleared.  The following table lists how
+            CalendarSelectionMode affects the SelectedDates property.
+            
+                CalendarSelectionMode   Description
+                None                    No selections are allowed.  SelectedDate
+                                        cannot be set and no values can be added
+                                        to SelectedDates.
+                                        
+                SingleDate              Only a single date can be selected,
+                                        either by setting SelectedDate or the
+                                        first value in SelectedDates.  AddRange
+                                        cannot be used.
+                                        
+                SingleRange             A single range of dates can be selected.
+                                        Setting SelectedDate, adding a date
+                                        individually to SelectedDates, or using
+                                        AddRange will clear all previous values
+                                        from SelectedDates.
+                MultipleRange           Multiple non-contiguous ranges of dates
+                                        can be selected. Adding a date
+                                        individually to SelectedDates or using
+                                        AddRange will not clear SelectedDates.
+                                        Setting SelectedDate will still clear
+                                        SelectedDates, but additional dates or
+                                        range can then be added.  Adding a range
+                                        that includes some dates that are
+                                        already selected or overlaps with
+                                        another range results in the union of
+                                        the ranges and does not cause an
+                                        exception.
+            </remarks>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendar.RemovedItems">
+            <summary>
+            Gets or sets Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendar.LastSelectedDateInternal">
+            <summary>
+            Gets or sets Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendar.LastSelectedDate">
+            <summary>
+            Gets or sets Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendar.SelectedMonth">
+            <summary>
+            Gets or sets Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendar.SelectedYear">
+            <summary>
+            Gets or sets Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendar.BlackoutDates">
+            <summary>
+            Gets a collection of dates that are marked as not selectable.
+            </summary>
+            <value>
+            A collection of dates that cannot be selected. The default value is
+            an empty collection.
+            </value>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            Adding a date to this collection when it is already selected or
+            adding a date outside the range specified by DisplayDateStart and
+            DisplayDateEnd.
+            </exception>
+            <remarks>
+            <para>
+            Dates in this collection will appear as disabled on the calendar.
+            </para>
+            <para>
+            To make all past dates not selectable, you can use the
+            AddDatesInPast method provided by the collection returned by this
+            property.
+            </para>
+            </remarks>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendar.DisplayDate">
+            <summary>
+            Gets or sets the date to display.
+            </summary>
+            <value>The date to display.</value>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            The given date is not in the range specified by
+            <see cref="P:System.Windows.Controls.GlobalCalendar.DisplayDateStart" />
+            and
+            <see cref="P:System.Windows.Controls.GlobalCalendar.DisplayDateEnd" />.
+            </exception>
+            <remarks>
+            <para>
+            This property allows the developer to specify a date to display.  If
+            this property is a null reference (Nothing in Visual Basic),
+            SelectedDate is displayed.  If SelectedDate is also a null reference
+            (Nothing in Visual Basic), Today is displayed.  The default is
+            Today.
+            </para>
+            <para>
+            To set this property in XAML, use a date specified in the format
+            yyyy/mm/dd.  The mm and dd components must always consist of two
+            characters, with a leading zero if necessary.  For instance, the
+            month of May should be specified as 05.
+            </para>
+            </remarks>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendar.DisplayDateInternal">
+            <summary>
+            Gets Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendar.DisplayDateStart">
+            <summary>
+            Gets or sets the first date to be displayed.
+            </summary>
+            <value>The first date to display.</value>
+            <remarks>
+            To set this property in XAML, use a date specified in the format
+            yyyy/mm/dd.  The mm and dd components must always consist of two
+            characters, with a leading zero if necessary.  For instance, the
+            month of May should be specified as 05.
+            </remarks>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendar.DisplayDateRangeStart">
+            <summary>
+            Gets Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendar.DisplayDateEnd">
+            <summary>
+            Gets or sets the last date to be displayed.
+            </summary>
+            <value>The last date to display.</value>
+            <remarks>
+            To set this property in XAML, use a date specified in the format
+            yyyy/mm/dd.  The mm and dd components must always consist of two
+            characters, with a leading zero if necessary.  For instance, the
+            month of May should be specified as 05.
+            </remarks>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendar.DisplayDateRangeEnd">
+            <summary>
+            Gets Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendar.HoverStart">
+            <summary>
+            Gets or sets Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendar.HoverStartIndex">
+            <summary>
+            Gets or sets Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendar.HoverEndInternal">
+            <summary>
+            Gets or sets Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendar.HoverEnd">
+            <summary>
+            Gets or sets Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendar.HoverEndIndex">
+            <summary>
+            Gets or sets Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendar.HasFocusInternal">
+            <summary>
+            Gets or sets a value indicating whether Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendar.IsMouseSelection">
+            <summary>
+            Gets or sets a value indicating whether Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendar.DatePickerDisplayDateFlag">
+            <summary>
+            Gets or sets a value indicating whether DatePicker should change its 
+            DisplayDate because of a SelectedDate change on its GlobalCalendar.
+            </summary>
+        </member>
+        <member name="E:System.Windows.Controls.GlobalCalendar.SelectedDatesChanged">
+            <summary>
+            Occurs when the collection returned by the
+            <see cref="P:System.Windows.Controls.GlobalCalendar.SelectedDates" />
+            property is changed.
+            </summary>
+        </member>
+        <member name="E:System.Windows.Controls.GlobalCalendar.DisplayDateChanged">
+            <summary>
+            Occurs when the
+            <see cref="P:System.Windows.Controls.GlobalCalendar.DisplayDate" />
+            property is changed.
+            </summary>
+            <remarks>
+            This event occurs after DisplayDate is assigned its new value.
+            </remarks>
+        </member>
+        <member name="E:System.Windows.Controls.GlobalCalendar.DisplayModeChanged">
+            <summary>
+            Occurs when the
+            <see cref="P:System.Windows.Controls.GlobalCalendar.DisplayMode" />
+            property is changed.
+            </summary>
+        </member>
+        <member name="E:System.Windows.Controls.GlobalCalendar.DayButtonMouseUp">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="T:System.Windows.Automation.Peers.GlobalCalendarAutomationPeer">
+            <summary>
+            Exposes <see cref="T:System.Windows.Controls.GlobalCalendar" /> types to UI automation.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarAutomationPeer.#ctor(System.Windows.Controls.GlobalCalendar)">
+            <summary>
+            Initializes a new instance of the
+            <see cref="T:System.Windows.Automation.Peers.GlobalCalendarAutomationPeer" />
+            class.
+            </summary>
+            <param name="owner">
+            The <see cref="T:System.Windows.Controls.GlobalCalendar" /> instance to
+            associate with the
+            <see cref="T:System.Windows.Automation.Peers.GlobalCalendarAutomationPeer" />.
+            </param>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarAutomationPeer.GetPattern(System.Windows.Automation.Peers.PatternInterface)">
+            <summary>
+            Gets the control pattern for this
+            <see cref="T:System.Windows.Automation.Peers.GlobalCalendarAutomationPeer" />.
+            </summary>
+            <param name="patternInterface">
+            One of the enumeration values.
+            </param>
+            <returns>
+            The object that implements the pattern interface, or null if the
+            specified pattern interface is not implemented by this peer.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarAutomationPeer.GetAutomationControlTypeCore">
+            <summary>
+            Returns the control type for the GlobalCalendar that is associated with
+            this GlobalCalendarAutomationPeer.  This method is called by
+            GetAutomationControlType.
+            </summary>
+            <returns>A value of the AutomationControlType enumeration.</returns>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarAutomationPeer.GetClassNameCore">
+            <summary>
+            Returns the name of the UIElement that is associated with this
+            FrameworkElementAutomationPeer.  This method is called by
+            GetClassName.
+            </summary>
+            <returns>
+            The name of the owner type that is associated with this
+            GlobalCalendarAutomationPeer. 
+            </returns>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarAutomationPeer.GetNameCore">
+            <summary>
+            Returns the text label of the GlobalCalendar that is associated with this
+            GlobalCalendarAutomationPeer.  This method is called by GetName.
+            </summary>
+            <returns>
+            The text label of the element that is associated with this
+            automation peer.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarAutomationPeer.System#Windows#Automation#Provider#IGridProvider#GetItem(System.Int32,System.Int32)">
+            <summary>
+            Retrieves the UI automation provider for the specified cell.
+            </summary>
+            <param name="row">
+            The ordinal number of the row.
+            </param>
+            <param name="column">
+            The ordinal number of the column.
+            </param>
+            <returns>
+            The UI automation provider for the specified cell.
+            </returns>
+            <remarks>
+            <para>
+            Grid coordinates are zero-based. The upper-left cell (or upper-right
+            cell, depending on locale) has coordinates (0,0).
+            </para>
+            <para>
+            If a cell is empty, a UI Automation provider must still be returned
+            in order to support the ContainingGrid property for that cell.  This
+            is possible when the layout of child elements in the grid is similar
+            to a ragged array.
+            </para>
+            <para>
+            Hidden rows and columns can be loaded in the tree, depending on the
+            provider implementation.  Therefore, they will be reflected in the
+            RowCount and ColumnCount properties.  If the hidden rows and columns
+            have not yet been loaded, they should not be counted.
+            </para>
+            </remarks>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarAutomationPeer.System#Windows#Automation#Provider#IMultipleViewProvider#GetSupportedViews">
+            <summary>
+            Retrieves a collection of control-specific view identifiers.
+            </summary>
+            <returns>
+            A collection of values that identifies the views that are available
+            for a UI automation element.
+            </returns>
+            <remarks>
+            The collection of view identifiers must be identical across
+            instances.  View identifier values can be passed to GetViewName.
+            </remarks>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarAutomationPeer.System#Windows#Automation#Provider#IMultipleViewProvider#GetViewName(System.Int32)">
+            <summary>
+            Retrieves the name of a control-specific view.
+            </summary>
+            <param name="viewId">The view identifier.</param>
+            <returns>A localized name for the view.</returns>
+            <remarks>
+            View identifiers can be retrieved by using GetSupportedViews.  The
+            collection of view identifiers must be identical across instances.
+            View names must be suitable for use in text-to-speech, Braille, and
+            other accessible applications.
+            </remarks>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarAutomationPeer.System#Windows#Automation#Provider#IMultipleViewProvider#SetCurrentView(System.Int32)">
+            <summary>
+            Sets the current control-specific view.
+            </summary>
+            <param name="viewId">A view identifier.</param>
+            <remarks>
+            View identifiers can be retrieved by using GetSupportedViews.
+            </remarks>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarAutomationPeer.System#Windows#Automation#Provider#ISelectionProvider#GetSelection">
+            <summary>
+            Retrieves a UI automation provider for each child element that is
+            selected.
+            </summary>
+            <returns>
+            A collection of UI automation providers.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarAutomationPeer.RaiseSelectionEvents(System.Windows.Controls.SelectionChangedEventArgs)">
+            <summary>
+            Raise selection AutomationEvents when the GlobalCalendar's SelectedDates
+            collection changes.
+            </summary>
+            <param name="e">Event arguments.</param>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarAutomationPeer.RaiseDayButtonSelectionEvent(System.Windows.Controls.GlobalCalendar,System.DateTime,System.Windows.Automation.Peers.AutomationEvents)">
+            <summary>
+            Raise an automation peer event for the selection of a day button.
+            </summary>
+            <param name="calendar">
+            The GlobalCalendar associated with this automation peer.
+            </param>
+            <param name="date">The selected date.</param>
+            <param name="eventToRaise">The selection event to raise.</param>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarAutomationPeer.System#Windows#Automation#Provider#ITableProvider#GetColumnHeaders">
+            <summary>
+            Gets a collection of UI automation providers that represents all the
+            column headers in a table.
+            </summary>
+            <returns>A collection of UI automation providers.</returns>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarAutomationPeer.System#Windows#Automation#Provider#ITableProvider#GetRowHeaders">
+            <summary>
+            Retrieves a collection of UI automation providers that represents
+            all row headers in the table.
+            </summary>
+            <returns>A collection of UI automation providers.</returns>
+        </member>
+        <member name="P:System.Windows.Automation.Peers.GlobalCalendarAutomationPeer.OwningCalendar">
+            <summary>
+            Gets the GlobalCalendar associated with the GlobalCalendarAutomationPeer.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Automation.Peers.GlobalCalendarAutomationPeer.OwningGrid">
+            <summary>
+            Gets the current top-level Grid of with the GlobalCalendar.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Automation.Peers.GlobalCalendarAutomationPeer.System#Windows#Automation#Provider#IGridProvider#ColumnCount">
+            <summary>
+            Gets the total number of columns in a grid.
+            </summary>
+            <value>
+            The total number of columns in a grid.
+            </value>
+        </member>
+        <member name="P:System.Windows.Automation.Peers.GlobalCalendarAutomationPeer.System#Windows#Automation#Provider#IGridProvider#RowCount">
+            <summary>
+            Gets the total number of rows in a grid.
+            </summary>
+            <value>
+            The total number of rows in a grid.
+            </value>
+        </member>
+        <member name="P:System.Windows.Automation.Peers.GlobalCalendarAutomationPeer.System#Windows#Automation#Provider#IMultipleViewProvider#CurrentView">
+            <summary>
+            Gets the current control-specific view.
+            </summary>
+            <value>
+            The value for the current view of the UI automation element.
+            </value>
+        </member>
+        <member name="P:System.Windows.Automation.Peers.GlobalCalendarAutomationPeer.System#Windows#Automation#Provider#ISelectionProvider#CanSelectMultiple">
+            <summary>
+            Gets a value indicating whether the UI automation provider allows
+            more than one child element to be selected at the same time.
+            </summary>
+            <value>
+            True if multiple selection is allowed; otherwise, false.
+            </value>
+        </member>
+        <member name="P:System.Windows.Automation.Peers.GlobalCalendarAutomationPeer.System#Windows#Automation#Provider#ISelectionProvider#IsSelectionRequired">
+            <summary>
+            Gets a value indicating whether the UI automation provider
+            requires at least one child element to be selected.
+            </summary>
+            <value>
+            True if selection is required; otherwise, false.
+            </value>
+        </member>
+        <member name="P:System.Windows.Automation.Peers.GlobalCalendarAutomationPeer.System#Windows#Automation#Provider#ITableProvider#RowOrColumnMajor">
+            <summary>
+            Gets the primary direction of traversal for the table.
+            </summary>
+            <value>
+            The primary direction of traversal.
+            </value>
+        </member>
+        <member name="T:System.Windows.Controls.GlobalCalendarBlackoutDatesCollection">
+            <summary>
+            Represents a collection of non-selectable dates in a
+            <see cref="T:System.Windows.Controls.GlobalCalendar" />.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="F:System.Windows.Controls.GlobalCalendarBlackoutDatesCollection._owner">
+            <summary>
+            The GlobalCalendar whose dates this object represents.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.GlobalCalendarBlackoutDatesCollection._dispatcherThread">
+            <summary>
+            The dispatcher thread.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendarBlackoutDatesCollection.#ctor(System.Windows.Controls.GlobalCalendar)">
+            <summary>
+            Initializes a new instance of the
+            <see cref="T:System.Windows.Controls.GlobalCalendarBlackoutDatesCollection" />
+            class.
+            </summary>
+            <param name="owner">
+            The <see cref="T:System.Windows.Controls.GlobalCalendar" /> whose dates
+            this object represents.
+            </param>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendarBlackoutDatesCollection.AddDatesInPast">
+            <summary>
+            Adds all dates before <see cref="P:System.DateTime.Today" /> to the
+            collection.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendarBlackoutDatesCollection.Contains(System.DateTime)">
+            <summary>
+            Returns a value that represents whether this collection contains the
+            specified date.
+            </summary>
+            <param name="date">The date to search for.</param>
+            <returns>
+            True if the collection contains the specified date; otherwise,
+            false.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendarBlackoutDatesCollection.Contains(System.DateTime,System.DateTime)">
+            <summary>
+            Returns a value that represents whether this collection contains the
+            specified range of dates.
+            </summary>
+            <param name="start">The start of the date range.</param>
+            <param name="end">The end of the date range.</param>
+            <returns>
+            True if all dates in the range are contained in the collection;
+            otherwise, false.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendarBlackoutDatesCollection.ContainsAny(System.Windows.Controls.CalendarDateRange)">
+            <summary>
+            Returns a value that represents whether this collection contains any
+            date in the specified range.
+            </summary>
+            <param name="range">The range of dates to search for.</param>
+            <returns>
+            True if any date in the range is contained in the collection;
+            otherwise, false.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendarBlackoutDatesCollection.ClearItems">
+            <summary>
+            Removes all items from the collection.
+            </summary>
+            <remarks>
+            This implementation raises the CollectionChanged event.
+            </remarks>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendarBlackoutDatesCollection.InsertItem(System.Int32,System.Windows.Controls.CalendarDateRange)">
+            <summary>
+            Inserts an item into the collection at the specified index.
+            </summary>
+            <param name="index">
+            The zero-based index at which item should be inserted.
+            </param>
+            <param name="item">The object to insert.</param>
+            <remarks>
+            This implementation raises the CollectionChanged event.
+            </remarks>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendarBlackoutDatesCollection.RemoveItem(System.Int32)">
+            <summary>
+            Removes the item at the specified index of the collection.
+            </summary>
+            <param name="index">
+            The zero-based index of the element to remove.
+            </param>
+            <remarks>
+            This implementation raises the CollectionChanged event.
+            </remarks>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendarBlackoutDatesCollection.SetItem(System.Int32,System.Windows.Controls.CalendarDateRange)">
+            <summary>
+            Replaces the element at the specified index.
+            </summary>
+            <param name="index">
+            The zero-based index of the element to replace.
+            </param>
+            <param name="item">
+            The new value for the element at the specified index.
+            </param>
+            <remarks>
+            This implementation raises the CollectionChanged event.
+            </remarks>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendarBlackoutDatesCollection.InRange(System.Windows.Controls.CalendarDateRange,System.DateTime)">
+            <summary>
+            Returns a value indicating whether a date is included in the range.
+            </summary>
+            <param name="range">The range to check.</param>
+            <param name="day">The date to check.</param>
+            <returns>
+            A value indicating whether a date is included in the range.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendarBlackoutDatesCollection.IsValid(System.Windows.Controls.CalendarDateRange)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="item">Inherited code: Requires comment 1.</param>
+            <returns>Inherited code: Requires comment 2.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendarBlackoutDatesCollection.EnsureValidThread">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="T:System.Windows.Controls.Primitives.GlobalCalendarButton">
+            <summary>
+            Represents a button on a
+            <see cref="T:System.Windows.Controls.GlobalCalendar" />.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarButton._isCalendarButtonFocused">
+            <summary>
+            A value indicating whether the button is focused.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarButton._isInactive">
+            <summary>
+            A value indicating whether the button is inactive.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarButton._isSelected">
+            <summary>
+            A value indicating whether the button is selected.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarButton.#ctor">
+            <summary>
+            Initializes a new instance of the
+            <see cref="T:System.Windows.Controls.Primitives.GlobalCalendarButton" />
+            class.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarButton.OnLoad(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Handle the Loaded event.
+            </summary>
+            <param name="sender">The GlobalCalendarButton.</param>
+            <param name="e">Event arguments.</param>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarButton.OnApplyTemplate">
+            <summary>
+            Builds the visual tree for the
+            <see cref="T:System.Windows.Controls.Primitives.GlobalCalendarButton" />
+            when a new template is applied.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarButton.OnCreateAutomationPeer">
+            <summary>
+            Returns a GlobalCalendarButtonAutomationPeer for use by the Silverlight
+            automation infrastructure.
+            </summary>
+            <returns>
+            GlobalCalendarButtonAutomationPeer for the Button object.
+            </returns>
+            <remarks>
+            <para>
+            This method creates a new GlobalCalendarButtonAutomationPeer instance if
+            one has not been created for the GlobalCalendarButton; otherwise, it
+            returns the GlobalCalendarButtonAutomationPeer previously created.
+            </para>
+            <para>
+            Classes that participate in the Silverlight automation
+            infrastructure must implement this method to return a class-specific
+            derived class of AutomationPeer that reports information for
+            automation behavior.
+            </para>
+            </remarks>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarButton.OnMouseLeftButtonDown(System.Windows.Input.MouseButtonEventArgs)">
+            <summary>
+            Provides class handling for the MouseLeftButtonDown event that
+            occurs when the left mouse button is pressed while the mouse pointer
+            is over this control.
+            </summary>
+            <param name="e">The event data. </param>
+            <exception cref="T:System.ArgumentNullException">
+            e is a null reference (Nothing in Visual Basic).
+            </exception>
+            <remarks>
+            This method marks the MouseLeftButtonDown event as handled by
+            setting the MouseButtonEventArgs.Handled property of the event data
+            to true when the button is enabled and its ClickMode is not set to
+            Hover.  Since this method marks the MouseLeftButtonDown event as
+            handled in some situations, you should use the Click event instead
+            to detect a button click.
+            </remarks>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarButton.OnMouseLeftButtonUp(System.Windows.Input.MouseButtonEventArgs)">
+            <summary>
+            Provides handling for the MouseLeftButtonUp event that occurs when
+            the left mouse button is released while the mouse pointer is over
+            this control. 
+            </summary>
+            <param name="e">The event data.</param>
+            <exception cref="T:System.ArgumentNullException">
+            e is a null reference (Nothing in Visual Basic).
+            </exception>
+            <remarks>
+            This method marks the MouseLeftButtonUp event as handled by setting
+            the MouseButtonEventArgs.Handled property of the event data to true
+            when the button is enabled and its ClickMode is not set to Hover.
+            Since this method marks the MouseLeftButtonUp event as handled in
+            some situations, you should use the Click event instead to detect a
+            button click.
+            </remarks>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarButton.SendMouseLeftButtonUp(System.Windows.Input.MouseButtonEventArgs)">
+            <summary>
+            We need to simulate the MouseLeftButtonUp event for the
+            GlobalCalendarButton that stays in Pressed state after MouseCapture is
+            released since there is no actual MouseLeftButtonUp event for the
+            release.
+            </summary>
+            <param name="e">Event arguments.</param>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarButton.ChangeVisualState(System.Boolean)">
+            <summary>
+            Change to the correct visual state for the button.
+            </summary>
+            <param name="useTransitions">
+            True to use transitions when updating the visual state, false to
+            snap directly to the new visual state.
+            </param>
+        </member>
+        <member name="P:System.Windows.Controls.Primitives.GlobalCalendarButton.Owner">
+            <summary>
+            Gets or sets the GlobalCalendar associated with this button.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Primitives.GlobalCalendarButton.IsCalendarButtonFocused">
+            <summary>
+            Gets or sets a value indicating whether the button is focused.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Primitives.GlobalCalendarButton.IsInactive">
+            <summary>
+            Gets or sets a value indicating whether the button is inactive.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Primitives.GlobalCalendarButton.IsSelected">
+            <summary>
+            Gets or sets a value indicating whether the button is selected.
+            </summary>
+        </member>
+        <member name="E:System.Windows.Controls.Primitives.GlobalCalendarButton.CalendarButtonMouseDown">
+            <summary>
+            Occurs when the left mouse button is pressed (or when the tip of the
+            stylus touches the tablet PC) while the mouse pointer is over a
+            UIElement.
+            </summary>
+        </member>
+        <member name="E:System.Windows.Controls.Primitives.GlobalCalendarButton.CalendarButtonMouseUp">
+            <summary>
+            Occurs when the left mouse button is released (or the tip of the
+            stylus is removed from the tablet PC) while the mouse (or the
+            stylus) is over a UIElement (or while a UIElement holds mouse
+            capture).
+            </summary>
+        </member>
+        <member name="T:System.Windows.Automation.Peers.GlobalCalendarButtonAutomationPeer">
+            <summary>
+            Exposes
+            <see cref="T:System.Windows.Controls.Primitives.GlobalCalendarButton" /> types
+            to UI automation.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarButtonAutomationPeer.#ctor(System.Windows.Controls.Primitives.GlobalCalendarButton)">
+            <summary>
+            Initializes a new instance of the
+            <see cref="T:System.Windows.Automation.Peers.GlobalCalendarButtonAutomationPeer" />
+            class.
+            </summary>
+            <param name="owner">
+            The
+            <see cref="T:System.Windows.Controls.Primitives.GlobalCalendarButton" />
+            to associate with this
+            <see cref="T:System.Windows.Automation.Peers.AutomationPeer" />.
+            </param>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarButtonAutomationPeer.GetPattern(System.Windows.Automation.Peers.PatternInterface)">
+            <summary>
+            Gets the control pattern for this
+            <see cref="T:System.Windows.Automation.Peers.GlobalCalendarButtonAutomationPeer" />.
+            </summary>
+            <param name="patternInterface">
+            One of the enumeration values.
+            </param>
+            <returns>
+            The object that implements the pattern interface, or null if the
+            specified pattern interface is not implemented by this peer.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarButtonAutomationPeer.GetAutomationControlTypeCore">
+            <summary>
+            Returns the control type for the GlobalCalendarButton that is associated
+            with this GlobalCalendarButtonAutomationPeer.  This method is called by
+            GetAutomationControlType.
+            </summary>
+            <returns>A value of the AutomationControlType enumeration.</returns>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarButtonAutomationPeer.GetLocalizedControlTypeCore">
+            <summary>
+            Returns the localized version of the control type for the owner type
+            that is associated with this GlobalCalendarButtonAutomationPeer.
+            </summary>
+            <returns>The string that contains the type of control.</returns>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarButtonAutomationPeer.GetHelpTextCore">
+            <summary>
+            Returns the string that describes the functionality of the
+            GlobalCalendarButton that is associated with this
+            GlobalCalendarButtonAutomationPeer.  This method is called by GetHelpText.
+            </summary>
+            <returns>
+            The help text, or String.Empty if there is no help text.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarButtonAutomationPeer.GetClassNameCore">
+            <summary>
+            Returns the name of the GlobalCalendarButton that is associated with this
+            GlobalCalendarButtonAutomationPeer.  This method is called by
+            GetClassName.
+            </summary>
+            <returns>
+            The name of the owner type that is associated with this
+            GlobalCalendarButtonAutomationPeer.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarButtonAutomationPeer.GetNameCore">
+            <summary>
+            Returns the text label of the GlobalCalendarButton that is associated with
+            this GlobalCalendarButtonAutomationPeer. This method is called by GetName.
+            </summary>
+            <returns>
+            The text label of the element that is associated with this
+            automation peer.
+            </returns>
+            <remarks>
+            The name property can be thought of as the string of text that a
+            user would use to explain which control is being referred to.  It is
+            important to have a textual representation for all controls in the
+            graphical user interface (GUI) so that you can programmatically
+            refer to the control in a localized manner.  The value is settable
+            on control instances through the AutomationProperties.Name attached
+            property.
+            </remarks>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarButtonAutomationPeer.System#Windows#Automation#Provider#IInvokeProvider#Invoke">
+            <summary>
+            Sends a request to activate the control and initiate its single,
+            unambiguous action.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarButtonAutomationPeer.System#Windows#Automation#Provider#ISelectionItemProvider#AddToSelection">
+            <summary>
+            Adds the current element to the collection of selected items.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarButtonAutomationPeer.System#Windows#Automation#Provider#ISelectionItemProvider#RemoveFromSelection">
+            <summary>
+            Removes the current element from the collection of selected items.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarButtonAutomationPeer.System#Windows#Automation#Provider#ISelectionItemProvider#Select">
+            <summary>
+            Clears any existing selection and then selects the current element.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Automation.Peers.GlobalCalendarButtonAutomationPeer.OwningCalendarButton">
+            <summary>
+            Gets the GlobalCalendarButton to associate with this AutomationPeer.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Automation.Peers.GlobalCalendarButtonAutomationPeer.OwningCalendar">
+            <summary>
+            Gets the GlobalCalendar associated with the button.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Automation.Peers.GlobalCalendarButtonAutomationPeer.OwningCalendarAutomationPeer">
+            <summary>
+            Gets the automation peer for the GlobalCalendar associated with the
+            button.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Automation.Peers.GlobalCalendarButtonAutomationPeer.System#Windows#Automation#Provider#IGridItemProvider#Column">
+            <summary>
+            Gets the ordinal number of the column that contains the cell or
+            item.
+            </summary>
+            <value>
+            A zero-based ordinal number that identifies the column that contains
+            the cell or item.
+            </value>
+        </member>
+        <member name="P:System.Windows.Automation.Peers.GlobalCalendarButtonAutomationPeer.System#Windows#Automation#Provider#IGridItemProvider#ColumnSpan">
+            <summary>
+            Gets the number of columns that are spanned by a cell or item.
+            </summary>
+            <value>
+            The number of columns spanned.
+            </value>
+        </member>
+        <member name="P:System.Windows.Automation.Peers.GlobalCalendarButtonAutomationPeer.System#Windows#Automation#Provider#IGridItemProvider#ContainingGrid">
+            <summary>
+            Gets a UI Automation provider that implements
+            <see cref="T:System.Windows.Automation.Provider.IGridProvider" />
+            and that represents the container of the cell or item.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Automation.Peers.GlobalCalendarButtonAutomationPeer.System#Windows#Automation#Provider#IGridItemProvider#Row">
+            <summary>
+            Gets the ordinal number of the row that contains the cell or item.
+            </summary>
+            <value>
+            A zero-based ordinal number that identifies the row that contains
+            the cell or item.
+            </value>
+        </member>
+        <member name="P:System.Windows.Automation.Peers.GlobalCalendarButtonAutomationPeer.System#Windows#Automation#Provider#IGridItemProvider#RowSpan">
+            <summary>
+            Gets the number of rows that are spanned by a cell or item.
+            </summary>
+            <value>
+            The number of rows that are spanned.
+            </value>
+        </member>
+        <member name="P:System.Windows.Automation.Peers.GlobalCalendarButtonAutomationPeer.System#Windows#Automation#Provider#ISelectionItemProvider#IsSelected">
+            <summary>
+            Gets a value indicating whether an item is selected.
+            </summary>
+            <value>
+            True if the element is selected; otherwise, false.
+            </value>
+        </member>
+        <member name="P:System.Windows.Automation.Peers.GlobalCalendarButtonAutomationPeer.System#Windows#Automation#Provider#ISelectionItemProvider#SelectionContainer">
+            <summary>
+            Gets the UI Automation provider that implements
+            <see cref="T:System.Windows.Automation.Provider.ISelectionProvider" />
+            and that acts as the container for the calling object.
+            </summary>
+            <value>
+            The provider that supports
+            <see cref="T:System.Windows.Automation.Provider.ISelectionProvider" />.
+            </value>
+        </member>
+        <member name="T:System.Windows.Controls.GlobalCalendarDateChangedEventArgs">
+            <summary>
+            Provides data for the
+            <see cref="E:System.Windows.Controls.Calendar.DisplayDateChanged" />
+            event.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalCalendarDateChangedEventArgs.#ctor(System.Nullable{System.DateTime},System.Nullable{System.DateTime})">
+            <summary>
+            Initializes a new instance of the GlobalCalendarDateChangedEventArgs
+            class.
+            </summary>
+            <param name="removedDate">
+            The date that was previously displayed.
+            </param>
+            <param name="addedDate">The date to be newly displayed.</param>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendarDateChangedEventArgs.RemovedDate">
+            <summary>
+            Gets the date that was previously displayed.
+            </summary>
+            <value>
+            The date previously displayed.
+            </value>
+        </member>
+        <member name="P:System.Windows.Controls.GlobalCalendarDateChangedEventArgs.AddedDate">
+            <summary>
+            Gets the date to be newly displayed.
+            </summary>
+            <value>The new date to display.</value>
+        </member>
+        <member name="T:System.Windows.Controls.Primitives.GlobalCalendarDayButton">
+            <summary>
+            Represents a day on a <see cref="T:System.Windows.Controls.GlobalCalendar" />.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarDayButton.StateToday">
+            <summary>
+            Identifies the Today state.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarDayButton.StateRegularDay">
+            <summary>
+            Identifies the RegularDay state.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarDayButton.GroupDay">
+            <summary>
+            Name of the Day state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarDayButton.StateBlackoutDay">
+            <summary>
+            Identifies the BlackoutDay state.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarDayButton.StateNormalDay">
+            <summary>
+            Identifies the NormalDay state.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarDayButton.GroupBlackout">
+            <summary>
+            Name of the BlackoutDay state group.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarDayButton.DefaultContent">
+            <summary>
+            Default content for the GlobalCalendarDayButton.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarDayButton._ignoringMouseOverState">
+            <summary>
+            A value indicating whether the button should ignore the MouseOver
+            visual state.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarDayButton._isBlackout">
+            <summary>
+            A value indicating whether this is a blackout date.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarDayButton._isToday">
+            <summary>
+            A value indicating whether this button represents today.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarDayButton._isCurrent">
+            <summary>
+            A value indicating whether the button is the focused element on the
+            GlobalCalendar control.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarDayButton._isInactive">
+            <summary>
+            A value indicating whether the button is inactive.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarDayButton._isSelected">
+            <summary>
+            A value indicating whether the button is selected.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarDayButton.#ctor">
+            <summary>
+            Initializes a new instance of the
+            <see cref="T:System.Windows.Controls.Primitives.GlobalCalendarDayButton" />
+            class.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarDayButton.OnLoad(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Handle the Loaded event.
+            </summary>
+            <param name="sender">The GlobalCalendarButton.</param>
+            <param name="e">Event arguments.</param>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarDayButton.OnApplyTemplate">
+            <summary>
+            Builds the visual tree for the
+            <see cref="T:System.Windows.Controls.Primitives.GlobalCalendarDayButton" />
+            when a new template is applied.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarDayButton.OnCreateAutomationPeer">
+            <summary>
+            Returns a CalendarDayButtonAutomationPeer for use by the Silverlight
+            automation infrastructure.
+            </summary>
+            <returns>
+            CalendarDayButtonAutomationPeer for the Button object.
+            </returns>
+            <remarks>
+            <para>
+            This method creates a new CalendarDayButtonAutomationPeer instance
+            if one has not been created for the GlobalCalendarButton; otherwise, it
+            returns the CalendarDayButtonAutomationPeer previously created.
+            </para>
+            <para>
+            Classes that participate in the Silverlight automation
+            infrastructure must implement this method to return a class-specific
+            derived class of AutomationPeer that reports information for
+            automation behavior.
+            </para>
+            </remarks>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarDayButton.OnMouseLeftButtonDown(System.Windows.Input.MouseButtonEventArgs)">
+            <summary>
+            Provides class handling for the MouseLeftButtonDown event that
+            occurs when the left mouse button is pressed while the mouse pointer
+            is over this control.
+            </summary>
+            <param name="e">The event data. </param>
+            <exception cref="T:System.ArgumentNullException">
+            e is a null reference (Nothing in Visual Basic).
+            </exception>
+            <remarks>
+            This method marks the MouseLeftButtonDown event as handled by
+            setting the MouseButtonEventArgs.Handled property of the event data
+            to true when the button is enabled and its ClickMode is not set to
+            Hover.  Since this method marks the MouseLeftButtonDown event as
+            handled in some situations, you should use the Click event instead
+            to detect a button click.
+            </remarks>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarDayButton.OnMouseLeftButtonUp(System.Windows.Input.MouseButtonEventArgs)">
+            <summary>
+            Provides handling for the MouseLeftButtonUp event that occurs when
+            the left mouse button is released while the mouse pointer is over
+            this control. 
+            </summary>
+            <param name="e">The event data.</param>
+            <exception cref="T:System.ArgumentNullException">
+            e is a null reference (Nothing in Visual Basic).
+            </exception>
+            <remarks>
+            This method marks the MouseLeftButtonUp event as handled by setting
+            the MouseButtonEventArgs.Handled property of the event data to true
+            when the button is enabled and its ClickMode is not set to Hover.
+            Since this method marks the MouseLeftButtonUp event as handled in
+            some situations, you should use the Click event instead to detect a
+            button click.
+            </remarks>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarDayButton.SendMouseLeftButtonUp(System.Windows.Input.MouseButtonEventArgs)">
+            <summary>
+            We need to simulate the MouseLeftButtonUp event for the
+            GlobalCalendarDayButton that stays in Pressed state after MouseCapture is
+            released since there is no actual MouseLeftButtonUp event for the
+            release.
+            </summary>
+            <param name="e">Event arguments.</param>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarDayButton.IgnoreMouseOverState">
+            <summary>
+            Ensure the button is not in the MouseOver state.
+            </summary>
+            <remarks>
+            If a button is in the MouseOver state when a Popup is closed (as is
+            the case when you select a date in the DatePicker control), it will
+            continue to think it's in the mouse over state even when the Popup
+            opens again and it's not.  This method is used to forcibly clear the
+            state by changing the CommonStates state group.
+            </remarks>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarDayButton.ChangeVisualState(System.Boolean)">
+            <summary>
+            Change to the correct visual state for the button.
+            </summary>
+            <param name="useTransitions">
+            True to use transitions when updating the visual state, false to
+            snap directly to the new visual state.
+            </param>
+        </member>
+        <member name="P:System.Windows.Controls.Primitives.GlobalCalendarDayButton.Owner">
+            <summary>
+            Gets or sets the GlobalCalendar associated with this button.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Primitives.GlobalCalendarDayButton.Index">
+            <summary>
+            Gets or sets Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Primitives.GlobalCalendarDayButton.IsBlackout">
+            <summary>
+            Gets or sets a value indicating whether this is a blackout date.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Primitives.GlobalCalendarDayButton.IsToday">
+            <summary>
+            Gets or sets a value indicating whether this button represents
+            today.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Primitives.GlobalCalendarDayButton.IsCurrent">
+            <summary>
+            Gets or sets a value indicating whether the button is the focused
+            element on the GlobalCalendar control.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Primitives.GlobalCalendarDayButton.IsInactive">
+            <summary>
+            Gets or sets a value indicating whether the button is inactive.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Primitives.GlobalCalendarDayButton.IsSelected">
+            <summary>
+            Gets or sets a value indicating whether the button is selected.
+            </summary>
+        </member>
+        <member name="E:System.Windows.Controls.Primitives.GlobalCalendarDayButton.CalendarDayButtonMouseDown">
+            <summary>
+            Occurs when the left mouse button is pressed (or when the tip of the
+            stylus touches the tablet PC) while the mouse pointer is over a
+            UIElement.
+            </summary>
+        </member>
+        <member name="E:System.Windows.Controls.Primitives.GlobalCalendarDayButton.CalendarDayButtonMouseUp">
+            <summary>
+            Occurs when the left mouse button is released (or the tip of the
+            stylus is removed from the tablet PC) while the mouse (or the
+            stylus) is over a UIElement (or while a UIElement holds mouse
+            capture).
+            </summary>
+        </member>
+        <member name="T:System.Windows.Automation.Peers.GlobalCalendarDayButtonAutomationPeer">
+            <summary>
+            Exposes
+            <see cref="T:System.Windows.Controls.Primitives.GlobalCalendarDayButton" />
+            types to UI Automation.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarDayButtonAutomationPeer.#ctor(System.Windows.Controls.Primitives.GlobalCalendarDayButton)">
+            <summary>
+            Initializes a new instance of the
+            <see cref="T:System.Windows.Automation.Peers.GlobalCalendarDayButtonAutomationPeer" />
+            class.
+            </summary>
+            <param name="owner">
+            The
+            <see cref="T:System.Windows.Controls.Primitives.GlobalCalendarDayButton" />
+            instance that is associated with this
+            <see cref="T:System.Windows.Automation.Peers.GlobalCalendarDayButtonAutomationPeer" />.
+            </param>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarDayButtonAutomationPeer.GetPattern(System.Windows.Automation.Peers.PatternInterface)">
+            <summary>
+            Gets the control pattern implementation for this
+            <see cref="T:System.Windows.Automation.Peers.GlobalCalendarDayButtonAutomationPeer" />.
+            </summary>
+            <param name="patternInterface">
+            One of the enumeration values.
+            </param>
+            <returns>
+            The object that implements the pattern interface, or null if the
+            specified pattern interface is not implemented by this peer.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarDayButtonAutomationPeer.GetAutomationControlTypeCore">
+            <summary>
+            Returns the control type for the GlobalCalendarDayButton that is
+            associated with this GlobalCalendarDayButtonAutomationPeer.  This method
+            is called by GetAutomationControlType.
+            </summary>
+            <returns>A value of the AutomationControlType enumeration.</returns>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarDayButtonAutomationPeer.GetLocalizedControlTypeCore">
+            <summary>
+            Returns the localized version of the control type for the owner type
+            that is associated with this GlobalCalendarDayButtonAutomationPeer.
+            </summary>
+            <returns>The string that contains the type of control.</returns>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarDayButtonAutomationPeer.GetHelpTextCore">
+            <summary>
+            Returns the string that describes the functionality of the
+            GlobalCalendarDayButton that is associated with this
+            GlobalCalendarDayButtonAutomationPeer.  This method is called by
+            GetHelpText.
+            </summary>
+            <returns>
+            The help text, or String.Empty if there is no help text.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarDayButtonAutomationPeer.GetClassNameCore">
+            <summary>
+            Returns the name of the GlobalCalendarDayButton that is associated with
+            this GlobalCalendarDayButtonAutomationPeer.  This method is called by
+            GetClassName.
+            </summary>
+            <returns>
+            The name of the owner type that is associated with this
+            GlobalCalendarDayButtonAutomationPeer.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarDayButtonAutomationPeer.GetNameCore">
+            <summary>
+            Returns the text label of the GlobalCalendarDayButton that is associated
+            with this GlobalCalendarDayButtonAutomationPeer. This method is called by
+            GetName.
+            </summary>
+            <returns>
+            The text label of the element that is associated with this
+            automation peer.
+            </returns>
+            <remarks>
+            The name property can be thought of as the string of text that a
+            user would use to explain which control is being referred to.  It is
+            important to have a textual representation for all controls in the
+            graphical user interface (GUI) so that you can programmatically
+            refer to the control in a localized manner.  The value is settable
+            on control instances through the AutomationProperties.Name attached
+            property.
+            </remarks>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarDayButtonAutomationPeer.System#Windows#Automation#Provider#IInvokeProvider#Invoke">
+            <summary>
+            Sends a request to activate the control and to initiate its single,
+            unambiguous action.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarDayButtonAutomationPeer.System#Windows#Automation#Provider#ISelectionItemProvider#AddToSelection">
+            <summary>
+            Adds the current element to the collection of selected items.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarDayButtonAutomationPeer.System#Windows#Automation#Provider#ISelectionItemProvider#RemoveFromSelection">
+            <summary>
+            Removes the current element from the collection of selected items.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarDayButtonAutomationPeer.System#Windows#Automation#Provider#ISelectionItemProvider#Select">
+            <summary>
+            Clear any existing selection and then selects the current element.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarDayButtonAutomationPeer.EnsureSelection">
+            <summary>
+            Ensure selection of the GlobalCalendarDayButton is possible.
+            </summary>
+            <returns>
+            A value indicating whether selection of the GlobalCalendarDayButton is
+            possible.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarDayButtonAutomationPeer.System#Windows#Automation#Provider#ITableItemProvider#GetColumnHeaderItems">
+            <summary>
+            Retrieves a collection of UI Automation providers that represent all
+            the column headers that are associated with a table item or cell.
+            </summary>
+            <returns>A collection of UI Automation providers.</returns>
+        </member>
+        <member name="M:System.Windows.Automation.Peers.GlobalCalendarDayButtonAutomationPeer.System#Windows#Automation#Provider#ITableItemProvider#GetRowHeaderItems">
+            <summary>
+            Retrieves a collection of UI Automation providers that represent all
+            the row headers that are associated with a table item or cell.
+            </summary>
+            <returns>A collection of UI Automation providers.</returns>
+        </member>
+        <member name="P:System.Windows.Automation.Peers.GlobalCalendarDayButtonAutomationPeer.OwningCalendarDayButton">
+            <summary>
+            Gets the GlobalCalendarDayButton instance that is associated with this
+            GlobalCalendarDayButtonAutomationPeer.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Automation.Peers.GlobalCalendarDayButtonAutomationPeer.OwningCalendar">
+            <summary>
+            Gets the GlobalCalendar associated with the button.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Automation.Peers.GlobalCalendarDayButtonAutomationPeer.OwningCalendarAutomationPeer">
+            <summary>
+            Gets the automation peer for the GlobalCalendar associated with the
+            button.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Automation.Peers.GlobalCalendarDayButtonAutomationPeer.System#Windows#Automation#Provider#IGridItemProvider#Column">
+            <summary>
+            Gets the ordinal number of the column that contains the cell or
+            item.
+            </summary>
+            <value>
+            A zero-based ordinal number that identifies the column that contains
+            the cell or item.
+            </value>
+        </member>
+        <member name="P:System.Windows.Automation.Peers.GlobalCalendarDayButtonAutomationPeer.System#Windows#Automation#Provider#IGridItemProvider#ColumnSpan">
+            <summary>
+            Gets the number of columns that are spanned by a cell or item.
+            </summary>
+            <value>
+            The number of columns.
+            </value>
+        </member>
+        <member name="P:System.Windows.Automation.Peers.GlobalCalendarDayButtonAutomationPeer.System#Windows#Automation#Provider#IGridItemProvider#ContainingGrid">
+            <summary>
+            Gets a UI Automation provider that implements
+            <see cref="T:System.Windows.Automation.Provider.IGridProvider" />
+            and that represents the container of the cell or item.
+            </summary>
+            <value>
+            The UI Automation provider.
+            </value>
+        </member>
+        <member name="P:System.Windows.Automation.Peers.GlobalCalendarDayButtonAutomationPeer.System#Windows#Automation#Provider#IGridItemProvider#Row">
+            <summary>
+            Gets the ordinal number of the row that contains the cell or item.
+            </summary>
+            <value>
+            A zero-based ordinal number that identifies the row that contains
+            the cell or item.
+            </value>
+        </member>
+        <member name="P:System.Windows.Automation.Peers.GlobalCalendarDayButtonAutomationPeer.System#Windows#Automation#Provider#IGridItemProvider#RowSpan">
+            <summary>
+            Gets the number of rows that are spanned by a cell or item.
+            </summary>
+            <value>The number of rows.</value>
+        </member>
+        <member name="P:System.Windows.Automation.Peers.GlobalCalendarDayButtonAutomationPeer.System#Windows#Automation#Provider#ISelectionItemProvider#IsSelected">
+            <summary>
+            Gets a value indicating whether an item is selected.
+            </summary>
+            <value>True if the element is selected; otherwise, false.</value>
+        </member>
+        <member name="P:System.Windows.Automation.Peers.GlobalCalendarDayButtonAutomationPeer.System#Windows#Automation#Provider#ISelectionItemProvider#SelectionContainer">
+            <summary>
+            Gets the UI Automation provider that implements
+            <see cref="T:System.Windows.Automation.Provider.ISelectionProvider" />
+            and that acts as the container for the calling object.
+            </summary>
+            <value>The UI Automation provider.</value>
+        </member>
+        <member name="T:System.Windows.Controls.Primitives.GlobalCalendarItem">
+            <summary>
+            Represents the currently displayed month or year on a
+            <see cref="T:System.Windows.Controls.GlobalCalendar" />.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarItem.ElementRoot">
+            <summary>
+            The name of the Root template part.
+            </summary>
+            <remarks>
+            TODO: It appears this template part is no longer used.  Verify with
+            compat whether we can remove the attribute.
+            </remarks>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarItem.ElementHeaderButton">
+            <summary>
+            The name of the HeaderButton template part.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarItem.ElementPreviousButton">
+            <summary>
+            The name of the PreviousButton template part.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarItem.ElementNextButton">
+            <summary>
+            The name of the NextButton template part.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarItem.ElementDayTitleTemplate">
+            <summary>
+            The name of the DayTitleTemplate template part.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarItem.ElementMonthView">
+            <summary>
+            The name of the MonthView template part.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarItem.ElementYearView">
+            <summary>
+            The name of the YearView template part.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarItem.ElementDisabledVisual">
+            <summary>
+            The name of the DisabledVisual template part.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarItem._headerButton">
+            <summary>
+            The button that allows switching between month mode, year mode, and
+            decade mode. 
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarItem._nextButton">
+            <summary>
+            The button that displays the next page of the calendar when it is
+            clicked.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarItem._previousButton">
+            <summary>
+            The button that displays the previous page of the calendar when it
+            is clicked.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarItem._dayTitleTemplate">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarItem._monthView">
+            <summary>
+            Hosts the content when in month mode.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarItem._yearView">
+            <summary>
+            Hosts the content when in year or decade mode.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarItem._disabledVisual">
+            <summary>
+            The overlay for the disabled state.
+            </summary>
+            <remarks>
+            The disabled visual isn't necessary given that we also have a
+            Disabled visual state.  It's only being left in for compatability
+            with existing templates.
+            </remarks>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarItem._lastCalendarButton">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarItem._lastCalendarDayButton">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarItem._downEventArg">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarItem._downEventArgYearView">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarItem._isMouseLeftButtonDown">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarItem._isMouseLeftButtonDownYearView">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarItem._isTopLeftMostMonth">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarItem._isTopRightMostMonth">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.Primitives.GlobalCalendarItem._currentMonth">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarItem.#ctor">
+            <summary>
+            Initializes a new instance of the
+            <see cref="T:System.Windows.Controls.Primitives.GlobalCalendarItem" />
+            class.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarItem.OnApplyTemplate">
+            <summary>
+            Builds the visual tree for the
+            <see cref="T:System.Windows.Controls.Primitives.GlobalCalendarItem" />
+            when a new template is applied.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarItem.PopulateGrids">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarItem.UpdateDisabledGrid(System.Boolean)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="isEnabled">Inherited code: Requires comment 1.</param>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarItem.UpdateMonthMode">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarItem.SetDayTitles">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarItem.PreviousMonthDays(System.DateTime)">
+            <summary>
+            How many days of the previous month need to be displayed.
+            </summary>
+            <param name="firstOfMonth">Inherited code: Requires comment.</param>
+            <returns>Inherited code: Requires comment 1.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarItem.SetButtonState(System.Windows.Controls.Primitives.GlobalCalendarDayButton,System.DateTime)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="childButton">Inherited code: Requires comment 1.</param>
+            <param name="dateToAdd">Inherited code: Requires comment 2.</param>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarItem.SetCalendarDayButtons(System.DateTime)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="firstDayOfMonth">Inherited code: Requires comment 1.</param>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarItem.SetMonthButtonsForYearMode">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarItem.SetMonthModeHeaderButton">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarItem.SetMonthModeNextButton(System.DateTime)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="firstDayOfMonth">Inherited code: Requires comment 1.</param>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarItem.SetMonthModePreviousButton(System.DateTime)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="firstDayOfMonth">Inherited code: Requires comment 1.</param>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarItem.UpdateYearMode">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarItem.SetYearButtons(System.Int32,System.Int32)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="decade">Inherited code: Requires comment 1.</param>
+            <param name="decadeEnd">Inherited code: Requires comment 2.</param>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarItem.SetYearModeHeaderButton">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarItem.SetYearModePreviousButton">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarItem.SetYearModeNextButton">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarItem.UpdateYearViewSelection(System.Windows.Controls.Primitives.GlobalCalendarButton)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="calendarButton">Inherited code: Requires comment 1.</param>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarItem.UpdateDecadeMode">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarItem.SetDecadeModeHeaderButton(System.Int32,System.Int32)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="decade">Inherited code: Requires comment 1.</param>
+            <param name="decadeEnd">Inherited code: Requires comment 2.</param>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarItem.SetDecadeModeNextButton(System.Int32)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="decadeEnd">Inherited code: Requires comment 1.</param>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarItem.SetDecadeModePreviousButton(System.Int32)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="decade">Inherited code: Requires comment 1.</param>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarItem.Cell_MouseEnter(System.Object,System.Windows.Input.MouseEventArgs)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="sender">Inherited code: Requires comment 1.</param>
+            <param name="e">Inherited code: Requires comment 2.</param>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarItem.Cell_MouseLeave(System.Object,System.Windows.Input.MouseEventArgs)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="sender">Inherited code: Requires comment 1.</param>
+            <param name="e">Inherited code: Requires comment 2.</param>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarItem.Cell_MouseLeftButtonDown(System.Object,System.Windows.Input.MouseButtonEventArgs)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="sender">Inherited code: Requires comment 1.</param>
+            <param name="e">Inherited code: Requires comment 2.</param>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarItem.AddSelection(System.Windows.Controls.Primitives.GlobalCalendarDayButton)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="b">Inherited code: Requires comment 1.</param>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarItem.Cell_MouseLeftButtonUp(System.Object,System.Windows.Input.MouseButtonEventArgs)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="sender">Inherited code: Requires comment 1.</param>
+            <param name="e">Inherited code: Requires comment 2.</param>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarItem.Cell_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="sender">Inherited code: Requires comment 1.</param>
+            <param name="e">Inherited code: Requires comment 2.</param>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarItem.HeaderButton_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="sender">Inherited code: Requires comment 1.</param>
+            <param name="e">Inherited code: Requires comment 2.</param>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarItem.PreviousButton_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="sender">Inherited code: Requires comment 1.</param>
+            <param name="e">Inherited code: Requires comment 2.</param>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarItem.NextButton_Click(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="sender">Inherited code: Requires comment 1.</param>
+            <param name="e">Inherited code: Requires comment 2.</param>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarItem.Month_CalendarButtonMouseDown(System.Object,System.Windows.Input.MouseButtonEventArgs)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="sender">Inherited code: Requires comment 1.</param>
+            <param name="e">Inherited code: Requires comment 2.</param>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarItem.Month_CalendarButtonMouseUp(System.Object,System.Windows.Input.MouseButtonEventArgs)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="sender">Inherited code: Requires comment 1.</param>
+            <param name="e">Inherited code: Requires comment 2.</param>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarItem.Month_MouseEnter(System.Object,System.Windows.Input.MouseEventArgs)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="sender">Inherited code: Requires comment 1.</param>
+            <param name="e">Inherited code: Requires comment 2.</param>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarItem.Month_MouseLeave(System.Object,System.Windows.Input.MouseEventArgs)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="sender">Inherited code: Requires comment 1.</param>
+            <param name="e">Inherited code: Requires comment 2.</param>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarItem.MonthView_MouseLeave(System.Object,System.Windows.Input.MouseEventArgs)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="sender">Inherited code: Requires comment 1.</param>
+            <param name="e">Inherited code: Requires comment 2.</param>
+        </member>
+        <member name="M:System.Windows.Controls.Primitives.GlobalCalendarItem.YearView_MouseLeave(System.Object,System.Windows.Input.MouseEventArgs)">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <param name="sender">Inherited code: Requires comment 1.</param>
+            <param name="e">Inherited code: Requires comment 2.</param>
+        </member>
+        <member name="P:System.Windows.Controls.Primitives.GlobalCalendarItem.HeaderButton">
+            <summary>
+            Gets the button that allows switching between month mode, year mode,
+            and decade mode. 
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Primitives.GlobalCalendarItem.NextButton">
+            <summary>
+            Gets the button that displays the next page of the calendar when it
+            is clicked.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Primitives.GlobalCalendarItem.PreviousButton">
+            <summary>
+            Gets the button that displays the previous page of the calendar when
+            it is clicked.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Primitives.GlobalCalendarItem.MonthView">
+            <summary>
+            Gets the Grid that hosts the content when in month mode.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Primitives.GlobalCalendarItem.YearView">
+            <summary>
+            Gets the Grid that hosts the content when in year or decade mode.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Primitives.GlobalCalendarItem.Owner">
+            <summary>
+            Gets or sets Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Primitives.GlobalCalendarItem.Info">
+            <summary>
+            Gets the CalendarInfo that provides globalized date operations.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Primitives.GlobalCalendarItem.CurrentButton">
+            <summary>
+            Gets or sets Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="T:System.Windows.Controls.GlobalSelectedDatesCollection">
+            <summary>
+            Represents a set of selected dates in a
+            <see cref="T:System.Windows.Controls.GlobalCalendar" />.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="F:System.Windows.Controls.GlobalSelectedDatesCollection._addedItems">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.GlobalSelectedDatesCollection._dispatcherThread">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.GlobalSelectedDatesCollection._isCleared">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.GlobalSelectedDatesCollection._isRangeAdded">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.GlobalSelectedDatesCollection._owner">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalSelectedDatesCollection.#ctor(System.Windows.Controls.GlobalCalendar)">
+            <summary>
+            Initializes a new instance of the
+            <see cref="T:System.Windows.Controls.GlobalSelectedDatesCollection" />
+            class.
+            </summary>
+            <param name="owner">
+            The <see cref="T:System.Windows.Controls.GlobalCalendar" />
+            associated with this object.
+            </param>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalSelectedDatesCollection.AddRange(System.DateTime,System.DateTime)">
+            <summary>
+            Adds all the dates in the specified range, which includes the first
+            and last dates, to the collection.
+            </summary>
+            <param name="start">The first date to add to the collection.</param>
+            <param name="end">The last date to add to the collection.</param>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalSelectedDatesCollection.ClearItems">
+            <summary>
+            Removes all items from the collection.
+            </summary>
+            <remarks>
+            This implementation raises the CollectionChanged event.
+            </remarks>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalSelectedDatesCollection.InsertItem(System.Int32,System.DateTime)">
+            <summary>
+            Inserts an item into the collection at the specified index.
+            </summary>
+            <param name="index">
+            The zero-based index at which item should be inserted.
+            </param>
+            <param name="item">The object to insert.</param>
+            <remarks>
+            This implementation raises the CollectionChanged event.
+            </remarks>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalSelectedDatesCollection.RemoveItem(System.Int32)">
+            <summary>
+            Removes the item at the specified index of the collection.
+            </summary>
+            <param name="index">
+            The zero-based index of the element to remove.
+            </param>
+            <remarks>
+            This implementation raises the CollectionChanged event.
+            </remarks>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalSelectedDatesCollection.SetItem(System.Int32,System.DateTime)">
+            <summary>
+            Replaces the element at the specified index.
+            </summary>
+            <param name="index">
+            The zero-based index of the element to replace.
+            </param>
+            <param name="item">
+            The new value for the element at the specified index.
+            </param>
+            <remarks>
+            This implementation raises the CollectionChanged event.
+            </remarks>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalSelectedDatesCollection.ClearInternal">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalSelectedDatesCollection.CheckSelectionMode">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <returns>Inherited code: Requires comment 1.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.GlobalSelectedDatesCollection.IsValidThread">
+            <summary>
+            Inherited code: Requires comment.
+            </summary>
+            <returns>Inherited code: Requires comment 1.</returns>
+        </member>
+        <member name="T:System.Windows.Controls.TreeViewItemConnectingLineInfo">
+            <summary>
+            Represents the necessary information to draw connecting lines in a
+            TreeViewItem.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewItemConnectingLineInfo.#ctor(System.Windows.Controls.TreeViewItem)">
+            <summary>
+            Initializes a new instance of the TreeViewItemConnectingLineInfo
+            class.
+            </summary>
+            <param name="item">The TreeViewItem.</param>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewItemConnectingLineInfo.PositionConnectingLines">
+            <summary>
+            Position the connecting lines in the TreeViewItem.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewItemConnectingLineInfo.PositionVerticalConnectingLine">
+            <summary>
+            Position the vertical connecting line in the TreeViewItem.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.TreeViewItemConnectingLineInfo.Item">
+            <summary>
+            Gets the TreeViewItem.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.TreeViewItemConnectingLineInfo.VerticalConnectingLine">
+            <summary>
+            Gets or sets the vertical connecting line of the TreeViewItem.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.TreeViewItemConnectingLineInfo.HorizontalConnectingLine">
+            <summary>
+            Gets or sets the horizontal connecting line of the TreeViewItem.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.TreeViewItemConnectingLineInfo.ExpanderButton">
+            <summary>
+            Gets or sets the expander button of the TreeViewItem.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.TreeViewItemConnectingLineInfo.Header">
+            <summary>
+            Gets or sets the header of the TreeViewItem.
+            </summary>
+        </member>
+        <member name="T:System.Windows.Controls.TreeViewConnectingLines">
+            <summary>
+            Provides the necessary infrastructure to enable drawing connecting
+            lines between the TreeViewItems in a TreeView.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewConnectingLines.GetConnectingLineInfo(System.Windows.Controls.TreeViewItem)">
+            <summary>
+            Gets the value of the ConnectingLineInfo attached property for a
+            specified TreeViewItem.
+            </summary>
+            <param name="element">
+            The TreeViewItem from which the property value is read.
+            </param>
+            <returns>
+            The ConnectingLineInfo property value for the TreeViewItem.
+            </returns>
+        </member>
+        <member name="F:System.Windows.Controls.TreeViewConnectingLines.ConnectingLineInfoProperty">
+            <summary>
+            Identifies the ConnectingLineInfo dependency property.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewConnectingLines.GetIsVerticalConnectingLineOf(System.Windows.Shapes.Line)">
+            <summary>
+            Gets the value of the IsVerticalConnectingLineOf attached property
+            for a specified Line.
+            </summary>
+            <param name="element">The Line from which the property value is read.</param>
+            <returns>The IsVerticalConnectingLineOf property value for the Line.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewConnectingLines.SetIsVerticalConnectingLineOf(System.Windows.Shapes.Line,System.Windows.Controls.TreeViewItem)">
+            <summary>
+            Sets the value of the IsVerticalConnectingLineOf attached property to a specified Line.
+            </summary>
+            <param name="element">The Line to which the attached property is written.</param>
+            <param name="value">The needed IsVerticalConnectingLineOf value.</param>
+        </member>
+        <member name="F:System.Windows.Controls.TreeViewConnectingLines.IsVerticalConnectingLineOfProperty">
+            <summary>
+            Identifies the IsVerticalConnectingLineOf dependency property.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewConnectingLines.OnIsVerticalConnectingLineOfPropertyChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+            IsVerticalConnectingLineOfProperty property changed handler.
+            </summary>
+            <param name="d">
+            Line that changed its IsVerticalConnectingLineOf TreeViewItem.
+            </param>
+            <param name="e">Event arguments.</param>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewConnectingLines.GetIsHorizontalConnectingLineOf(System.Windows.Shapes.Line)">
+            <summary>
+            Gets the value of the IsHorizontalConnectingLineOf attached property
+            for a specified Line.
+            </summary>
+            <param name="element">
+            The Line from which the property value is read.
+            </param>
+            <returns>
+            The IsHorizontalConnectingLineOf property value for the Line.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewConnectingLines.SetIsHorizontalConnectingLineOf(System.Windows.Shapes.Line,System.Windows.Controls.TreeViewItem)">
+            <summary>
+            Sets the value of the IsHorizontalConnectingLineOf attached property
+            to a specified Line.
+            </summary>
+            <param name="element">
+            The Line to which the attached property is written.
+            </param>
+            <param name="value">
+            The needed IsHorizontalConnectingLineOf value.
+            </param>
+        </member>
+        <member name="F:System.Windows.Controls.TreeViewConnectingLines.IsHorizontalConnectingLineOfProperty">
+            <summary>
+            Identifies the IsHorizontalConnectingLineOf dependency property.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewConnectingLines.OnIsHorizontalConnectingLineOfPropertyChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+            IsHorizontalConnectingLineOfProperty property changed handler.
+            </summary>
+            <param name="d">
+            Line that changed its IsHorizontalConnectingLineOf TreeViewItem.
+            </param>
+            <param name="e">Event arguments.</param>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewConnectingLines.GetIsExpanderButtonOf(System.Windows.Controls.Primitives.ToggleButton)">
+            <summary>
+            Gets the value of the IsExpanderButtonOf attached property for a
+            specified ToggleButton.
+            </summary>
+            <param name="element">
+            The ToggleButton from which the property value is read.
+            </param>
+            <returns>
+            The IsExpanderButtonOf property value for the ToggleButton.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewConnectingLines.SetIsExpanderButtonOf(System.Windows.Controls.Primitives.ToggleButton,System.Windows.Controls.TreeViewItem)">
+            <summary>
+            Sets the value of the IsExpanderButtonOf attached property to a
+            specified ToggleButton.
+            </summary>
+            <param name="element">
+            The ToggleButton to which the attached property is written.
+            </param>
+            <param name="value">The needed IsExpanderButtonOf value.</param>
+        </member>
+        <member name="F:System.Windows.Controls.TreeViewConnectingLines.IsExpanderButtonOfProperty">
+            <summary>
+            Identifies the IsExpanderButtonOf dependency property.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewConnectingLines.OnIsExpanderButtonOfPropertyChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+            IsExpanderButtonOfProperty property changed handler.
+            </summary>
+            <param name="d">
+            ToggleButton that changed its IsExpanderButtonOf TreeViewItem.
+            </param>
+            <param name="e">Event arguments.</param>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewConnectingLines.GetIsHeaderOf(System.Windows.FrameworkElement)">
+            <summary>
+            Gets the value of the IsHeaderOf attached property for a specified
+            FrameworkElement.
+            </summary>
+            <param name="element">
+            The FrameworkElement from which the property value is read.
+            </param>
+            <returns>
+            The IsHeaderOf property value for the FrameworkElement.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewConnectingLines.SetIsHeaderOf(System.Windows.FrameworkElement,System.Windows.Controls.TreeViewItem)">
+            <summary>
+            Sets the value of the IsHeaderOf attached property to a specified
+            FrameworkElement.
+            </summary>
+            <param name="element">
+            The FrameworkElement to which the attached property is written.
+            </param>
+            <param name="value">The needed IsHeaderOf value.</param>
+        </member>
+        <member name="F:System.Windows.Controls.TreeViewConnectingLines.IsHeaderOfProperty">
+            <summary>
+            Identifies the IsHeaderOf dependency property.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewConnectingLines.OnIsHeaderOfPropertyChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+            IsHeaderOfProperty property changed handler.
+            </summary>
+            <param name="d">
+            FrameworkElement that changed its IsHeaderOf TreeViewItem.
+            </param>
+            <param name="e">Event arguments.</param>
+        </member>
+        <member name="T:System.Windows.Controls.TreeViewItemCheckBox">
+            <summary>
+            Represents a CheckBox whose value is associated with the
+            TreeViewExtensions.IsChecked attached property of TreeViewItems.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="F:System.Windows.Controls.TreeViewItemCheckBox._parent">
+            <summary>
+            The parent TreeViewItem of the CheckBox.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewItemCheckBox.#ctor">
+            <summary>
+            Initializes a new instance of the TreeViewItemCheckBox class.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewItemCheckBox.AssociateParentTreeViewItem">
+            <summary>
+            Associate the parent TreeViewItem with the CheckBox.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewItemCheckBox.OnIsCheckedChanged(System.Object,System.Windows.RoutedEventArgs)">
+            <summary>
+            Update the TreeViewItem's IsChecked property when this IsChecked
+            property is changed.
+            </summary>
+            <param name="sender">The CheckBox.</param>
+            <param name="e">Event arguments.</param>
+        </member>
+        <member name="P:System.Windows.Controls.TreeViewItemCheckBox.ParentTreeViewItem">
+            <summary>
+            Gets the parent TreeViewItem of the CheckBox.
+            </summary>
+        </member>
+        <member name="T:System.Windows.Controls.TreeViewExtensions">
+            <summary>
+            Provides useful extensions to TreeView and TreeViewItem instances.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.GetParentItemsControl(System.Windows.DependencyObject)">
+            <summary>
+            Get the parent ItemsControl of an element.
+            </summary>
+            <param name="element">The element.</param>
+            <returns>
+            The parent ItemsControl of an element, or null if not found.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.GetAncestorItemsControls(System.Windows.DependencyObject)">
+            <summary>
+            Get the ancestor ItemsControls of an element.
+            </summary>
+            <param name="element">The element.</param>
+            <returns>
+            The ancestor ItemsControls of an element.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.GetParentTreeViewItem(System.Windows.Controls.TreeViewItem)">
+            <summary>
+            Get the parent TreeViewItem of a TreeViewItem.
+            </summary>
+            <param name="item">The TreeViewItem.</param>
+            <returns>
+            The parent TreeViewItem if found, otherwise null.
+            </returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="item" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.GetParentTreeView(System.Windows.Controls.TreeViewItem)">
+            <summary>
+            Get the parent TreeView of a TreeViewItem.
+            </summary>
+            <param name="item">The TreeViewItem.</param>
+            <returns>The parent TreeView if found, otherwise null.</returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="item" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.GetContainers(System.Windows.Controls.TreeView)">
+            <summary>
+            Get the TreeViewItem containers of a TreeView.
+            </summary>
+            <param name="view">The TreeView.</param>
+            <returns>The TreeViewItem containers of a TreeView.</returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="view" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.GetContainers(System.Windows.Controls.TreeViewItem)">
+            <summary>
+            Get the child TreeViewItem containers of a TreeViewItem.
+            </summary>
+            <param name="item">The TreeViewItem.</param>
+            <returns>
+            The child TreeViewItem containers of a TreeViewItem.
+            </returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="item" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.GetItemsAndContainers(System.Windows.Controls.TreeView)">
+            <summary>
+            Get the items and TreeViewItem containers of a TreeView.
+            </summary>
+            <param name="view">The TreeView.</param>
+            <returns>
+            The items and TreeViewItem containers of a TreeView.
+            </returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="view" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.GetItemsAndContainers(System.Windows.Controls.TreeViewItem)">
+            <summary>
+            Get the items and TreeViewItem containers of a TreeViewItem.
+            </summary>
+            <param name="item">The TreeViewItem.</param>
+            <returns>
+            The items and TreeViewItem containers of a TreeViewItem.
+            </returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="item" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.GetDescendantContainers(System.Windows.Controls.TreeView)">
+            <summary>
+            Get the TreeViewItem containers of a TreeView.
+            </summary>
+            <param name="view">The TreeView.</param>
+            <returns>The TreeViewItem containers of a TreeView.</returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="view" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.GetDescendantContainers(System.Windows.Controls.TreeViewItem)">
+            <summary>
+            Get the descendant TreeViewItem containers of a TreeViewItem.
+            </summary>
+            <param name="item">The TreeViewItem.</param>
+            <returns>
+            The descendant TreeViewItem containers of a TreeViewItem.
+            </returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="item" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.GetDescendantItemsAndContainers(System.Windows.Controls.TreeView)">
+            <summary>
+            Get the descendant items and TreeViewItem containers of a TreeView.
+            </summary>
+            <param name="view">The TreeView.</param>
+            <returns>
+            The descendant items and TreeViewItem containers of a TreeView.
+            </returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="view" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.GetDescendantItemsAndContainers(System.Windows.Controls.TreeViewItem)">
+            <summary>
+            Get the descendant items and TreeViewItem containers of a
+            TreeViewItem.
+            </summary>
+            <param name="item">The TreeViewItem.</param>
+            <returns>
+            The descendant items and TreeViewItem containers of a TreeViewItem.
+            </returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="item" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.GetDescendantItemsAndContainersIterator(System.Windows.Controls.ItemsControl)">
+            <summary>
+            Get the items and TreeViewItem containers of a TreeView or
+            TreeViewItem.
+            </summary>
+            <param name="control">The TreeView or TreeViewItem.</param>
+            <returns>
+            The items and TreeViewItem containers of a TreeView or TreeViewItem.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.GetSiblingItemsAndContainers(System.Windows.Controls.TreeViewItem)">
+            <summary>
+            Get the sibling items and containers of the item.
+            </summary>
+            <param name="item">The TreeViewItem.</param>
+            <returns>The sibling items and containers of the item.</returns>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.GetContainersFromItem(System.Windows.Controls.TreeView,System.Object)">
+            <summary>
+            Get the TreeViewItems already created that are used to represent the
+            given item.
+            </summary>
+            <param name="view">The TreeView.</param>
+            <param name="item">The item being represented.</param>
+            <returns>
+            A sequence of TreeViewItems that represent the given item, or an
+            empty sequence if none were found.
+            </returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="view" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.GetContainerFromItem(System.Windows.Controls.TreeView,System.Object)">
+            <summary>
+            Get the TreeViewItem already created that is used to represent the
+            given item.
+            </summary>
+            <param name="view">The TreeView.</param>
+            <param name="item">The item being represented.</param>
+            <returns>
+            The TreeViewItems that represents the given item, or null if no
+            container was found.
+            </returns>
+            <remarks>
+            If multiple TreeViewItems represent the same item, the first item
+            found via a breadth-first search will be used.
+            </remarks>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="view" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.GetPath(System.Windows.Controls.TreeViewItem)">
+            <summary>
+            Gets a path of items and TreeViewItem containers from the
+            TreeViewItem to the root of the TreeView.
+            </summary>
+            <param name="item">The TreeViewItem.</param>
+            <returns>
+            A path of items and TreeViewItem containers from the TreeViewItem to
+            the root of the TreeView.
+            </returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="item" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.GetPathIterator(System.Windows.Controls.TreeViewItem)">
+            <summary>
+            Gets a path of items and TreeViewItem containers from the
+            TreeViewItem to the root of the TreeView.
+            </summary>
+            <param name="item">The TreeViewItem.</param>
+            <returns>
+            A path of items and TreeViewItem containers from the TreeViewItem to
+            the root of the TreeView.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.GetItem(System.Windows.Controls.TreeViewItem)">
+            <summary>
+            Get the item wrapped by this container.
+            </summary>
+            <param name="item">The TreeViewItem.</param>
+            <returns>
+            The item wrapped by the container, or null if not found.
+            </returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="item" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.GetParentItem(System.Windows.Controls.TreeView,System.Object)">
+            <summary>
+            Get the item of the parent container for a specified
+            <paramref name="item" />.
+            </summary>
+            <param name="view">
+            The TreeView containing the <paramref name="item" />.
+            </param>
+            <param name="item">The child item.</param>
+            <returns>
+            The item of the parent container for the specified
+            <paramref name="item" />, or null if not found.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.GetIsRoot(System.Windows.Controls.TreeViewItem)">
+            <summary>
+            Gets a value indicating whether the TreeViewItem is a root of its
+            TreeView.
+            </summary>
+            <param name="item">The TreeViewItem.</param>
+            <returns>
+            A value indicating whether the TreeViewItem is a root of its
+            TreeView.
+            </returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="item" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.GetIsLeaf(System.Windows.Controls.TreeViewItem)">
+            <summary>
+            Gets a value indicating whether the TreeViewItem is a leaf in its
+            TreeView.
+            </summary>
+            <param name="item">The TreeViewItem.</param>
+            <returns>
+            A value indicating whether the TreeViewItem is a leaf in its
+            TreeView.
+            </returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="item" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.GetDepth(System.Windows.Controls.TreeViewItem)">
+            <summary>
+            Gets the depth of a TreeViewItem in its TreeView (using a zero-based
+            index).
+            </summary>
+            <param name="item">The TreeViewItem.</param>
+            <returns>
+            The depth of a TreeViewItem in its TreeView (using a zero-based
+            index).
+            </returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="item" /> is null.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            <paramref name="item" /> is not in a TreeView.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.GetSelectedContainer(System.Windows.Controls.TreeView)">
+            <summary>
+            Get the selected TreeViewItem in a TreeView.
+            </summary>
+            <param name="view">The TreeView.</param>
+            <returns>
+            The selected TreeViewItem, or null if no selected item found.
+            </returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="view" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.SetSelectedContainer(System.Windows.Controls.TreeView,System.Windows.Controls.TreeViewItem)">
+            <summary>
+            Sets the selected TreeViewItem of a TreeView.
+            </summary>
+            <param name="view">The TreeView.</param>
+            <param name="item">The TreeViewItem to select.</param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="view" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.ClearSelection(System.Windows.Controls.TreeView)">
+            <summary>
+            Clear the selection of the TreeView.
+            </summary>
+            <param name="view">The TreeView.</param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="view" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.SelectItem(System.Windows.Controls.TreeView,System.Object)">
+            <summary>
+            Select an item in the TreeView.
+            </summary>
+            <param name="view">The TreeView.</param>
+            <param name="item">The item to select.</param>
+            <returns>
+            A value indicating whether the item was successfully set as the
+            TreeView's SelectedItem.
+            </returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="view" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.GetSelectedPath(System.Windows.Controls.TreeView)">
+            <summary>
+            Gets the path to the TreeView's selected item.
+            </summary>
+            <param name="view">The TreeView.</param>
+            <returns>The path to the TreeView's selected item.</returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="view" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.ExpandOrCollapseAll(System.Windows.Controls.TreeViewItem,System.Boolean,System.Int32,System.Nullable{System.Int32})">
+            <summary>
+            Recursively expand or collapse the TreeViewItem and all of its
+            descendants.
+            </summary>
+            <param name="item">The TreeViewItem.</param>
+            <param name="expand">
+            A value indicating whether to expand or collapse.
+            </param>
+            <param name="depth">
+            The number of levels that have already been collapsed or expanded.
+            This is used in conjunction with the optional maximumDepth to only
+            expand a specified number of layers.
+            </param>
+            <param name="maximumDepth">
+            An optional depth that defines the number of layers to expand or
+            collapse.
+            </param>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.ExpandOrCollapseAll(System.Windows.Controls.TreeView,System.Boolean,System.Nullable{System.Int32})">
+            <summary>
+            Expand or collapse all of the descendants of the TreeView.
+            </summary>
+            <param name="view">The TreeView.</param>
+            <param name="expand">
+            A value indicating whether to expand or collapse.
+            </param>
+            <param name="maximumDepth">
+            An optional depth that defines the number of layers to expand or
+            collapse.
+            </param>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.ExpandAll(System.Windows.Controls.TreeView)">
+            <summary>
+            Expand all of the items in a TreeView.
+            </summary>
+            <param name="view">The TreeView.</param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="view" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.CollapseAll(System.Windows.Controls.TreeView)">
+            <summary>
+            Collapse all of the items in a TreeView.
+            </summary>
+            <param name="view">The TreeView.</param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="view" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.ExpandToDepth(System.Windows.Controls.TreeView,System.Int32)">
+            <summary>
+            Expand a specified number of layers in a TreeView.
+            </summary>
+            <param name="view">The TreeView.</param>
+            <param name="depth">The number of layers to expand.</param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="view" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.ExpandPathToRoot(System.Windows.Controls.TreeViewItem,System.Boolean)">
+            <summary>
+            Expand a path from the given item to the root of it's TreeView.
+            </summary>
+            <param name="item">The TreeViewItem.</param>
+            <param name="collapseSiblings">
+            A value indicating whether to collapse siblings while expanding the
+            path.  This will result in only the path from the item to the root
+            being expanded.
+            </param>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.ExpandPath(System.Windows.Controls.TreeViewItem)">
+            <summary>
+            Expand a path from the TreeViewItem to the root of the TreeView.
+            </summary>
+            <param name="item">The TreeViewItem.</param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="item" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.ExpandSelectedPath(System.Windows.Controls.TreeView)">
+            <summary>
+            Expand the path from the SelectedItem to the root of the TreeView.
+            </summary>
+            <param name="view">The TreeView.</param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="view" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.CollapseAllButSelectedPath(System.Windows.Controls.TreeView)">
+            <summary>
+            Collapse all TreeViewItems except those along the path from the
+            TreeView's SelectedItem to the root of the TreeView.
+            </summary>
+            <param name="view">The TreeView.</param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="view" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.ExpandPath(System.Windows.Controls.TreeView,System.Object[])">
+            <summary>
+            Expand the given path of items starting from the TreeView's root.
+            </summary>
+            <param name="view">The TreeView.</param>
+            <param name="items">
+            The sequence of items corresponding to the path to expand.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="view" /> is null.
+            </exception>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="items" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.ExpandPath``1(System.Windows.Controls.TreeView,System.Collections.Generic.IEnumerable{``0})">
+            <summary>
+            Expand the given path of items starting from the TreeView's root.
+            </summary>
+            <typeparam name="T">
+            The type of items provided in <paramref name="items" />.
+            </typeparam>
+            <param name="view">The TreeView.</param>
+            <param name="items">
+            The sequence of items corresponding to the path to expand.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="view" /> is null.
+            </exception>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="items" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.ExpandPath``1(System.Windows.Controls.TreeView,System.Func{System.Object,``0},``0[])">
+            <summary>
+            Expand the given path of items starting from the TreeView's root.
+            </summary>
+            <typeparam name="T">
+            The type of items provided in <paramref name="items" />.
+            </typeparam>
+            <param name="view">The TreeView.</param>
+            <param name="comparisonSelector">
+            A function that takes a TreeViewItem's item and returns a value to
+            compare against elements of the given <paramref name="items" />.
+            The item itself will be used if 
+            <paramref name="comparisonSelector" /> is null.
+            </param>
+            <param name="items">
+            The sequence of items corresponding to the path to expand.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="view" /> is null.
+            </exception>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="items" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.ExpandPath``1(System.Windows.Controls.TreeView,System.Func{System.Object,``0},System.Collections.Generic.IEnumerable{``0})">
+            <summary>
+            Expand the given path of items starting from the TreeView's root.
+            </summary>
+            <typeparam name="T">
+            The type of items provided in <paramref name="items" />.
+            </typeparam>
+            <param name="view">The TreeView.</param>
+            <param name="comparisonSelector">
+            A function that takes a TreeViewItem's item and returns a value to
+            compare against elements of the given <paramref name="items" />.
+            The item itself will be used if 
+            <paramref name="comparisonSelector" /> is null.
+            </param>
+            <param name="items">
+            The sequence of items corresponding to the path to expand.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="view" /> is null.
+            </exception>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="items" /> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.GetIsChecked(System.Windows.Controls.TreeViewItem)">
+            <summary>
+            Gets the value of the IsChecked attached property for a specified
+            TreeViewItem.
+            </summary>
+            <param name="element">
+            The TreeViewItem from which the property value is read.
+            </param>
+            <returns>
+            The IsChecked property value for the TreeViewItem.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.SetIsChecked(System.Windows.Controls.TreeViewItem,System.Nullable{System.Boolean})">
+            <summary>
+            Sets the value of the IsChecked attached property to a specified
+            TreeViewItem.
+            </summary>
+            <param name="element">
+            The TreeViewItem to which the attached property is written.
+            </param>
+            <param name="value">The needed IsChecked value.</param>
+        </member>
+        <member name="F:System.Windows.Controls.TreeViewExtensions.IsCheckedProperty">
+            <summary>
+            Identifies the IsChecked dependency property.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.OnIsCheckedPropertyChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+            IsCheckedProperty property changed handler.
+            </summary>
+            <param name="d">The TreeViewItem that changed IsChecked.</param>
+            <param name="e">Event arguments.</param>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.GetAssociatedCheckBox(System.Windows.Controls.TreeViewItem)">
+            <summary>
+            Gets the value of the AssociatedCheckBox attached property for a
+            specified TreeViewItem.
+            </summary>
+            <param name="element">
+            The TreeViewItem from which the property value is read.
+            </param>
+            <returns>
+            The AssociatedCheckBox property value for the TreeViewItem.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.SetAssociatedCheckBox(System.Windows.Controls.TreeViewItem,System.Windows.Controls.TreeViewItemCheckBox)">
+            <summary>
+            Sets the value of the AssociatedCheckBox attached property to a
+            specified TreeViewItem.
+            </summary>
+            <param name="element">
+            The TreeViewItem to which the attached property is written.
+            </param>
+            <param name="value">The needed AssociatedCheckBox value.</param>
+        </member>
+        <member name="F:System.Windows.Controls.TreeViewExtensions.AssociatedCheckBoxProperty">
+            <summary>
+            Identifies the AssociatedCheckBox dependency property.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.OnAssociatedCheckBoxPropertyChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+            AssociatedCheckBoxProperty property changed handler.
+            </summary>
+            <param name="d">
+            The TreeViewItem that changed its AssociatedCheckBox.
+            </param>
+            <param name="e">Event arguments.</param>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.GetCheckedItemsAndContainers(System.Windows.Controls.TreeView)">
+            <summary>
+            Get the sequence of items and containers with their IsChecked
+            property set to True.
+            </summary>
+            <param name="view">The TreeView.</param>
+            <returns>
+            The sequence of items and containers with their IsChecked property
+            set to True.
+            </returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="view"/> is null.
+            </exception>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewExtensions.GetCheckedItemsAndContainers(System.Windows.Controls.TreeView,System.Boolean)">
+            <summary>
+            Get the sequence of items and containers with their IsChecked
+            property set to True.
+            </summary>
+            <param name="view">The TreeView.</param>
+            <param name="includeIndeterminate">
+            A value indicating whether to include TreeViewItems with an
+            indeterminate IsChecked value.
+            </param>
+            <returns>
+            The sequence of items and containers with their IsChecked property
+            set to True or also set to null if indeterminate values are
+            included.
+            </returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="view"/> is null.
+            </exception>
+        </member>
+        <member name="P:System.Windows.Controls.TreeViewExtensions.CancelIsCheckedChangedBubbling">
+            <summary>
+            Gets or sets a value indicating whether recursive calls to
+            OnIsCheckedPropertyChanged should ignore their notifications or
+            process them accordingly.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.TreeViewExtensions.CancelIsCheckedChangedChildNotifications">
+            <summary>
+            Gets or sets a value indicating whether recursive calls to
+            OnIsCheckedPropertyChanged should update their children when their
+            IsChecked value has changed.
+            </summary>
+        </member>
+        <member name="T:System.Windows.Controls.ObjectCollection">
+            <summary>
+            Implements a collection of objects.
+            </summary>
+            <remarks>
+            ObjectCollection is intended to simplify the task of populating an
+            ItemsSource property in XAML.
+            </remarks>
+            <example>
+            <code language="XAML">
+            <![CDATA[
+            <ItemsControl.ItemsSource>
+                <controls:ObjectCollection>
+                    <TextBlock Text="Object 1" />
+                    <TextBlock Text="Object 2" />
+                </controls:ObjectCollection>
+            </ItemsControl.ItemsSource>
+            ]]>
+            </code>
+            </example>
+            <QualityBand>Stable</QualityBand>
+        </member>
+        <member name="M:System.Windows.Controls.ObjectCollection.#ctor">
+            <summary>
+            Initializes a new instance of the ObjectCollection class.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.ObjectCollection.#ctor(System.Collections.IEnumerable)">
+            <summary>
+            Initializes a new instance of the ObjectCollection class.
+            </summary>
+            <param name="collection">The collection whose elements are copied to the new ObjectCollection.</param>
+        </member>
+        <member name="T:System.Windows.Controls.TreeViewItemIndentationConverter">
+            <summary>
+            Used to convert TreeViewItems into a value based on their depth in
+            the TreeView.
+            </summary>
+            <QualityBand>Experimental</QualityBand>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewItemIndentationConverter.#ctor">
+            <summary>
+            Initializes a new instance of the TreeViewItemIndentationConverter
+            class.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewItemIndentationConverter.Convert(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
+            <summary>
+            Convert a TreeViewItem into a value based on the depth of the item
+            in the TreeView.
+            </summary>
+            <param name="value">The TreeViewItem.</param>
+            <param name="targetType">
+            The indentation type to convert to (such as Thickness or double).
+            </param>
+            <param name="parameter">
+            The number of pixels to indent each level of the TreeView.  A
+            default value of 15.0 will be used if no parameter is provided.
+            </param>
+            <param name="culture">
+            The culture used to convert the TreeViewItem.
+            </param>
+            <returns>
+            A value based on the depth of the item in the TreeView.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewItemIndentationConverter.WrapIndentation(System.Double,System.Type)">
+            <summary>
+            Wrap the indentation in the desired type.
+            </summary>
+            <param name="indentation">
+            The number of pixels to indent the TreeViewItem.
+            </param>
+            <param name="targetType">
+            The indentation type to convert to (such as Thickness or double).
+            </param>
+            <returns>
+            A value based on the depth of the item in the TreeView.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.TreeViewItemIndentationConverter.ConvertBack(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
+            <summary>
+            Convert an indentation back into a TreeViewItem.  This always throws
+            a NotSupportedException.
+            </summary>
+            <param name="value">The indentation.</param>
+            <param name="targetType">The type of the indentation.</param>
+            <param name="parameter">
+            The number of pixels to indent each level of the TreeView.
+            </param>
+            <param name="culture">
+            The culture used to convert the TreeViewItem.
+            </param>
+            <returns>Always throws a NotSupportedException.</returns>
+        </member>
+        <member name="T:System.Windows.Controls.OrientedSize">
+            <summary>
+            The OrientedSize structure is used to abstract the growth direction from
+            the layout algorithms of WrapPanel.  When the growth direction is
+            oriented horizontally (ex: the next element is arranged on the side of
+            the previous element), then the Width grows directly with the placement
+            of elements and Height grows indirectly with the size of the largest
+            element in the row.  When the orientation is reversed, so is the
+            directional growth with respect to Width and Height.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.OrientedSize._orientation">
+            <summary>
+            The orientation of the structure.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.OrientedSize._direct">
+            <summary>
+            The size dimension that grows directly with layout placement.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.OrientedSize._indirect">
+            <summary>
+            The size dimension that grows indirectly with the maximum value of
+            the layout row or column.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.OrientedSize.#ctor(System.Windows.Controls.Orientation)">
+            <summary>
+            Initializes a new OrientedSize structure.
+            </summary>
+            <param name="orientation">Orientation of the structure.</param>
+        </member>
+        <member name="M:System.Windows.Controls.OrientedSize.#ctor(System.Windows.Controls.Orientation,System.Double,System.Double)">
+            <summary>
+            Initializes a new OrientedSize structure.
+            </summary>
+            <param name="orientation">Orientation of the structure.</param>
+            <param name="width">Un-oriented width of the structure.</param>
+            <param name="height">Un-oriented height of the structure.</param>
+        </member>
+        <member name="P:System.Windows.Controls.OrientedSize.Orientation">
+            <summary>
+            Gets the orientation of the structure.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.OrientedSize.Direct">
+            <summary>
+            Gets or sets the size dimension that grows directly with layout
+            placement.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.OrientedSize.Indirect">
+            <summary>
+            Gets or sets the size dimension that grows indirectly with the
+            maximum value of the layout row or column.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.OrientedSize.Width">
+            <summary>
+            Gets or sets the width of the size.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.OrientedSize.Height">
+            <summary>
+            Gets or sets the height of the size.
+            </summary>
+        </member>
+        <member name="T:System.Windows.Controls.WrapPanel">
+            <summary>
+            Positions child elements sequentially from left to right or top to
+            bottom.  When elements extend beyond the panel edge, elements are
+            positioned in the next row or column.
+            </summary>
+            <QualityBand>Stable</QualityBand>
+        </member>
+        <member name="F:System.Windows.Controls.WrapPanel._ignorePropertyChange">
+            <summary>
+            A value indicating whether a dependency property change handler
+            should ignore the next change notification.  This is used to reset
+            the value of properties without performing any of the actions in
+            their change handlers.
+            </summary>
+        </member>
+        <member name="F:System.Windows.Controls.WrapPanel.ItemHeightProperty">
+            <summary>
+            Identifies the
+            <see cref="P:System.Windows.Controls.WrapPanel.ItemHeight" />
+            dependency property.
+            </summary>
+            <value>
+            The identifier for the
+            <see cref="P:System.Windows.Controls.WrapPanel.ItemHeight" />
+            dependency property
+            </value>
+        </member>
+        <member name="F:System.Windows.Controls.WrapPanel.ItemWidthProperty">
+            <summary>
+            Identifies the
+            <see cref="P:System.Windows.Controls.WrapPanel.ItemWidth" />
+            dependency property.
+            </summary>
+            <value>
+            The identifier for the
+            <see cref="P:System.Windows.Controls.WrapPanel.ItemWidth" />
+            dependency property.
+            </value>
+        </member>
+        <member name="F:System.Windows.Controls.WrapPanel.OrientationProperty">
+            <summary>
+            Identifies the
+            <see cref="P:System.Windows.Controls.WrapPanel.Orientation" />
+            dependency property.
+            </summary>
+            <value>
+            The identifier for the
+            <see cref="P:System.Windows.Controls.WrapPanel.Orientation" />
+            dependency property.
+            </value>
+        </member>
+        <member name="M:System.Windows.Controls.WrapPanel.OnOrientationPropertyChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+            OrientationProperty property changed handler.
+            </summary>
+            <param name="d">WrapPanel that changed its Orientation.</param>
+            <param name="e">Event arguments.</param>
+        </member>
+        <member name="M:System.Windows.Controls.WrapPanel.#ctor">
+            <summary>
+            Initializes a new instance of the
+            <see cref="T:System.Windows.Controls.WrapPanel" /> class.
+            </summary>
+        </member>
+        <member name="M:System.Windows.Controls.WrapPanel.OnItemHeightOrWidthPropertyChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
+            <summary>
+            Property changed handler for ItemHeight and ItemWidth.
+            </summary>
+            <param name="d">
+            WrapPanel that changed its ItemHeight or ItemWidth.
+            </param>
+            <param name="e">Event arguments.</param>
+        </member>
+        <member name="M:System.Windows.Controls.WrapPanel.MeasureOverride(System.Windows.Size)">
+            <summary>
+            Measures the child elements of a
+            <see cref="T:System.Windows.Controls.WrapPanel" /> in anticipation
+            of arranging them during the
+            <see cref="M:System.Windows.Controls.WrapPanel.ArrangeOverride(System.Windows.Size)" />
+            pass.
+            </summary>
+            <param name="constraint">
+            The size available to child elements of the wrap panel.
+            </param>
+            <returns>
+            The size required by the
+            <see cref="T:System.Windows.Controls.WrapPanel" /> and its 
+            elements.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.WrapPanel.ArrangeOverride(System.Windows.Size)">
+            <summary>
+            Arranges and sizes the
+            <see cref="T:System.Windows.Controls.WrapPanel" /> control and its
+            child elements.
+            </summary>
+            <param name="finalSize">
+            The area within the parent that the
+            <see cref="T:System.Windows.Controls.WrapPanel" /> should use 
+            arrange itself and its children.
+            </param>
+            <returns>
+            The actual size used by the
+            <see cref="T:System.Windows.Controls.WrapPanel" />.
+            </returns>
+        </member>
+        <member name="M:System.Windows.Controls.WrapPanel.ArrangeLine(System.Int32,System.Int32,System.Nullable{System.Double},System.Double,System.Double)">
+            <summary>
+            Arrange a sequence of elements in a single line.
+            </summary>
+            <param name="lineStart">
+            Index of the first element in the sequence to arrange.
+            </param>
+            <param name="lineEnd">
+            Index of the last element in the sequence to arrange.
+            </param>
+            <param name="directDelta">
+            Optional fixed growth in the primary direction.
+            </param>
+            <param name="indirectOffset">
+            Offset of the line in the indirect direction.
+            </param>
+            <param name="indirectGrowth">
+            Shared indirect growth of the elements on this line.
+            </param>
+        </member>
+        <member name="P:System.Windows.Controls.WrapPanel.ItemHeight">
+            <summary>
+            Gets or sets the height of the layout area for each item that is
+            contained in a <see cref="T:System.Windows.Controls.WrapPanel" />.
+            </summary>
+            <value>
+            The height applied to the layout area of each item that is contained
+            within a <see cref="T:System.Windows.Controls.WrapPanel" />.  The
+            default value is <see cref="F:System.Double.NaN" />.
+            </value>
+        </member>
+        <member name="P:System.Windows.Controls.WrapPanel.ItemWidth">
+            <summary>
+            Gets or sets the width of the layout area for each item that is
+            contained in a <see cref="T:System.Windows.Controls.WrapPanel" />.
+            </summary>
+            <value>
+            The width that applies to the layout area of each item that is
+            contained in a <see cref="T:System.Windows.Controls.WrapPanel" />.
+            The default value is <see cref="F:System.Double.NaN" />.
+            </value>
+        </member>
+        <member name="P:System.Windows.Controls.WrapPanel.Orientation">
+            <summary>
+            Gets or sets the direction in which child elements are arranged.
+            </summary>
+            <value>
+            One of the <see cref="T:System.Windows.Controls.Orientation" />
+            values.  The default is
+            <see cref="F:System.Windows.Controls.Orientation.Horizontal" />.
+            </value>
+        </member>
+        <member name="T:System.Windows.Controls.Properties.Resources">
+            <summary>
+              A strongly-typed resource class, for looking up localized strings, etc.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.ResourceManager">
+            <summary>
+              Returns the cached ResourceManager instance used by this class.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.Culture">
+            <summary>
+              Overrides the current thread's CurrentUICulture property for all
+              resource lookups using this strongly typed resource class.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.Automation_OperationCannotBePerformed">
+            <summary>
+              Looks up a localized string similar to Cannot perform operation..
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.Calendar_CheckSelectionMode_InvalidOperation">
+            <summary>
+              Looks up a localized string similar to The SelectedDates collection can be changed only in a multiple selection mode. Use the SelectedDate in a single selection mode..
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.Calendar_NextButtonName">
+            <summary>
+              Looks up a localized string similar to next button.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.Calendar_OnDisplayModePropertyChanged_InvalidValue">
+            <summary>
+              Looks up a localized string similar to DisplayMode value is not valid..
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.Calendar_OnFirstDayOfWeekChanged_InvalidValue">
+            <summary>
+              Looks up a localized string similar to FirstDayOfWeek value is not valid..
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.Calendar_OnSelectedDateChanged_InvalidOperation">
+            <summary>
+              Looks up a localized string similar to The SelectedDate property cannot be set when the selection mode is None..
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.Calendar_OnSelectedDateChanged_InvalidValue">
+            <summary>
+              Looks up a localized string similar to SelectedDate value is not valid..
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.Calendar_OnSelectionModeChanged_InvalidValue">
+            <summary>
+              Looks up a localized string similar to SelectionMode value is not valid..
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.Calendar_PreviousButtonName">
+            <summary>
+              Looks up a localized string similar to previous button.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.Calendar_UnSelectableDates">
+            <summary>
+              Looks up a localized string similar to Value is not valid..
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.CalendarAutomationPeer_BlackoutDayHelpText">
+            <summary>
+              Looks up a localized string similar to Blackout Day - {0}.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.CalendarAutomationPeer_CalendarButtonLocalizedControlType">
+            <summary>
+              Looks up a localized string similar to calendar button.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.CalendarAutomationPeer_DayButtonLocalizedControlType">
+            <summary>
+              Looks up a localized string similar to day button.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.CalendarAutomationPeer_DecadeMode">
+            <summary>
+              Looks up a localized string similar to Decade.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.CalendarAutomationPeer_MonthMode">
+            <summary>
+              Looks up a localized string similar to Month.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.CalendarAutomationPeer_YearMode">
+            <summary>
+              Looks up a localized string similar to Year.
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.CalendarCollection_MultiThreadedCollectionChangeNotSupported">
+            <summary>
+              Looks up a localized string similar to This type of Collection does not support changes to its SourceCollection from a thread different from the Dispatcher thread..
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.CalendarInfo_DateFormatInfoRequired">
+            <summary>
+              Looks up a localized string similar to DateFormatInfo cannot be null..
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.DateTimeTypeConverter_FormatException">
+            <summary>
+              Looks up a localized string similar to DateTime value is in the wrong format..
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.DockPanel_OnDockPropertyChanged_InvalidValue">
+            <summary>
+              Looks up a localized string similar to Invalid Dock value &apos;{0}&apos;..
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.DragDropTarget_RemoveItemAtIndex_RemovalByIndexNotSupported">
+            <summary>
+              Looks up a localized string similar to Removal by index is not supported..
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.Expander_OnExpandDirectionPropertyChanged_InvalidValue">
+            <summary>
+              Looks up a localized string similar to Invalid ExpandDirection value &apos;{0}&apos;..
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.ItemDragEventArgs_RemoveDataFromSource_CannotRemoveDataBecauseMoveIsNotAnAllowedEffect">
+            <summary>
+              Looks up a localized string similar to This operation should only be invoked when a Move operation is in progress and Move is not an allowed effect..
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.ItemDragEventArgs_RemoveDataFromSource_DataHasAlreadyBeenRemovedFromSource">
+            <summary>
+              Looks up a localized string similar to Data has already been removed from the drag source..
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.ListBoxDragDropTarget_OnContentChanged_ContentMustBeAListBox">
+            <summary>
+              Looks up a localized string similar to The content property must be a ListBox..
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.PanelDragDropTarget_OnContentChanged_ContentMustBePanel">
+            <summary>
+              Looks up a localized string similar to Content must be a Panel..
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.ParameterCollection_EnsureCanChangeCollection_IsReadOnly">
+            <summary>
+              Looks up a localized string similar to ConstructorParameters cannot be changed because ObjectDataProvider is using a user-assigned ObjectInstance..
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.ResolveElementNameEventArgs_ctor_ElementNameEmpty">
+            <summary>
+              Looks up a localized string similar to The elementName should not be empty..
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.TreeViewDragDropTarget_set_Content_ContentMustBeATreeView">
+            <summary>
+              Looks up a localized string similar to The content property must of type TreeView..
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.TreeViewExtensions_GetDepth_NotInTreeView">
+            <summary>
+              Looks up a localized string similar to The item is not in a TreeView..
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.TypeConverters_Convert_CannotConvert">
+            <summary>
+              Looks up a localized string similar to &apos;{0}&apos; is unable to convert &apos;{1}&apos; to &apos;{2}&apos;..
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.TypeConverters_ConvertFrom_CannotConvertFromType">
+            <summary>
+              Looks up a localized string similar to &apos;{0}&apos; cannot convert from &apos;{1}&apos;..
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.UIElementExtendedRoutedEventExtensions_TypeOfHandlerMustBeDragEventHandler">
+            <summary>
+              Looks up a localized string similar to Type of the event handler must be DragEventHandler..
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.UIElementExtendedRoutedEventExtensions_TypeOfHandlerMustBeGiveFeedbackEventHandler">
+            <summary>
+              Looks up a localized string similar to Type of the event handler must be GiveFeedbackEventHandler..
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.UIElementExtendedRoutedEventExtensions_TypeOfHandlerMustBeQueryContinueDragEventHandler">
+            <summary>
+              Looks up a localized string similar to Type of the event handler must be QueryContinueDragEventHandler..
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.WrapPanel_OnItemHeightOrWidthPropertyChanged_InvalidValue">
+            <summary>
+              Looks up a localized string similar to Invalid length value &apos;{0}&apos;..
+            </summary>
+        </member>
+        <member name="P:System.Windows.Controls.Properties.Resources.WrapPanel_OnOrientationPropertyChanged_InvalidValue">
+            <summary>
+              Looks up a localized string similar to Invalid Orientation value &apos;{0}&apos;..
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/trunk/Pithos.Client.WPF/Pithos.Client.WPF.csproj b/trunk/Pithos.Client.WPF/Pithos.Client.WPF.csproj
index ceb5228..dafb034 100644
--- a/trunk/Pithos.Client.WPF/Pithos.Client.WPF.csproj
+++ b/trunk/Pithos.Client.WPF/Pithos.Client.WPF.csproj
@@ -291,7 +291,6 @@
     <Compile Include="NativeMethods.cs" />
     <Compile Include="Shell\Notification.cs" />
     <Compile Include="PithosAccount.cs" />
-    <Compile Include="PithosCommand.cs" />
     <Compile Include="Preferences\PreferencesView.xaml.cs">
       <DependentUpon>PreferencesView.xaml</DependentUpon>
     </Compile>
diff --git a/trunk/Pithos.Client.WPF/Preferences/AddAccountViewModel.cs b/trunk/Pithos.Client.WPF/Preferences/AddAccountViewModel.cs
index 4fbb448..174641c 100644
--- a/trunk/Pithos.Client.WPF/Preferences/AddAccountViewModel.cs
+++ b/trunk/Pithos.Client.WPF/Preferences/AddAccountViewModel.cs
@@ -281,7 +281,7 @@ namespace Pithos.Client.WPF.Preferences
                                });
             }
 */
-            catch (Exception ex)
+            catch
             {
                 HasValidCredentials = false;
                 MessageBox.Show("The account is not valid", "Account Error", MessageBoxButton.OK, MessageBoxImage.Stop);
diff --git a/trunk/Pithos.Core.Test/MockStatusKeeper.cs b/trunk/Pithos.Core.Test/MockStatusKeeper.cs
index 0d91029..07e807a 100644
--- a/trunk/Pithos.Core.Test/MockStatusKeeper.cs
+++ b/trunk/Pithos.Core.Test/MockStatusKeeper.cs
@@ -17,13 +17,13 @@ namespace Pithos.Core.Test
 
         private readonly string[] _states = { "Normal", "Modified", "Conflict", "Synch" };
 
-        ConcurrentDictionary<string, FileOverlayStatus> _overlayCache = new ConcurrentDictionary<string, FileOverlayStatus>();
-        ConcurrentDictionary<string, FileStatus> _statusCache = new ConcurrentDictionary<string, FileStatus>();
-        ConcurrentDictionary<string, string> _checksums = new ConcurrentDictionary<string, string>();
+        readonly ConcurrentDictionary<string, FileOverlayStatus> _overlayCache = new ConcurrentDictionary<string, FileOverlayStatus>();
+        readonly ConcurrentDictionary<string, FileStatus> _statusCache = new ConcurrentDictionary<string, FileStatus>();
+        readonly ConcurrentDictionary<string, string> _checksums = new ConcurrentDictionary<string, string>();
 
         public FileOverlayStatus GetFileOverlayStatus(string path)
         {
-            Contract.Requires(!String.IsNullOrWhiteSpace(path));
+            
             if (!_overlayCache.ContainsKey(path))
                 return FileOverlayStatus.Unversioned;
 
diff --git a/trunk/Pithos.Core/Agents/FileAgent.cs b/trunk/Pithos.Core/Agents/FileAgent.cs
index cfb5367..39eb56d 100644
--- a/trunk/Pithos.Core/Agents/FileAgent.cs
+++ b/trunk/Pithos.Core/Agents/FileAgent.cs
@@ -7,6 +7,7 @@ using System.IO;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
+using System.Threading.Tasks.Dataflow;
 using Pithos.Interfaces;
 using Pithos.Network;
 using log4net;
@@ -17,7 +18,8 @@ namespace Pithos.Core.Agents
     [Export]
     public class FileAgent
     {
-        Agent<WorkflowState> _agent;
+        //Agent<WorkflowState> _agent;
+        TransformBlock<WorkflowState, WorkflowState> _agent;
         private FileSystemWatcher _watcher;
 
         [Import]
@@ -33,94 +35,75 @@ namespace Pithos.Core.Agents
 
         private static readonly ILog Log = LogManager.GetLogger("FileAgent");
 
-        public void Start(AccountInfo accountInfo,string rootPath)
+        public FileAgent()
         {
-            if (accountInfo==null)
-                throw new ArgumentNullException("accountInfo");
-            if (String.IsNullOrWhiteSpace(rootPath))
-                throw new ArgumentNullException("rootPath");
-            if (!Path.IsPathRooted(rootPath))
-                throw new ArgumentException("rootPath must be an absolute path","rootPath");
-            Contract.EndContractBlock();
-
-            AccountInfo = accountInfo;
-            RootPath = rootPath;
-            _watcher = new FileSystemWatcher(rootPath);
-            _watcher.IncludeSubdirectories = true;            
-            _watcher.Changed += OnFileEvent;
-            _watcher.Created += OnFileEvent;
-            _watcher.Deleted += OnFileEvent;
-            _watcher.Renamed += OnRenameEvent;
-            _watcher.EnableRaisingEvents = true;
-
-
-            _agent = Agent<WorkflowState>.Start(inbox =>
-            {
-                Action loop = null;
-                loop = () =>
-                {
-                    var message = inbox.Receive();
-                    var process=message.Then(Process,inbox.CancellationToken);
-
-                    inbox.LoopAsync(process,loop,ex=>
-                        Log.ErrorFormat("[ERROR] File Event Processing:\r{0}", ex));
-                };
-                loop();
-            });
+            _agent = new TransformBlock<WorkflowState, WorkflowState>(async message => 
+                await TaskEx.Run(()=>Process(message)));
         }
 
-        private Task<object> Process(WorkflowState state)
+        private WorkflowState Process(WorkflowState message)
         {
-            if (state==null)
-                throw new ArgumentNullException("state");
-            Contract.EndContractBlock();
-
-            Debug.Assert(!Ignore(state.Path));
-
-            var networkState = NetworkGate.GetNetworkState(state.Path);
-            //Skip if the file is already being downloaded or uploaded and 
-            //the change is create or modify
-            if (networkState != NetworkOperation.None &&
-                (
-                    state.TriggeringChange == WatcherChangeTypes.Created ||
-                    state.TriggeringChange == WatcherChangeTypes.Changed
-                ))
-                return CompletedTask<object>.Default;
+            Debug.Assert(!Ignore(message.Path));
 
             try
             {
-                UpdateFileStatus(state);
-                UpdateOverlayStatus(state);
-                UpdateFileChecksum(state);
-                WorkflowAgent.Post(state);
+                //Skip if the file is already being downloaded or uploaded and 
+                //the change is create or modify
+                var networkState = NetworkGate.GetNetworkState(message.Path);
+                if (networkState != NetworkOperation.None &&
+                    (message.TriggeringChange == WatcherChangeTypes.Created ||
+                     message.TriggeringChange == WatcherChangeTypes.Changed))
+                    return null;
+
+                UpdateFileStatus(message);
+                UpdateOverlayStatus(message);
+                UpdateFileChecksum(message);
+                return message;
             }
             catch (IOException exc)
             {
-                if (File.Exists(state.Path))
+                if (File.Exists(message.Path))
                 {
-                    Log.WarnFormat("File access error occured, retrying {0}\n{1}", state.Path, exc);
-                    _agent.Post(state);
+                    Log.WarnFormat("File access error occured, retrying {0}\n{1}", message.Path, exc);
+                    _agent.Post(message);
                 }
                 else
                 {
-                    Log.WarnFormat("File {0} does not exist. Will be ignored\n{1}", state.Path, exc);
+                    Log.WarnFormat("File {0} does not exist. Will be ignored\n{1}", message.Path, exc);
                 }
             }
             catch (Exception exc)
             {
-                Log.WarnFormat("Error occured while indexing{0. The file will be skipped}\n{1}", state.Path, exc);
+                Log.WarnFormat("Error occured while indexing{0}. The file will be skipped}\n{1}",
+                               message.Path, exc);
             }
-            return CompletedTask<object>.Default;
-        }
 
+            return null;
+        }
 
-/*
-        private Task Process(Task<WorkflowState> action)
+        public void Start(AccountInfo accountInfo,string rootPath)
         {
-            return action.ContinueWith(t => Process(t.Result));
-        }
-*/
+            if (accountInfo==null)
+                throw new ArgumentNullException("accountInfo");
+            if (String.IsNullOrWhiteSpace(rootPath))
+                throw new ArgumentNullException("rootPath");
+            if (!Path.IsPathRooted(rootPath))
+                throw new ArgumentException("rootPath must be an absolute path","rootPath");
+            Contract.EndContractBlock();
+
+            _agent.LinkTo(WorkflowAgent.Agent);            
 
+            AccountInfo = accountInfo;
+            RootPath = rootPath;
+            _watcher = new FileSystemWatcher(rootPath);
+            _watcher.IncludeSubdirectories = true;            
+            _watcher.Changed += OnFileEvent;
+            _watcher.Created += OnFileEvent;
+            _watcher.Deleted += OnFileEvent;
+            _watcher.Renamed += OnRenameEvent;
+            _watcher.EnableRaisingEvents = true;
+           
+        }
 
         public bool Pause
         {
@@ -164,7 +147,7 @@ namespace Pithos.Core.Agents
             _watcher = null;
 
             if (_agent!=null)
-                _agent.Stop();
+                _agent.Complete();
         }
 
         // Enumerate all files in the Pithos directory except those in the Fragment folder
diff --git a/trunk/Pithos.Core/Agents/NetworkAgent.cs b/trunk/Pithos.Core/Agents/NetworkAgent.cs
index 40f84d6..6c1284e 100644
--- a/trunk/Pithos.Core/Agents/NetworkAgent.cs
+++ b/trunk/Pithos.Core/Agents/NetworkAgent.cs
@@ -21,6 +21,7 @@ namespace Pithos.Core.Agents
     {
         private Agent<CloudAction> _agent;
 
+
         [Import]
         public IStatusKeeper StatusKeeper { get; set; }
         
@@ -97,7 +98,7 @@ namespace Pithos.Core.Agents
                             await DownloadCloudFile(accountInfo,  cloudFile,downloadPath);
                             break;
                         case CloudActionType.DeleteCloud:
-                            DeleteCloudFile(accountInfo, cloudFile, cloudFile.Name);
+                            DeleteCloudFile(accountInfo, cloudFile);
                             break;
                         case CloudActionType.RenameCloud:
                             var moveAction = (CloudMoveAction)action;
@@ -249,7 +250,7 @@ namespace Pithos.Core.Agents
             _agent.Post(cloudAction);
         }
 
-        class ObjectInfoByNameComparer:IEqualityComparer<ObjectInfo>
+       /* class ObjectInfoByNameComparer:IEqualityComparer<ObjectInfo>
         {
             public bool Equals(ObjectInfo x, ObjectInfo y)
             {
@@ -260,7 +261,7 @@ namespace Pithos.Core.Agents
             {
                 return obj.Name.ToLower().GetHashCode();
             }
-        }
+        }*/
 
         
 
@@ -388,13 +389,13 @@ namespace Pithos.Core.Agents
                             Post(message);
                         }
 
-                        //Report the number of new files
-                        var remoteCount = distinctActions.Count(action=>
-                            action.Action==CloudActionType.DownloadUnconditional);
-/*
-                        if ( remoteCount > 0)
-                            StatusNotification.NotifyChange(String.Format("Processing {0} new files", remoteCount));
-*/
+                        /*                        //Report the number of new files
+                                                var remoteCount = distinctActions.Count(action=>
+                                                    action.Action==CloudActionType.DownloadUnconditional);
+
+                                                if ( remoteCount > 0)
+                                                    StatusNotification.NotifyChange(String.Format("Processing {0} new files", remoteCount));
+                        */
 
                         Log.Info("[LISTENER] End Processing");                        
                     }
@@ -519,17 +520,13 @@ namespace Pithos.Core.Agents
             NativeMethods.RaiseChangeNotification(newFilePath);
         }
 
-        private void DeleteCloudFile(AccountInfo accountInfo, ObjectInfo cloudFile,string fileName)
+        private void DeleteCloudFile(AccountInfo accountInfo, ObjectInfo cloudFile)
         {
             if (accountInfo == null)
                 throw new ArgumentNullException("accountInfo");
             if (cloudFile==null)
                 throw new ArgumentNullException("cloudFile");
 
-            if (String.IsNullOrWhiteSpace(fileName))
-                throw new ArgumentNullException("fileName");
-            if (Path.IsPathRooted(fileName))
-                throw new ArgumentException("The fileName should not be rooted","fileName");
             if (String.IsNullOrWhiteSpace(cloudFile.Container))
                 throw new ArgumentException("Invalid container", "cloudFile");
             Contract.EndContractBlock();
@@ -538,15 +535,17 @@ namespace Pithos.Core.Agents
 
             using ( log4net.ThreadContext.Stacks["DeleteCloudFile"].Push("Delete"))
             {
-                var info = fileAgent.GetFileInfo(fileName);
+                var fileName= cloudFile.RelativeUrlToFilePath(accountInfo.UserName);
+                var info = fileAgent.GetFileInfo(fileName);                
                 var fullPath = info.FullName.ToLower();
+
                 this.StatusKeeper.SetFileOverlayStatus(fullPath, FileOverlayStatus.Modified);
 
                 var account = cloudFile.Account ?? accountInfo.UserName;
                 var container = cloudFile.Container ;//?? FolderConstants.PithosContainer;
 
                 var client = new CloudFilesClient(accountInfo);
-                client.DeleteObject(account, container, fileName);
+                client.DeleteObject(account, container, cloudFile.Name);
 
                 this.StatusKeeper.ClearFileStatus(fullPath);
             }
diff --git a/trunk/Pithos.Core/Agents/StatusAgent.cs b/trunk/Pithos.Core/Agents/StatusAgent.cs
index 338f88e..1880df0 100644
--- a/trunk/Pithos.Core/Agents/StatusAgent.cs
+++ b/trunk/Pithos.Core/Agents/StatusAgent.cs
@@ -7,6 +7,7 @@ using System.IO;
 using System.Linq;
 using System.Threading;
 using System.Threading.Tasks;
+using System.Threading.Tasks.Dataflow;
 using Castle.ActiveRecord;
 using Castle.ActiveRecord.Framework.Config;
 using Pithos.Interfaces;
@@ -24,7 +25,8 @@ namespace Pithos.Core.Agents
         [System.ComponentModel.Composition.Import]
         public IPithosSettings Settings { get; set; }
 
-        private Agent<Action> _persistenceAgent;
+        //private Agent<Action> _persistenceAgent;
+        private ActionBlock<Action> _persistenceAgent;
 
 
         private static readonly ILog Log = LogManager.GetLogger("StatusAgent");
@@ -74,27 +76,16 @@ namespace Pithos.Core.Agents
 
         public void StartProcessing(CancellationToken token)
         {
-            _persistenceAgent = Agent<Action>.Start(queue =>
+            _persistenceAgent = new ActionBlock<Action>(async action=>
             {
-                Action loop = null;
-                loop = () =>
-                {
-                    var job = queue.Receive();
-                    job.ContinueWith(t =>
+                    try
+                    {
+                        await TaskEx.Run(action);
+                    }
+                    catch (Exception ex)
                     {
-                        var action = job.Result;
-                        try
-                        {
-                            action();
-                        }
-                        catch (Exception ex)
-                        {
-                            Log.ErrorFormat("[ERROR] STATE \n{0}",ex);
-                        }
-                        queue.DoAsync(loop);
-                    });
-                };
-                loop();
+                        Log.ErrorFormat("[ERROR] STATE \n{0}",ex);
+                    }
             });
             
         }
@@ -103,7 +94,7 @@ namespace Pithos.Core.Agents
 
         public void Stop()
         {
-            _persistenceAgent.Stop();            
+            _persistenceAgent.Complete();            
         }
        
 
diff --git a/trunk/Pithos.Core/Agents/WorkflowAgent.cs b/trunk/Pithos.Core/Agents/WorkflowAgent.cs
index 7b00a2f..ba0f3a6 100644
--- a/trunk/Pithos.Core/Agents/WorkflowAgent.cs
+++ b/trunk/Pithos.Core/Agents/WorkflowAgent.cs
@@ -7,6 +7,7 @@ using System.IO;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
+using System.Threading.Tasks.Dataflow;
 using Pithos.Interfaces;
 using Pithos.Network;
 using log4net;
@@ -16,7 +17,7 @@ namespace Pithos.Core.Agents
     [Export]
     public class WorkflowAgent
     {
-        Agent<WorkflowState> _agent;
+        private ActionBlock<WorkflowState> _agent;
                 
         public IStatusNotification StatusNotification { get; set; }
         [Import]
@@ -25,25 +26,44 @@ namespace Pithos.Core.Agents
         [Import]
         public NetworkAgent NetworkAgent { get; set; }
 
+        public ActionBlock<WorkflowState> Agent
+        {
+            get { return _agent; }
+        }
+
         private static readonly ILog Log = LogManager.GetLogger("WorkflowAgent");
 
         public void Start()
         {
-            _agent = Agent<WorkflowState>.Start(inbox =>
+            /*_agent = new ActionBlock<WorkflowState>(message =>
             {
                 Action loop = null;
                 loop = () =>
                 {
-                    var message = inbox.Receive();
+                    //var message = inbox.Receive();
+                    Process(message);
                     var process = message.Then(Process, inbox.CancellationToken);                        
                     inbox.LoopAsync(process,loop,ex=>
                             Log.ErrorFormat("[ERROR] Synch for {0}:\r{1}", message.Result.FileName, ex));
                 };
                 loop();
-            });
+            });*/
+            _agent = new ActionBlock<WorkflowState>(async message =>
+            {
+                try
+                {
+                    var action=await TaskEx.Run(()=>Process(message));
+                    if (action!=null)
+                        NetworkAgent.Post(action);
+                }
+                catch (Exception ex)
+                {
+                    Log.ErrorFormat("[ERROR] Synch for {0}:\r{1}", message.FileName, ex);                    
+                }
+            });            
         }
 
-        private Task<object> Process(WorkflowState state)
+        private CloudAction Process(WorkflowState state)
         {
             var accountInfo = state.AccountInfo;
             using (log4net.ThreadContext.Stacks["Workflow"].Push("Process"))
@@ -54,7 +74,7 @@ namespace Pithos.Core.Agents
                 {
                     if (Log.IsDebugEnabled) Log.DebugFormat("Skipping {0}",state.FileName);
                     
-                    return CompletedTask<object>.Default;
+                    return null;
                 }
                 string path = state.Path.ToLower();
 
@@ -66,7 +86,7 @@ namespace Pithos.Core.Agents
                     
                     if (Log.IsDebugEnabled) Log.DebugFormat("Skipped missing {0}", state.FileName);
 
-                    return CompletedTask<object>.Default;
+                    return null;
                 }
 
                 var fileState = FileState.FindByFilePath(path);
@@ -77,19 +97,16 @@ namespace Pithos.Core.Agents
                 {
                     case FileStatus.Created:
                     case FileStatus.Modified:
-                        NetworkAgent.Post(new CloudUploadAction(accountInfo,info, fileState, accountInfo.BlockSize,
-                            accountInfo.BlockHash));
-                        break;
+                        return new CloudUploadAction(accountInfo,info, fileState, accountInfo.BlockSize,
+                            accountInfo.BlockHash);
                     case FileStatus.Deleted:                       
-                        NetworkAgent.Post(new CloudDeleteAction(accountInfo,info, fileState));
-                        break;
+                        return new CloudDeleteAction(accountInfo,info, fileState);
                     case FileStatus.Renamed:
-                        NetworkAgent.Post(new CloudMoveAction(accountInfo,CloudActionType.RenameCloud, new FileInfo(state.OldPath),
-                                                              new FileInfo(state.Path)));
-                        break;
+                        return new CloudMoveAction(accountInfo,CloudActionType.RenameCloud, 
+                            new FileInfo(state.OldPath),
+                            new FileInfo(state.Path));
                 }
-
-                return CompletedTask<object>.Default;
+                return null;
             }
         }
 
@@ -146,7 +163,7 @@ namespace Pithos.Core.Agents
         {
             if (Log.IsDebugEnabled)
                 Log.DebugFormat("Posted {0} {1} {2}", workflowState.Path, workflowState.Status, workflowState.TriggeringChange);
-            _agent.Post(workflowState);
+            Agent.Post(workflowState);
         }
     }
 }
diff --git a/trunk/Pithos.Core/Pithos.Core.csproj b/trunk/Pithos.Core/Pithos.Core.csproj
index b5d9b04..7520ed1 100644
--- a/trunk/Pithos.Core/Pithos.Core.csproj
+++ b/trunk/Pithos.Core/Pithos.Core.csproj
@@ -339,6 +339,9 @@
     <Reference Include="System.ComponentModel.Composition" />
     <Reference Include="System.Core" />
     <Reference Include="System.ServiceModel" />
+    <Reference Include="System.Threading.Tasks.Dataflow">
+      <HintPath>..\Libraries\System.Threading.Tasks.Dataflow.dll</HintPath>
+    </Reference>
     <Reference Include="System.Xml.Linq" />
     <Reference Include="System.Data.DataSetExtensions" />
     <Reference Include="Microsoft.CSharp" />
diff --git a/trunk/Pithos.Interfaces/FileInfoExtensions.cs b/trunk/Pithos.Interfaces/FileInfoExtensions.cs
index 06a6721..fc6679e 100644
--- a/trunk/Pithos.Interfaces/FileInfoExtensions.cs
+++ b/trunk/Pithos.Interfaces/FileInfoExtensions.cs
@@ -17,14 +17,14 @@ namespace Pithos.Interfaces
             if (String.IsNullOrWhiteSpace(path))
                 throw new ArgumentNullException("path");            
             Contract.EndContractBlock();
-            
+            Contract.Assume(Enum.IsDefined(typeof(StringComparison),StringComparison.InvariantCultureIgnoreCase));
 
             if (!path.EndsWith("\\"))
                 path=path.ToLower() + "\\";
             int pathLength = path.Length;            
             
             var filePath = fileInfo.FullName;
-
+            
             if (!filePath.StartsWith(path,StringComparison.InvariantCultureIgnoreCase))
                 throw new ArgumentException(String.Format("The path {0} doesn't contain the file {1}",path,filePath));
             
diff --git a/trunk/Pithos.Interfaces/ObjectInfo.cs b/trunk/Pithos.Interfaces/ObjectInfo.cs
index 2fe41b5..67b60a0 100644
--- a/trunk/Pithos.Interfaces/ObjectInfo.cs
+++ b/trunk/Pithos.Interfaces/ObjectInfo.cs
@@ -114,6 +114,14 @@ namespace Pithos.Interfaces
 
         public ObjectInfo(string accountPath,string accountName,FileInfo fileInfo)
         {
+            if (String.IsNullOrWhiteSpace(accountPath))
+                throw new ArgumentNullException("accountPath");
+            if (string.IsNullOrWhiteSpace(accountName))
+                throw new ArgumentNullException("accountName");
+            if (fileInfo == null)
+                throw new ArgumentNullException("fileInfo");
+            Contract.EndContractBlock();
+
             var relativeUrl = fileInfo.AsRelativeUrlTo(accountPath);
             //The first part of the URL is the container
             var slashIndex = relativeUrl.IndexOf('/');
diff --git a/trunk/Pithos.Interfaces/PithosDateTimeConverter.cs b/trunk/Pithos.Interfaces/PithosDateTimeConverter.cs
index 451fb7d..8b62b82 100644
--- a/trunk/Pithos.Interfaces/PithosDateTimeConverter.cs
+++ b/trunk/Pithos.Interfaces/PithosDateTimeConverter.cs
@@ -25,18 +25,16 @@ namespace Pithos.Interfaces
 
             if (value is DateTime)
             {
-                DateTime dateTime = (DateTime)value;
-                DateTime utcDateTime = dateTime.ToUniversalTime();
+                var dateTime = (DateTime)value;
+                var utcDateTime = dateTime.ToUniversalTime();
                 seconds = (utcDateTime - _epoch).TotalSeconds; ;
             }
-#if !PocketPC && !NET20
             else if (value is DateTimeOffset)
             {
-                DateTimeOffset dateTimeOffset = (DateTimeOffset)value;
-                DateTimeOffset utcDateTimeOffset = dateTimeOffset.ToUniversalTime();
+                var dateTimeOffset = (DateTimeOffset)value;
+                var utcDateTimeOffset = dateTimeOffset.ToUniversalTime();
                 seconds= (utcDateTimeOffset.UtcDateTime - _epoch).TotalSeconds;
             }
-#endif
             else
             {
                 throw new Exception("Expected date object value.");
@@ -72,11 +70,8 @@ namespace Pithos.Interfaces
             DateTime d =  _epoch.AddSeconds(seconds);
 
 
-#if !PocketPC && !NET20
             if (t == typeof(DateTimeOffset))
                 return new DateTimeOffset(d);
-#endif
-
             return d;
         }
 
