<?xml version="1.0"?>
<doc>
    <assembly>
        <name>System.Threading.Tasks</name>
    </assembly>
    <members>
        <member name="T:System.AggregateException">
            <summary>Represents one or more errors that occur during application execution.</summary>
            <remarks>
            <see cref="T:System.AggregateException"/> is used to consolidate multiple failures into a single, throwable
            exception object.
            </remarks>
        </member>
        <member name="M:System.AggregateException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:System.AggregateException"/> class.
            </summary>
        </member>
        <member name="M:System.AggregateException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:System.AggregateException"/> class with
            a specified error message.
            </summary>
            <param name="message">The error message that explains the reason for the exception.</param>
        </member>
        <member name="M:System.AggregateException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:System.AggregateException"/> class with a specified error
            message and a reference to the inner exception that is the cause of this exception.
            </summary>
            <param name="message">The error message that explains the reason for the exception.</param>
            <param name="innerException">The exception that is the cause of the current exception.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="innerException"/> argument
            is null.</exception>
        </member>
        <member name="M:System.AggregateException.#ctor(System.Collections.Generic.IEnumerable{System.Exception})">
            <summary>
            Initializes a new instance of the <see cref="T:System.AggregateException"/> class with
            references to the inner exceptions that are the cause of this exception.
            </summary>
            <param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
            is null.</exception>
            <exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
            null.</exception>
        </member>
        <member name="M:System.AggregateException.#ctor(System.Exception[])">
            <summary>
            Initializes a new instance of the <see cref="T:System.AggregateException"/> class with
            references to the inner exceptions that are the cause of this exception.
            </summary>
            <param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
            is null.</exception>
            <exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
            null.</exception>
        </member>
        <member name="M:System.AggregateException.#ctor(System.String,System.Collections.Generic.IEnumerable{System.Exception})">
            <summary>
            Initializes a new instance of the <see cref="T:System.AggregateException"/> class with a specified error
            message and references to the inner exceptions that are the cause of this exception.
            </summary>
            <param name="message">The error message that explains the reason for the exception.</param>
            <param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
            is null.</exception>
            <exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
            null.</exception>
        </member>
        <member name="M:System.AggregateException.#ctor(System.String,System.Exception[])">
            <summary>
            Initializes a new instance of the <see cref="T:System.AggregateException"/> class with a specified error
            message and references to the inner exceptions that are the cause of this exception.
            </summary>
            <param name="message">The error message that explains the reason for the exception.</param>
            <param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
            is null.</exception>
            <exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
            null.</exception>
        </member>
        <member name="M:System.AggregateException.#ctor(System.String,System.Collections.Generic.IList{System.Exception})">
            <summary>
            Allocates a new aggregate exception with the specified message and list of inner exceptions.
            </summary>
            <param name="message">The error message that explains the reason for the exception.</param>
            <param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
            is null.</exception>
            <exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
            null.</exception>
        </member>
        <member name="M:System.AggregateException.GetBaseException">
            <summary>
            Returns the <see cref="T:System.AggregateException"/> that is the root cause of this exception.
            </summary>
        </member>
        <member name="M:System.AggregateException.Handle(System.Func{System.Exception,System.Boolean})">
            <summary>
            Invokes a handler on each <see cref="T:System.Exception"/> contained by this <see cref="T:System.AggregateException"/>.
            </summary>
            <param name="predicate">The predicate to execute for each exception. The predicate accepts as an
            argument the <see cref="T:System.Exception"/> to be processed and returns a Boolean to indicate
            whether the exception was handled.</param>
            <remarks>
            Each invocation of the <paramref name="predicate"/> returns true or false to indicate whether the
            <see cref="T:System.Exception"/> was handled. After all invocations, if any exceptions went
            unhandled, all unhandled exceptions will be put into a new <see cref="T:System.AggregateException"/>
            which will be thrown. Otherwise, the <see cref="M:System.AggregateException.Handle(System.Func{System.Exception,System.Boolean})"/> method simply returns. If any
            invocations of the <paramref name="predicate"/> throws an exception, it will halt the processing
            of any more exceptions and immediately propagate the thrown exception as-is.
            </remarks>
            <exception cref="T:System.AggregateException">An exception contained by this <see cref="T:System.AggregateException"/> was not handled.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="predicate"/> argument is
            null.</exception>
        </member>
        <member name="M:System.AggregateException.Flatten">
            <summary>
            Flattens an <see cref="T:System.AggregateException"/> instances into a single, new instance.
            </summary>
            <returns>A new, flattened <see cref="T:System.AggregateException"/>.</returns>
            <remarks>
            If any inner exceptions are themselves instances of
            <see cref="T:System.AggregateException"/>, this method will recursively flatten all of them. The
            inner exceptions returned in the new <see cref="T:System.AggregateException"/>
            will be the union of all of the the inner exceptions from exception tree rooted at the provided
            <see cref="T:System.AggregateException"/> instance.
            </remarks>
        </member>
        <member name="M:System.AggregateException.ToString">
            <summary>
            Creates and returns a string representation of the current <see cref="T:System.AggregateException"/>.
            </summary>
            <returns>A string representation of the current exception.</returns>
        </member>
        <member name="P:System.AggregateException.InnerExceptions">
            <summary>
            Gets a read-only collection of the <see cref="T:System.Exception"/> instances that caused the
            current exception.
            </summary>
        </member>
        <member name="T:System.Strings">
            <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
        </member>
        <member name="P:System.Strings.ResourceManager">
            <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
        </member>
        <member name="P:System.Strings.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.Strings.AggregateException_ctor_DefaultMessage">
            <summary>
              Looks up a localized string similar to One or more errors occurred..
            </summary>
        </member>
        <member name="P:System.Strings.AggregateException_ctor_InnerExceptionNull">
            <summary>
              Looks up a localized string similar to An element of innerExceptions was null..
            </summary>
        </member>
        <member name="P:System.Strings.AggregateException_ToString">
            <summary>
              Looks up a localized string similar to {0}{1}---&gt; (Inner Exception #{2}) {3}{4}{5}.
            </summary>
        </member>
        <member name="P:System.Strings.CancellationToken_CreateLinkedToken_TokensIsEmpty">
            <summary>
              Looks up a localized string similar to No tokens were supplied..
            </summary>
        </member>
        <member name="P:System.Strings.CancellationToken_SourceDisposed">
            <summary>
              Looks up a localized string similar to The CancellationTokenSource associated with this CancellationToken has been disposed..
            </summary>
        </member>
        <member name="P:System.Strings.CancellationTokenSource_Disposed">
            <summary>
              Looks up a localized string similar to The CancellationTokenSource has been disposed..
            </summary>
        </member>
        <member name="P:System.Strings.ConcurrentCollection_SyncRoot_NotSupported">
            <summary>
              Looks up a localized string similar to The SyncRoot property may not be used for the synchronization of concurrent collections..
            </summary>
        </member>
        <member name="P:System.Strings.ConcurrentDictionary_ArrayIncorrectType">
            <summary>
              Looks up a localized string similar to The array is multidimensional, or the type parameter for the set cannot be cast automatically to the type of the destination array..
            </summary>
        </member>
        <member name="P:System.Strings.ConcurrentDictionary_ArrayNotLargeEnough">
            <summary>
              Looks up a localized string similar to The index is equal to or greater than the length of the array, or the number of elements in the dictionary is greater than the available space from index to the end of the destination array..
            </summary>
        </member>
        <member name="P:System.Strings.ConcurrentDictionary_CapacityMustNotBeNegative">
            <summary>
              Looks up a localized string similar to The capacity argument must be greater than or equal to zero..
            </summary>
        </member>
        <member name="P:System.Strings.ConcurrentDictionary_ConcurrencyLevelMustBePositive">
            <summary>
              Looks up a localized string similar to The concurrencyLevel argument must be positive..
            </summary>
        </member>
        <member name="P:System.Strings.ConcurrentDictionary_IndexIsNegative">
            <summary>
              Looks up a localized string similar to The index argument is less than zero..
            </summary>
        </member>
        <member name="P:System.Strings.ConcurrentDictionary_ItemKeyIsNull">
            <summary>
              Looks up a localized string similar to TKey is a reference type and item.Key is null..
            </summary>
        </member>
        <member name="P:System.Strings.ConcurrentDictionary_KeyAlreadyExisted">
            <summary>
              Looks up a localized string similar to The key already existed in the dictionary..
            </summary>
        </member>
        <member name="P:System.Strings.ConcurrentDictionary_SourceContainsDuplicateKeys">
            <summary>
              Looks up a localized string similar to The source argument contains duplicate keys..
            </summary>
        </member>
        <member name="P:System.Strings.ConcurrentDictionary_TypeOfKeyIncorrect">
            <summary>
              Looks up a localized string similar to The key was of an incorrect type for this dictionary..
            </summary>
        </member>
        <member name="P:System.Strings.ConcurrentDictionary_TypeOfValueIncorrect">
            <summary>
              Looks up a localized string similar to The value was of an incorrect type for this dictionary..
            </summary>
        </member>
        <member name="P:System.Strings.Lazy_CreateValue_NoParameterlessCtorForT">
            <summary>
              Looks up a localized string similar to The lazily-initialized type does not have a public, parameterless constructor..
            </summary>
        </member>
        <member name="P:System.Strings.Lazy_StaticInit_InvalidOperation">
            <summary>
              Looks up a localized string similar to ValueFactory returned null..
            </summary>
        </member>
        <member name="P:System.Strings.ManualResetEventSlim_ctor_SpinCountOutOfRange">
            <summary>
              Looks up a localized string similar to The spinCount argument must be in the range 0 to {0}, inclusive..
            </summary>
        </member>
        <member name="P:System.Strings.ManualResetEventSlim_ctor_TooManyWaiters">
            <summary>
              Looks up a localized string similar to There are too many threads currently waiting on the event. A maximum of {0} waiting threads are supported..
            </summary>
        </member>
        <member name="P:System.Strings.ManualResetEventSlim_Disposed">
            <summary>
              Looks up a localized string similar to The event has been disposed..
            </summary>
        </member>
        <member name="P:System.Strings.OperationCanceled">
            <summary>
              Looks up a localized string similar to The operation was canceled..
            </summary>
        </member>
        <member name="P:System.Strings.SpinWait_SpinUntil_ArgumentNull">
            <summary>
              Looks up a localized string similar to The condition argument is null..
            </summary>
        </member>
        <member name="P:System.Strings.SpinWait_SpinUntil_TimeoutWrong">
            <summary>
              Looks up a localized string similar to The timeout must represent a value between -1 and Int32.MaxValue, inclusive..
            </summary>
        </member>
        <member name="P:System.Strings.Task_ContinueWith_ESandLR">
            <summary>
              Looks up a localized string similar to The specified TaskContinuationOptions combined LongRunning and ExecuteSynchronously.  Synchronous continuations should not be long running..
            </summary>
        </member>
        <member name="P:System.Strings.Task_ContinueWith_NotOnAnything">
            <summary>
              Looks up a localized string similar to The specified TaskContinuationOptions excluded all continuation kinds..
            </summary>
        </member>
        <member name="P:System.Strings.Task_ctor_LRandSR">
            <summary>
              Looks up a localized string similar to (Internal)An attempt was made to create a LongRunning SelfReplicating task..
            </summary>
        </member>
        <member name="P:System.Strings.Task_Delay_InvalidDelay">
            <summary>
              Looks up a localized string similar to The value needs to translate in milliseconds to -1 (signifying an infinite timeout), 0 or a positive integer less than or equal to Int32.MaxValue..
            </summary>
        </member>
        <member name="P:System.Strings.Task_Delay_InvalidMillisecondsDelay">
            <summary>
              Looks up a localized string similar to The value needs to be either -1 (signifying an infinite timeout), 0 or a positive integer..
            </summary>
        </member>
        <member name="P:System.Strings.Task_Dispose_NotCompleted">
            <summary>
              Looks up a localized string similar to A task may only be disposed if it is in a completion state (RanToCompletion, Faulted or Canceled)..
            </summary>
        </member>
        <member name="P:System.Strings.Task_FromAsync_LongRunning">
            <summary>
              Looks up a localized string similar to It is invalid to specify TaskCreationOptions.LongRunning in calls to FromAsync..
            </summary>
        </member>
        <member name="P:System.Strings.Task_FromAsync_PreferFairness">
            <summary>
              Looks up a localized string similar to It is invalid to specify TaskCreationOptions.PreferFairness in calls to FromAsync..
            </summary>
        </member>
        <member name="P:System.Strings.Task_FromAsync_SelfReplicating">
            <summary>
              Looks up a localized string similar to It is invalid to specify TaskCreationOptions.SelfReplicating in calls to FromAsync..
            </summary>
        </member>
        <member name="P:System.Strings.Task_FromAsync_TaskManagerShutDown">
            <summary>
              Looks up a localized string similar to FromAsync was called with a TaskManager that had already shut down..
            </summary>
        </member>
        <member name="P:System.Strings.Task_MultiTaskContinuation_EmptyTaskList">
            <summary>
              Looks up a localized string similar to The tasks argument contains no tasks..
            </summary>
        </member>
        <member name="P:System.Strings.Task_MultiTaskContinuation_FireOptions">
            <summary>
              Looks up a localized string similar to It is invalid to exclude specific continuation kinds for continuations off of multiple tasks..
            </summary>
        </member>
        <member name="P:System.Strings.Task_MultiTaskContinuation_NullTask">
            <summary>
              Looks up a localized string similar to The tasks argument included a null value..
            </summary>
        </member>
        <member name="P:System.Strings.Task_RunSynchronously_AlreadyStarted">
            <summary>
              Looks up a localized string similar to RunSynchronously may not be called on a task that was already started..
            </summary>
        </member>
        <member name="P:System.Strings.Task_RunSynchronously_Continuation">
            <summary>
              Looks up a localized string similar to RunSynchronously may not be called on a continuation task..
            </summary>
        </member>
        <member name="P:System.Strings.Task_RunSynchronously_Promise">
            <summary>
              Looks up a localized string similar to RunSynchronously may not be called on a task not bound to a delegate, such as the task returned from an asynchronous method..
            </summary>
        </member>
        <member name="P:System.Strings.Task_RunSynchronously_TaskCompleted">
            <summary>
              Looks up a localized string similar to RunSynchronously may not be called on a task that has already completed..
            </summary>
        </member>
        <member name="P:System.Strings.Task_Start_AlreadyStarted">
            <summary>
              Looks up a localized string similar to Start may not be called on a task that was already started..
            </summary>
        </member>
        <member name="P:System.Strings.Task_Start_ContinuationTask">
            <summary>
              Looks up a localized string similar to Start may not be called on a continuation task..
            </summary>
        </member>
        <member name="P:System.Strings.Task_Start_NullAction">
            <summary>
              Looks up a localized string similar to Start may not be called on a task with null action..
            </summary>
        </member>
        <member name="P:System.Strings.Task_Start_Promise">
            <summary>
              Looks up a localized string similar to Start may not be called on a promise-style task..
            </summary>
        </member>
        <member name="P:System.Strings.Task_Start_TaskCompleted">
            <summary>
              Looks up a localized string similar to Start may not be called on a task that has completed..
            </summary>
        </member>
        <member name="P:System.Strings.Task_ThrowIfDisposed">
            <summary>
              Looks up a localized string similar to The task has been disposed..
            </summary>
        </member>
        <member name="P:System.Strings.Task_WaitMulti_NullTask">
            <summary>
              Looks up a localized string similar to The tasks array included at least one null element..
            </summary>
        </member>
        <member name="P:System.Strings.TaskAwaiter_TaskNotCompleted">
            <summary>
              Looks up a localized string similar to The awaited task has not yet completed..
            </summary>
        </member>
        <member name="P:System.Strings.TaskCanceledException_ctor_DefaultMessage">
            <summary>
              Looks up a localized string similar to A task was canceled..
            </summary>
        </member>
        <member name="P:System.Strings.TaskCompletionSourceT_TrySetException_NoExceptions">
            <summary>
              Looks up a localized string similar to The exceptions collection was empty..
            </summary>
        </member>
        <member name="P:System.Strings.TaskCompletionSourceT_TrySetException_NullException">
            <summary>
              Looks up a localized string similar to The exceptions collection included at least one null element..
            </summary>
        </member>
        <member name="P:System.Strings.TaskExceptionHolder_UnhandledException">
            <summary>
              Looks up a localized string similar to A Task&apos;s exception(s) were not observed either by Waiting on the Task or accessing its Exception property. As a result, the unobserved exception was rethrown by the finalizer thread..
            </summary>
        </member>
        <member name="P:System.Strings.TaskExceptionHolder_UnknownExceptionType">
            <summary>
              Looks up a localized string similar to (Internal)Expected an Exception or an IEnumerable&lt;Exception&gt;.
            </summary>
        </member>
        <member name="P:System.Strings.TaskScheduler_ExecuteTask_TaskAlreadyExecuted">
            <summary>
              Looks up a localized string similar to ExecuteTask may not be called for a task which was already executed..
            </summary>
        </member>
        <member name="P:System.Strings.TaskScheduler_ExecuteTask_WrongTaskScheduler">
            <summary>
              Looks up a localized string similar to ExecuteTask may not be called for a task which was previously queued to a different TaskScheduler..
            </summary>
        </member>
        <member name="P:System.Strings.TaskScheduler_FromCurrentSynchronizationContext_NoCurrent">
            <summary>
              Looks up a localized string similar to The current SynchronizationContext may not be used as a TaskScheduler..
            </summary>
        </member>
        <member name="P:System.Strings.TaskScheduler_InconsistentStateAfterTryExecuteTaskInline">
            <summary>
              Looks up a localized string similar to The TryExecuteTaskInline call to the underlying scheduler succeeded, but the task body was not invoked..
            </summary>
        </member>
        <member name="P:System.Strings.TaskSchedulerException_ctor_DefaultMessage">
            <summary>
              Looks up a localized string similar to An exception was thrown by a TaskScheduler..
            </summary>
        </member>
        <member name="P:System.Strings.TaskT_ctor_SelfReplicating">
            <summary>
              Looks up a localized string similar to It is invalid to specify TaskCreationOptions.SelfReplicating for a Task&lt;TResult&gt;..
            </summary>
        </member>
        <member name="P:System.Strings.TaskT_DebuggerNoResult">
            <summary>
              Looks up a localized string similar to {Not yet computed}.
            </summary>
        </member>
        <member name="P:System.Strings.TaskT_SetException_HasAnInitializer">
            <summary>
              Looks up a localized string similar to A task&apos;s Exception may only be set directly if the task was created without a function..
            </summary>
        </member>
        <member name="P:System.Strings.TaskT_TransitionToFinal_AlreadyCompleted">
            <summary>
              Looks up a localized string similar to An attempt was made to transition a task to a final state when it had already completed..
            </summary>
        </member>
        <member name="T:System.Collections.Concurrent.ConcurrentDictionary`2">
            <summary>
            Represents a thread-safe collection of keys and values.
            </summary>
            <typeparam name="TKey">The type of the keys in the dictionary.</typeparam>
            <typeparam name="TValue">The type of the values in the dictionary.</typeparam>
            <remarks>
            All public and protected members of <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> are thread-safe and may be used
            concurrently from multiple threads.
            </remarks>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
            class that is empty, has the default concurrency level, has the default initial capacity, and
            uses the default comparer for the key type.
            </summary>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
            class that is empty, has the specified concurrency level and capacity, and uses the default
            comparer for the key type.
            </summary>
            <param name="concurrencyLevel">The estimated number of threads that will update the
            <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> concurrently.</param>
            <param name="capacity">The initial number of elements that the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
            can contain.</param>
            <exception cref="T:ArgumentOutOfRangeException"><paramref name="concurrencyLevel"/> is
            less than 1.</exception>
            <exception cref="T:ArgumentOutOfRangeException"> <paramref name="capacity"/> is less than
            0.</exception>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
            class that contains elements copied from the specified <see cref="T:System.Collections.IEnumerable{KeyValuePair{TKey,TValue}}"/>, has the default concurrency
            level, has the default initial capacity, and uses the default comparer for the key type.
            </summary>
            <param name="collection">The <see cref="T:System.Collections.IEnumerable{KeyValuePair{TKey,TValue}}"/> whose elements are copied to
            the new
            <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="collection"/> is a null reference
            (Nothing in Visual Basic).</exception>
            <exception cref="T:System.ArgumentException"><paramref name="collection"/> contains one or more
            duplicate keys.</exception>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
            class that is empty, has the specified concurrency level and capacity, and uses the specified
            <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>.
            </summary>
            <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>
            implementation to use when comparing keys.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="comparer"/> is a null reference
            (Nothing in Visual Basic).</exception>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}},System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
            class that contains elements copied from the specified <see cref="T:System.Collections.IEnumerable"/>, has the default concurrency level, has the default
            initial capacity, and uses the specified
            <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>.
            </summary>
            <param name="collection">The <see cref="T:System.Collections.IEnumerable{KeyValuePair{TKey,TValue}}"/> whose elements are copied to
            the new
            <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</param>
            <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>
            implementation to use when comparing keys.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="collection"/> is a null reference
            (Nothing in Visual Basic). -or-
            <paramref name="comparer"/> is a null reference (Nothing in Visual Basic).
            </exception>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Int32,System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}},System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> 
            class that contains elements copied from the specified <see cref="T:System.Collections.IEnumerable"/>, 
            has the specified concurrency level, has the specified initial capacity, and uses the specified 
            <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>.
            </summary>
            <param name="concurrencyLevel">The estimated number of threads that will update the 
            <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> concurrently.</param>
            <param name="collection">The <see cref="T:System.Collections.IEnumerable{KeyValuePair{TKey,TValue}}"/> whose elements are copied to the new 
            <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</param>
            <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/> implementation to use 
            when comparing keys.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="collection"/> is a null reference (Nothing in Visual Basic).
            -or-
            <paramref name="comparer"/> is a null reference (Nothing in Visual Basic).
            </exception>
            <exception cref="T:ArgumentOutOfRangeException">
            <paramref name="concurrencyLevel"/> is less than 1.
            </exception>
            <exception cref="T:System.ArgumentException"><paramref name="collection"/> contains one or more duplicate keys.</exception>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
            class that is empty, has the specified concurrency level, has the specified initial capacity, and
            uses the specified <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>.
            </summary>
            <param name="concurrencyLevel">The estimated number of threads that will update the
            <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> concurrently.</param>
            <param name="capacity">The initial number of elements that the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
            can contain.</param>
            <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>
            implementation to use when comparing keys.</param>
            <exception cref="T:ArgumentOutOfRangeException">
            <paramref name="concurrencyLevel"/> is less than 1. -or-
            <paramref name="capacity"/> is less than 0.
            </exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="comparer"/> is a null reference
            (Nothing in Visual Basic).</exception>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryAdd(`0,`1)">
            <summary>
            Attempts to add the specified key and value to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.
            </summary>
            <param name="key">The key of the element to add.</param>
            <param name="value">The value of the element to add. The value can be a null reference (Nothing
            in Visual Basic) for reference types.</param>
            <returns>true if the key/value pair was added to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
            successfully; otherwise, false.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is null reference
            (Nothing in Visual Basic).</exception>
            <exception cref="T:System.OverflowException">The <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
            contains too many elements.</exception>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.ContainsKey(`0)">
            <summary>
            Determines whether the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> contains the specified
            key.
            </summary>
            <param name="key">The key to locate in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</param>
            <returns>true if the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> contains an element with
            the specified key; otherwise, false.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
            (Nothing in Visual Basic).</exception>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryRemove(`0,`1@)">
            <summary>
            Attempts to remove and return the the value with the specified key from the
            <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.
            </summary>
            <param name="key">The key of the element to remove and return.</param>
            <param name="value">When this method returns, <paramref name="value"/> contains the object removed from the
            <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> or the default value of <typeparamref name="TValue"/>
            if the operation failed.</param>
            <returns>true if an object was removed successfully; otherwise, false.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
            (Nothing in Visual Basic).</exception>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryRemoveInternal(`0,`1@,System.Boolean,`1)">
            <summary>
            Removes the specified key from the dictionary if it exists and returns its associated value.
            If matchValue flag is set, the key will be removed only if is associated with a particular
            value.
            </summary>
            <param name="key">The key to search for and remove if it exists.</param>
            <param name="value">The variable into which the removed value, if found, is stored.</param>
            <param name="matchValue">Whether removal of the key is conditional on its value.</param>
            <param name="oldValue">The conditional value to compare against if <paramref name="matchValue"/> is true</param>
            <returns></returns>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryGetValue(`0,`1@)">
            <summary>
            Attempts to get the value associated with the specified key from the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.
            </summary>
            <param name="key">The key of the value to get.</param>
            <param name="value">When this method returns, <paramref name="value"/> contains the object from
            the
            <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> with the spedified key or the default value of
            <typeparamref name="TValue"/>, if the operation failed.</param>
            <returns>true if the key was found in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>;
            otherwise, false.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
            (Nothing in Visual Basic).</exception>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryUpdate(`0,`1,`1)">
            <summary>
            Compares the existing value for the specified key with a specified value, and if they’re equal,
            updates the key with a third value.
            </summary>
            <param name="key">The key whose value is compared with <paramref name="comparisonValue"/> and
            possibly replaced.</param>
            <param name="newValue">The value that replaces the value of the element with <paramref
            name="key"/> if the comparison results in equality.</param>
            <param name="comparisonValue">The value that is compared to the value of the element with
            <paramref name="key"/>.</param>
            <returns>true if the value with <paramref name="key"/> was equal to <paramref
            name="comparisonValue"/> and replaced with <paramref name="newValue"/>; otherwise,
            false.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null
            reference.</exception>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.Clear">
            <summary>
            Removes all keys and values from the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.
            </summary>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#CopyTo(System.Collections.Generic.KeyValuePair{`0,`1}[],System.Int32)">
            <summary>
            Copies the elements of the <see cref="T:System.Collections.Generic.ICollection"/> to an array of
            type <see cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>, starting at the
            specified array index.
            </summary>
            <param name="array">The one-dimensional array of type <see
            cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>
            that is the destination of the <see
            cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/> elements copied from the <see
            cref="T:System.Collections.ICollection"/>. The array must have zero-based indexing.</param>
            <param name="index">The zero-based index in <paramref name="array"/> at which copying
            begins.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="array"/> is a null reference
            (Nothing in Visual Basic).</exception>
            <exception cref="T:ArgumentOutOfRangeException"><paramref name="index"/> is less than
            0.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="index"/> is equal to or greater than
            the length of the <paramref name="array"/>. -or- The number of elements in the source <see
            cref="T:System.Collections.ICollection"/>
            is greater than the available space from <paramref name="index"/> to the end of the destination
            <paramref name="array"/>.</exception>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.ToArray">
            <summary>
            Copies the key and value pairs stored in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> to a
            new array.
            </summary>
            <returns>A new array containing a snapshot of key and value pairs copied from the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</returns>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.CopyToPairs(System.Collections.Generic.KeyValuePair{`0,`1}[],System.Int32)">
            <summary>
            Copy dictionary contents to an array - shared implementation between ToArray and CopyTo.
            
            Important: the caller must hold all locks in m_locks before calling CopyToPairs.
            </summary>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.CopyToEntries(System.Collections.DictionaryEntry[],System.Int32)">
            <summary>
            Copy dictionary contents to an array - shared implementation between ToArray and CopyTo.
            
            Important: the caller must hold all locks in m_locks before calling CopyToEntries.
            </summary>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.CopyToObjects(System.Object[],System.Int32)">
            <summary>
            Copy dictionary contents to an array - shared implementation between ToArray and CopyTo.
            
            Important: the caller must hold all locks in m_locks before calling CopyToObjects.
            </summary>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetEnumerator">
            <summary>Returns an enumerator that iterates through the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</summary>
            <returns>An enumerator for the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</returns>
            <remarks>
            The enumerator returned from the dictionary is safe to use concurrently with
            reads and writes to the dictionary, however it does not represent a moment-in-time snapshot
            of the dictionary.  The contents exposed through the enumerator may contain modifications
            made to the dictionary after <see cref="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetEnumerator"/> was called.
            </remarks>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryAddInternal(`0,`1,System.Boolean,System.Boolean,`1@)">
            <summary>
            Shared internal implementation for inserts and updates.
            If key exists, we always return false; and if updateIfExists == true we force update with value;
            If key doesn't exist, we always add value and return true;
            </summary>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(`0,System.Func{`0,`1})">
            <summary>
            Adds a key/value pair to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> 
            if the key does not already exist.
            </summary>
            <param name="key">The key of the element to add.</param>
            <param name="valueFactory">The function used to generate a value for the key</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
            (Nothing in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="valueFactory"/> is a null reference
            (Nothing in Visual Basic).</exception>
            <exception cref="T:System.OverflowException">The dictionary contains too many
            elements.</exception>
            <returns>The value for the key.  This will be either the existing value for the key if the
            key is already in the dictionary, or the new value for the key as returned by valueFactory
            if the key was not in the dictionary.</returns>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(`0,`1)">
            <summary>
            Adds a key/value pair to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> 
            if the key does not already exist.
            </summary>
            <param name="key">The key of the element to add.</param>
            <param name="value">the value to be added, if the key does not already exist</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
            (Nothing in Visual Basic).</exception>
            <exception cref="T:System.OverflowException">The dictionary contains too many
            elements.</exception>
            <returns>The value for the key.  This will be either the existing value for the key if the 
            key is already in the dictionary, or the new value if the key was not in the dictionary.</returns>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.AddOrUpdate(`0,System.Func{`0,`1},System.Func{`0,`1,`1})">
            <summary>
            Adds a key/value pair to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> if the key does not already 
            exist, or updates a key/value pair in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> if the key 
            already exists.
            </summary>
            <param name="key">The key to be added or whose value should be updated</param>
            <param name="addValueFactory">The function used to generate a value for an absent key</param>
            <param name="updateValueFactory">The function used to generate a new value for an existing key
            based on the key's existing value</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
            (Nothing in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="addValueFactory"/> is a null reference
            (Nothing in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="updateValueFactory"/> is a null reference
            (Nothing in Visual Basic).</exception>
            <exception cref="T:System.OverflowException">The dictionary contains too many
            elements.</exception>
            <returns>The new value for the key.  This will be either be the result of addValueFactory (if the key was 
            absent) or the result of updateValueFactory (if the key was present).</returns>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.AddOrUpdate(`0,`1,System.Func{`0,`1,`1})">
            <summary>
            Adds a key/value pair to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> if the key does not already 
            exist, or updates a key/value pair in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> if the key 
            already exists.
            </summary>
            <param name="key">The key to be added or whose value should be updated</param>
            <param name="addValue">The value to be added for an absent key</param>
            <param name="updateValueFactory">The function used to generate a new value for an existing key based on 
            the key's existing value</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
            (Nothing in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="updateValueFactory"/> is a null reference
            (Nothing in Visual Basic).</exception>
            <exception cref="T:System.OverflowException">The dictionary contains too many
            elements.</exception>
            <returns>The new value for the key.  This will be either be the result of addValueFactory (if the key was 
            absent) or the result of updateValueFactory (if the key was present).</returns>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#IDictionary{TKey@TValue}#Add(`0,`1)">
            <summary>
            Adds the specified key and value to the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.
            </summary>
            <param name="key">The object to use as the key of the element to add.</param>
            <param name="value">The object to use as the value of the element to add.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
            (Nothing in Visual Basic).</exception>
            <exception cref="T:System.OverflowException">The dictionary contains too many
            elements.</exception>
            <exception cref="T:System.ArgumentException">
            An element with the same key already exists in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</exception>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#IDictionary{TKey@TValue}#Remove(`0)">
            <summary>
            Removes the element with the specified key from the <see
            cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.
            </summary>
            <param name="key">The key of the element to remove.</param>
            <returns>true if the element is successfully remove; otherwise false. This method also returns
            false if
            <paramref name="key"/> was not found in the original <see
            cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.
            </returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
            (Nothing in Visual Basic).</exception>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#Add(System.Collections.Generic.KeyValuePair{`0,`1})">
            <summary>
            Adds the specified value to the <see cref="T:System.Collections.Generic.ICollection{TValue}"/>
            with the specified key.
            </summary>
            <param name="keyValuePair">The <see cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>
            structure representing the key and value to add to the <see
            cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="keyValuePair"/> of <paramref
            name="keyValuePair"/> is null.</exception>
            <exception cref="T:System.OverflowException">The <see
            cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>
            contains too many elements.</exception>
            <exception cref="T:System.ArgumentException">An element with the same key already exists in the
            <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/></exception>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#Contains(System.Collections.Generic.KeyValuePair{`0,`1})">
            <summary>
            Determines whether the <see cref="T:System.Collections.Generic.ICollection{TKey,TValue}"/>
            contains a specific key and value.
            </summary>
            <param name="keyValuePair">The <see cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>
            structure to locate in the <see
            cref="T:System.Collections.Generic.ICollection{TValue}"/>.</param>
            <returns>true if the <paramref name="keyValuePair"/> is found in the <see
            cref="T:System.Collections.Generic.ICollection{TKey,TValue}"/>; otherwise, false.</returns>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#Remove(System.Collections.Generic.KeyValuePair{`0,`1})">
            <summary>
            Removes a key and value from the dictionary.
            </summary>
            <param name="keyValuePair">The <see
            cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>
            structure representing the key and value to remove from the <see
            cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.</param>
            <returns>true if the key and value represented by <paramref name="keyValuePair"/> is successfully
            found and removed; otherwise, false.</returns>
            <exception cref="T:System.ArgumentNullException">The Key property of <paramref
            name="keyValuePair"/> is a null reference (Nothing in Visual Basic).</exception>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IEnumerable#GetEnumerator">
            <summary>Returns an enumerator that iterates through the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</summary>
            <returns>An enumerator for the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</returns>
            <remarks>
            The enumerator returned from the dictionary is safe to use concurrently with
            reads and writes to the dictionary, however it does not represent a moment-in-time snapshot
            of the dictionary.  The contents exposed through the enumerator may contain modifications
            made to the dictionary after <see cref="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetEnumerator"/> was called.
            </remarks>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Add(System.Object,System.Object)">
            <summary>
            Adds the specified key and value to the dictionary.
            </summary>
            <param name="key">The object to use as the key.</param>
            <param name="value">The object to use as the value.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
            (Nothing in Visual Basic).</exception>
            <exception cref="T:System.OverflowException">The dictionary contains too many
            elements.</exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="key"/> is of a type that is not assignable to the key type <typeparamref
            name="TKey"/> of the <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>. -or-
            <paramref name="value"/> is of a type that is not assignable to <typeparamref name="TValue"/>,
            the type of values in the <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.
            -or- A value with the same key already exists in the <see
            cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.
            </exception>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Contains(System.Object)">
            <summary>
            Gets whether the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> contains an
            element with the specified key.
            </summary>
            <param name="key">The key to locate in the <see
            cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.</param>
            <returns>true if the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> contains
            an element with the specified key; otherwise, false.</returns>
            <exception cref="T:System.ArgumentNullException"> <paramref name="key"/> is a null reference
            (Nothing in Visual Basic).</exception>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#GetEnumerator">
            <summary>Provides an <see cref="T:System.Collections.Generics.IDictionaryEnumerator"/> for the
            <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.</summary>
            <returns>An <see cref="T:System.Collections.Generics.IDictionaryEnumerator"/> for the <see
            cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.</returns>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Remove(System.Object)">
            <summary>
            Removes the element with the specified key from the <see
            cref="T:System.Collections.IDictionary"/>.
            </summary>
            <param name="key">The key of the element to remove.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
            (Nothing in Visual Basic).</exception>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
            <summary>
            Copies the elements of the <see cref="T:System.Collections.ICollection"/> to an array, starting
            at the specified array index.
            </summary>
            <param name="array">The one-dimensional array that is the destination of the elements copied from
            the <see cref="T:System.Collections.ICollection"/>. The array must have zero-based
            indexing.</param>
            <param name="index">The zero-based index in <paramref name="array"/> at which copying
            begins.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="array"/> is a null reference
            (Nothing in Visual Basic).</exception>
            <exception cref="T:ArgumentOutOfRangeException"><paramref name="index"/> is less than
            0.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="index"/> is equal to or greater than
            the length of the <paramref name="array"/>. -or- The number of elements in the source <see
            cref="T:System.Collections.ICollection"/>
            is greater than the available space from <paramref name="index"/> to the end of the destination
            <paramref name="array"/>.</exception>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GrowTable(System.Collections.Concurrent.ConcurrentDictionary{`0,`1}.Node[])">
            <summary>
            Replaces the internal table with a larger one. To prevent multiple threads from resizing the
            table as a result of races, the table of buckets that was deemed too small is passed in as
            an argument to GrowTable(). GrowTable() obtains a lock, and then checks whether the bucket
            table has been replaced in the meantime or not.
            </summary>
            <param name="buckets">Reference to the bucket table that was deemed too small.</param>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetBucketAndLockNo(System.Int32,System.Int32@,System.Int32@,System.Int32)">
            <summary>
            Computes the bucket and lock number for a particular key. 
            </summary>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.AcquireAllLocks(System.Int32@)">
            <summary>
            Acquires all locks for this hash table, and increments locksAcquired by the number
            of locks that were successfully acquired. The locks are acquired in an increasing
            order.
            </summary>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.AcquireLocks(System.Int32,System.Int32,System.Int32@)">
            <summary>
            Acquires a contiguous range of locks for this hash table, and increments locksAcquired
            by the number of locks that were successfully acquired. The locks are acquired in an
            increasing order.
            </summary>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.ReleaseLocks(System.Int32,System.Int32)">
            <summary>
            Releases a contiguous range of locks.
            </summary>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetKeys">
            <summary>
            Gets a collection containing the keys in the dictionary.
            </summary>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetValues">
            <summary>
            Gets a collection containing the values in the dictionary.
            </summary>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.Assert(System.Boolean)">
            <summary>
            A helper method for asserts.
            </summary>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.OnSerializing(System.Runtime.Serialization.StreamingContext)">
            <summary>
            Get the data array to be serialized
            </summary>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.OnDeserialized(System.Runtime.Serialization.StreamingContext)">
            <summary>
            Construct the dictionary from a previously seiralized one
            </summary>
        </member>
        <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.Item(`0)">
            <summary>
            Gets or sets the value associated with the specified key.
            </summary>
            <param name="key">The key of the value to get or set.</param>
            <value>The value associated with the specified key. If the specified key is not found, a get
            operation throws a
            <see cref="T:Sytem.Collections.Generic.KeyNotFoundException"/>, and a set operation creates a new
            element with the specified key.</value>
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
            (Nothing in Visual Basic).</exception>
            <exception cref="T:System.Collections.Generic.KeyNotFoundException">The property is retrieved and
            <paramref name="key"/>
            does not exist in the collection.</exception>
        </member>
        <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.Count">
            <summary>
            Gets the number of key/value pairs contained in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.
            </summary>
            <exception cref="T:System.OverflowException">The dictionary contains too many
            elements.</exception>
            <value>The number of key/value paris contained in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</value>
            <remarks>Count has snapshot semantics and represents the number of items in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
            at the moment when Count was accessed.</remarks>
        </member>
        <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.IsEmpty">
            <summary>
            Gets a value that indicates whether the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> is empty.
            </summary>
            <value>true if the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> is empty; otherwise,
            false.</value>
        </member>
        <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.Keys">
            <summary>
            Gets a collection containing the keys in the <see
            cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.
            </summary>
            <value>An <see cref="T:System.Collections.Generic.ICollection{TKey}"/> containing the keys in the
            <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.</value>
        </member>
        <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.Values">
            <summary>
            Gets a collection containing the values in the <see
            cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.
            </summary>
            <value>An <see cref="T:System.Collections.Generic.ICollection{TValue}"/> containing the values in
            the
            <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.</value>
        </member>
        <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#IsReadOnly">
            <summary>
            Gets a value indicating whether the dictionary is read-only.
            </summary>
            <value>true if the <see cref="T:System.Collections.Generic.ICollection{TKey,TValue}"/> is
            read-only; otherwise, false. For <see
            cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>, this property always returns
            false.</value>
        </member>
        <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#IsFixedSize">
            <summary>
            Gets a value indicating whether the <see
            cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> has a fixed size.
            </summary>
            <value>true if the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> has a
            fixed size; otherwise, false. For <see
            cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>, this property always
            returns false.</value>
        </member>
        <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#IsReadOnly">
            <summary>
            Gets a value indicating whether the <see
            cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> is read-only.
            </summary>
            <value>true if the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> is
            read-only; otherwise, false. For <see
            cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>, this property always
            returns false.</value>
        </member>
        <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Keys">
            <summary>
            Gets an <see cref="T:System.Collections.ICollection"/> containing the keys of the <see
            cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.
            </summary>
            <value>An <see cref="T:System.Collections.ICollection"/> containing the keys of the <see
            cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.</value>
        </member>
        <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Values">
            <summary>
            Gets an <see cref="T:System.Collections.ICollection"/> containing the values in the <see
            cref="T:System.Collections.IDictionary"/>.
            </summary>
            <value>An <see cref="T:System.Collections.ICollection"/> containing the values in the <see
            cref="T:System.Collections.IDictionary"/>.</value>
        </member>
        <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Item(System.Object)">
            <summary>
            Gets or sets the value associated with the specified key.
            </summary>
            <param name="key">The key of the value to get or set.</param>
            <value>The value associated with the specified key, or a null reference (Nothing in Visual Basic)
            if <paramref name="key"/> is not in the dictionary or <paramref name="key"/> is of a type that is
            not assignable to the key type <typeparamref name="TKey"/> of the <see
            cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>.</value>
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
            (Nothing in Visual Basic).</exception>
            <exception cref="T:System.ArgumentException">
            A value is being assigned, and <paramref name="key"/> is of a type that is not assignable to the
            key type <typeparamref name="TKey"/> of the <see
            cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>. -or- A value is being
            assigned, and <paramref name="key"/> is of a type that is not assignable to the value type
            <typeparamref name="TValue"/> of the <see
            cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>
            </exception>
        </member>
        <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#ICollection#IsSynchronized">
            <summary>
            Gets a value indicating whether access to the <see cref="T:System.Collections.ICollection"/> is
            synchronized with the SyncRoot.
            </summary>
            <value>true if access to the <see cref="T:System.Collections.ICollection"/> is synchronized
            (thread safe); otherwise, false. For <see
            cref="T:System.Collections.Concurrent.ConcurrentDictionary{TKey,TValue}"/>, this property always
            returns false.</value>
        </member>
        <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#ICollection#SyncRoot">
            <summary>
            Gets an object that can be used to synchronize access to the <see
            cref="T:System.Collections.ICollection"/>. This property is not supported.
            </summary>
            <exception cref="T:System.NotSupportedException">The SyncRoot property is not supported.</exception>
        </member>
        <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.DefaultConcurrencyLevel">
            <summary>
            The number of concurrent writes for which to optimize by default.
            </summary>
        </member>
        <member name="T:System.Collections.Concurrent.ConcurrentDictionary`2.Node">
            <summary>
            A node in a singly-linked list representing a particular hash table bucket.
            </summary>
        </member>
        <member name="T:System.Collections.Concurrent.ConcurrentDictionary`2.DictionaryEnumerator">
            <summary>
            A private class to represent enumeration over the dictionary that implements the 
            IDictionaryEnumerator interface.
            </summary>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncServices.ThrowAsync(System.Exception,System.Threading.SynchronizationContext)">
            <summary>Throws the exception on the ThreadPool.</summary>
            <param name="exception">The exception to propagate.</param>
            <param name="targetContext">The target context on which to propagate the exception.  Null to use the ThreadPool.</param>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncServices.PrepareExceptionForRethrow(System.Exception)">
            <summary>Copies the exception's stack trace so its stack trace isn't overwritten.</summary>
            <param name="exc">The exception to prepare.</param>
        </member>
        <member name="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder">
            <summary>
            Provides a builder for asynchronous methods that return <see cref="T:System.Threading.Tasks.Task"/>.
            This type is intended for compiler use only.
            </summary>
            <remarks>
            AsyncTaskMethodBuilder is a value type, and thus it is copied by value.
            Prior to being copied, one of its Task, SetResult, or SetException members must be accessed,
            or else the copies may end up building distinct Task instances.
            </remarks>
        </member>
        <member name="T:System.Runtime.CompilerServices.IAsyncMethodBuilder">
            <summary>Represents an asynchronous method builder.</summary>
        </member>
        <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.s_cachedCompleted">
            <summary>A cached VoidTaskResult task used for builders that complete synchronously.</summary>
        </member>
        <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.m_builder">
            <summary>The generic builder object to which this non-generic instance delegates.</summary>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Create">
            <summary>Initializes a new <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</summary>
            <returns>The initialized <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</returns>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start``1(``0@)">
            <summary>Initiates the builder's execution with the associated state machine.</summary>
            <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
            <param name="stateMachine">The state machine instance, passed by reference.</param>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
            <summary>Associates the builder with the state machine it represents.</summary>
            <param name="stateMachine">The heap-allocated state machine object.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
            <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.System#Runtime#CompilerServices#IAsyncMethodBuilder#PreBoxInitialization">
            <summary>Perform any initialization necessary prior to lifting the builder to the heap.</summary>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AwaitOnCompleted``2(``0@,``1@)">
            <summary>
            Schedules the specified state machine to be pushed forward when the specified awaiter completes.
            </summary>
            <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
            <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
            <param name="awaiter">The awaiter.</param>
            <param name="stateMachine">The state machine.</param>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AwaitUnsafeOnCompleted``2(``0@,``1@)">
            <summary>
            Schedules the specified state machine to be pushed forward when the specified awaiter completes.
            </summary>
            <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
            <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
            <param name="awaiter">The awaiter.</param>
            <param name="stateMachine">The state machine.</param>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetResult">
            <summary>
            Completes the <see cref="T:System.Threading.Tasks.Task"/> in the 
            <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state.
            </summary>
            <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
            <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetException(System.Exception)">
            <summary>
            Completes the <see cref="T:System.Threading.Tasks.Task"/> in the 
            <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state with the specified exception.
            </summary>
            <param name="exception">The <see cref="T:System.Exception"/> to use to fault the task.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null (Nothing in Visual Basic).</exception>
            <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
            <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetNotificationForWaitCompletion(System.Boolean)">
            <summary>
            Called by the debugger to request notification when the first wait operation
            (await, Wait, Result, etc.) on this builder's task completes.
            </summary>
            <param name="enabled">
            true to enable notification; false to disable a previously set notification.
            </param>
        </member>
        <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Task">
            <summary>Gets the <see cref="T:System.Threading.Tasks.Task"/> for this builder.</summary>
            <returns>The <see cref="T:System.Threading.Tasks.Task"/> representing the builder's asynchronous operation.</returns>
            <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
        </member>
        <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder.ObjectIdForDebugger">
            <summary>
            Gets an object that may be used to uniquely identify this builder to the debugger.
            </summary>
            <remarks>
            This property lazily instantiates the ID in a non-thread-safe manner.  
            It must only be used by the debugger, and only in a single-threaded manner
            when no other threads are in the middle of accessing this property or this.Task.
            </remarks>
        </member>
        <member name="T:System.Runtime.CompilerServices.AsyncMethodBuilderCore">
            <summary>Holds state related to the builder's IAsyncStateMachine.</summary>
            <remarks>This is a mutable struct.  Be very delicate with it.</remarks>
        </member>
        <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.m_stateMachine">
            <summary>A reference to the heap-allocated state machine object associated with this builder.</summary>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start``1(``0@)">
            <summary>Initiates the builder's execution with the associated state machine.</summary>
            <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
            <param name="stateMachine">The state machine instance, passed by reference.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument is null (Nothing in Visual Basic).</exception>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
            <summary>Associates the builder with the state machine it represents.</summary>
            <param name="stateMachine">The heap-allocated state machine object.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
            <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.GetCompletionAction``2(``0@,``1@)">
            <summary>
            Gets the Action to use with an awaiter's OnCompleted or UnsafeOnCompleted method.
            On first invocation, the supplied state machine will be boxed.
            </summary>
            <typeparam name="TMethodBuilder">Specifies the type of the method builder used.</typeparam>
            <typeparam name="TStateMachine">Specifies the type of the state machine used.</typeparam>
            <param name="builder">The builder.</param>
            <param name="stateMachine">The state machine.</param>
            <returns>An Action to provide to the awaiter.</returns>
        </member>
        <member name="T:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner">
            <summary>Provides the ability to invoke a state machine's MoveNext method under a supplied ExecutionContext.</summary>
        </member>
        <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.m_context">
            <summary>The context with which to run MoveNext.</summary>
        </member>
        <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.m_stateMachine">
            <summary>The state machine whose MoveNext method should be invoked.</summary>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.#ctor(System.ExecutionContextLightup)">
            <summary>Initializes the runner.</summary>
            <param name="context">The context with which to run MoveNext.</param>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run">
            <summary>Invokes MoveNext under the provided context.</summary>
        </member>
        <member name="F:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.s_invokeMoveNext">
            <summary>Cached delegate used with ExecutionContext.Run.</summary>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.InvokeMoveNext(System.Object)">
            <summary>Invokes the MoveNext method on the supplied IAsyncStateMachine.</summary>
            <param name="stateMachine">The IAsyncStateMachine machine instance.</param>
        </member>
        <member name="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder">
            <summary>
            Provides a builder for asynchronous methods that return void.
            This type is intended for compiler use only.
            </summary>
        </member>
        <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.m_synchronizationContext">
            <summary>The synchronization context associated with this operation.</summary>
        </member>
        <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.m_coreState">
            <summary>State related to the IAsyncStateMachine.</summary>
        </member>
        <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.m_objectIdForDebugger">
            <summary>An object used by the debugger to uniquely identify this builder.  Lazily initialized.</summary>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.#cctor">
            <summary>Temporary support for disabling crashing if tasks go unobserved.</summary>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.PreventUnobservedTaskExceptions">
            <summary>Registers with UnobservedTaskException to suppress exception crashing.</summary>
        </member>
        <member name="F:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.s_preventUnobservedTaskExceptionsInvoked">
            <summary>Non-zero if PreventUnobservedTaskExceptions has already been invoked.</summary>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.Create">
            <summary>Initializes a new <see cref="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder"/>.</summary>
            <returns>The initialized <see cref="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder"/>.</returns>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.#ctor(System.Threading.SynchronizationContext)">
            <summary>Initializes the <see cref="T:System.Runtime.CompilerServices.AsyncVoidMethodBuilder"/>.</summary>
            <param name="synchronizationContext">The synchronizationContext associated with this operation. This may be null.</param>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.Start``1(``0@)">
            <summary>Initiates the builder's execution with the associated state machine.</summary>
            <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
            <param name="stateMachine">The state machine instance, passed by reference.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
            <summary>Associates the builder with the state machine it represents.</summary>
            <param name="stateMachine">The heap-allocated state machine object.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
            <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.System#Runtime#CompilerServices#IAsyncMethodBuilder#PreBoxInitialization">
            <summary>Perform any initialization necessary prior to lifting the builder to the heap.</summary>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.AwaitOnCompleted``2(``0@,``1@)">
            <summary>
            Schedules the specified state machine to be pushed forward when the specified awaiter completes.
            </summary>
            <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
            <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
            <param name="awaiter">The awaiter.</param>
            <param name="stateMachine">The state machine.</param>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.AwaitUnsafeOnCompleted``2(``0@,``1@)">
            <summary>
            Schedules the specified state machine to be pushed forward when the specified awaiter completes.
            </summary>
            <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
            <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
            <param name="awaiter">The awaiter.</param>
            <param name="stateMachine">The state machine.</param>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.SetResult">
            <summary>Completes the method builder successfully.</summary>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.SetException(System.Exception)">
            <summary>Faults the method builder with an exception.</summary>
            <param name="exception">The exception that is the cause of this fault.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null (Nothing in Visual Basic).</exception>
            <exception cref="T:System.InvalidOperationException">The builder is not initialized.</exception>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.NotifySynchronizationContextOfCompletion">
            <summary>Notifies the current synchronization context that the operation completed.</summary>
        </member>
        <member name="P:System.Runtime.CompilerServices.AsyncVoidMethodBuilder.ObjectIdForDebugger">
            <summary>
            Gets an object that may be used to uniquely identify this builder to the debugger.
            </summary>
            <remarks>
            This property lazily instantiates the ID in a non-thread-safe manner.  
            It must only be used by the debugger and only in a single-threaded manner.
            </remarks>
        </member>
        <member name="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1">
            <summary>
            Provides a builder for asynchronous methods that return <see cref="T:System.Threading.Tasks.Task`1"/>.
            This type is intended for compiler use only.
            </summary>
            <remarks>
            AsyncTaskMethodBuilder{TResult} is a value type, and thus it is copied by value.
            Prior to being copied, one of its Task, SetResult, or SetException members must be accessed,
            or else the copies may end up building distinct Task instances.
            </remarks>
        </member>
        <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.s_defaultResultTask">
            <summary>A cached task for default(TResult).</summary>
        </member>
        <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.m_coreState">
            <summary>State related to the IAsyncStateMachine.</summary>
        </member>
        <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.m_task">
            <summary>The lazily-initialized task.</summary>
            <remarks>Must be named m_task for debugger step-over to work correctly.</remarks>
        </member>
        <member name="F:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.m_taskCompletionSource">
            <summary>The lazily-initialized task completion source.</summary>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.#cctor">
            <summary>Temporary support for disabling crashing if tasks go unobserved.</summary>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Create">
            <summary>Initializes a new <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</summary>
            <returns>The initialized <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/>.</returns>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Start``1(``0@)">
            <summary>Initiates the builder's execution with the associated state machine.</summary>
            <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
            <param name="stateMachine">The state machine instance, passed by reference.</param>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
            <summary>Associates the builder with the state machine it represents.</summary>
            <param name="stateMachine">The heap-allocated state machine object.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="stateMachine"/> argument was null (Nothing in Visual Basic).</exception>
            <exception cref="T:System.InvalidOperationException">The builder is incorrectly initialized.</exception>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.System#Runtime#CompilerServices#IAsyncMethodBuilder#PreBoxInitialization">
            <summary>Perform any initialization necessary prior to lifting the builder to the heap.</summary>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AwaitOnCompleted``2(``0@,``1@)">
            <summary>
            Schedules the specified state machine to be pushed forward when the specified awaiter completes.
            </summary>
            <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
            <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
            <param name="awaiter">The awaiter.</param>
            <param name="stateMachine">The state machine.</param>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AwaitUnsafeOnCompleted``2(``0@,``1@)">
            <summary>
            Schedules the specified state machine to be pushed forward when the specified awaiter completes.
            </summary>
            <typeparam name="TAwaiter">Specifies the type of the awaiter.</typeparam>
            <typeparam name="TStateMachine">Specifies the type of the state machine.</typeparam>
            <param name="awaiter">The awaiter.</param>
            <param name="stateMachine">The state machine.</param>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult(`0)">
            <summary>
            Completes the <see cref="T:System.Threading.Tasks.Task`1"/> in the 
            <see cref="T:System.Threading.Tasks.TaskStatus">RanToCompletion</see> state with the specified result.
            </summary>
            <param name="result">The result to use to complete the task.</param>
            <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult(System.Threading.Tasks.TaskCompletionSource{`0})">
            <summary>
            Completes the builder by using either the supplied completed task, or by completing
            the builder's previously accessed task using default(TResult).
            </summary>
            <param name="completedTask">A task already completed with the value default(TResult).</param>
            <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetException(System.Exception)">
            <summary>
            Completes the <see cref="T:System.Threading.Tasks.Task`1"/> in the 
            <see cref="T:System.Threading.Tasks.TaskStatus">Faulted</see> state with the specified exception.
            </summary>
            <param name="exception">The <see cref="T:System.Exception"/> to use to fault the task.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null (Nothing in Visual Basic).</exception>
            <exception cref="T:System.InvalidOperationException">The task has already completed.</exception>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetNotificationForWaitCompletion(System.Boolean)">
            <summary>
            Called by the debugger to request notification when the first wait operation
            (await, Wait, Result, etc.) on this builder's task completes.
            </summary>
            <param name="enabled">
            true to enable notification; false to disable a previously set notification.
            </param>
            <remarks>
            This should only be invoked from within an asynchronous method,
            and only by the debugger.
            </remarks>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.GetTaskForResult(`0)">
            <summary>
            Gets a task for the specified result.  This will either
            be a cached or new task, never null.
            </summary>
            <param name="result">The result for which we need a task.</param>
            <returns>The completed task containing the result.</returns>
        </member>
        <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.CompletionSource">
            <summary>Gets the lazily-initialized TaskCompletionSource.</summary>
        </member>
        <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Task">
            <summary>Gets the <see cref="T:System.Threading.Tasks.Task`1"/> for this builder.</summary>
            <returns>The <see cref="T:System.Threading.Tasks.Task`1"/> representing the builder's asynchronous operation.</returns>
        </member>
        <member name="P:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.ObjectIdForDebugger">
            <summary>
            Gets an object that may be used to uniquely identify this builder to the debugger.
            </summary>
            <remarks>
            This property lazily instantiates the ID in a non-thread-safe manner.  
            It must only be used by the debugger, and only in a single-threaded manner
            when no other threads are in the middle of accessing this property or this.Task.
            </remarks>
        </member>
        <member name="T:System.Runtime.CompilerServices.AsyncMethodTaskCache`1">
            <summary>Provides a base class used to cache tasks of a specific return type.</summary>
            <typeparam name="TResult">Specifies the type of results the cached tasks return.</typeparam>
        </member>
        <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.Singleton">
            <summary>
            A singleton cache for this result type.
            This may be null if there are no cached tasks for this TResult.
            </summary>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.CreateCompleted(`0)">
            <summary>Creates a non-disposable task.</summary>
            <param name="result">The result for the task.</param>
            <returns>The cacheable task.</returns>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.CreateCache">
            <summary>Creates a cache.</summary>
            <returns>A task cache for this result type.</returns>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.FromResult(`0)">
            <summary>Gets a cached task if one exists.</summary>
            <param name="result">The result for which we want a cached task.</param>
            <returns>A cached task if one exists; otherwise, null.</returns>
        </member>
        <member name="T:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache">
            <summary>Provides a cache for Boolean tasks.</summary>
        </member>
        <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache.m_true">
            <summary>A true task.</summary>
        </member>
        <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache.m_false">
            <summary>A false task.</summary>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodBooleanTaskCache.FromResult(System.Boolean)">
            <summary>Gets a cached task for the Boolean result.</summary>
            <param name="result">true or false</param>
            <returns>A cached task for the Boolean result.</returns>
        </member>
        <member name="T:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache">
            <summary>Provides a cache for zero Int32 tasks.</summary>
        </member>
        <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.INCLUSIVE_INT32_MIN">
            <summary>The minimum value, inclusive, for which we want a cached task.</summary>
        </member>
        <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.EXCLUSIVE_INT32_MAX">
            <summary>The maximum value, exclusive, for which we want a cached task.</summary>
        </member>
        <member name="F:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.Int32Tasks">
            <summary>The cache of Task{Int32}.</summary>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.CreateInt32Tasks">
            <summary>Creates an array of cached tasks for the values in the range [INCLUSIVE_MIN,EXCLUSIVE_MAX).</summary>
        </member>
        <member name="M:System.Runtime.CompilerServices.AsyncMethodTaskCache`1.AsyncMethodInt32TaskCache.FromResult(System.Int32)">
            <summary>Gets a cached task for the zero Int32 result.</summary>
            <param name="result">The integer value</param>
            <returns>A cached task for the Int32 result or null if not cached.</returns>
        </member>
        <member name="T:System.Runtime.CompilerServices.IAsyncStateMachine">
            <summary>
            Represents state machines generated for asynchronous methods.
            This type is intended for compiler use only.
            </summary>
        </member>
        <member name="M:System.Runtime.CompilerServices.IAsyncStateMachine.MoveNext">
            <summary>Moves the state machine to its next state.</summary>
        </member>
        <member name="M:System.Runtime.CompilerServices.IAsyncStateMachine.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
            <summary>Configures the state machine with a heap-allocated replica.</summary>
            <param name="stateMachine">The heap-allocated replica.</param>
        </member>
        <member name="T:System.Runtime.CompilerServices.ICriticalNotifyCompletion">
            <summary>
            Represents an awaiter used to schedule continuations when an await operation completes.
            </summary>
        </member>
        <member name="T:System.Runtime.CompilerServices.INotifyCompletion">
            <summary>
            Represents an operation that will schedule continuations when the operation completes.
            </summary>
        </member>
        <member name="M:System.Runtime.CompilerServices.INotifyCompletion.OnCompleted(System.Action)">
            <summary>Schedules the continuation action to be invoked when the instance completes.</summary>
            <param name="continuation">The action to invoke when the operation completes.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
        </member>
        <member name="M:System.Runtime.CompilerServices.ICriticalNotifyCompletion.UnsafeOnCompleted(System.Action)">
            <summary>Schedules the continuation action to be invoked when the instance completes.</summary>
            <param name="continuation">The action to invoke when the operation completes.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception>
            <remarks>Unlike OnCompleted, UnsafeOnCompleted need not propagate ExecutionContext information.</remarks>
        </member>
        <member name="T:System.Runtime.CompilerServices.VoidTaskResult">
            <summary>Used with Task(of void)</summary>
        </member>
        <member name="T:System.Threading.Tasks.IThreadPoolWorkItem">
            <summary>
            An interface similar to the one added in .NET 4.0.
            </summary>
        </member>
        <member name="T:System.OperationCanceledException">
            <summary>The exception that is thrown in a thread upon cancellation of an operation that the thread was executing.</summary>
        </member>
        <member name="M:System.OperationCanceledException.#ctor">
            <summary>Initializes the exception.</summary>
        </member>
        <member name="M:System.OperationCanceledException.#ctor(System.String)">
            <summary>Initializes the exception.</summary>
            <param name="message">The error message that explains the reason for the exception.</param>
        </member>
        <member name="M:System.OperationCanceledException.#ctor(System.String,System.Exception)">
            <summary>Initializes the exception.</summary>
            <param name="message">The error message that explains the reason for the exception.</param>
            <param name="innerException">The exception that is the cause of the current exception.</param>
        </member>
        <member name="M:System.OperationCanceledException.#ctor(System.Threading.CancellationToken)">
            <summary>Initializes the exception.</summary>
            <param name="token">A cancellation token associated with the operation that was canceled.</param>
        </member>
        <member name="M:System.OperationCanceledException.#ctor(System.String,System.Threading.CancellationToken)">
            <summary>Initializes the exception.</summary>
            <param name="message">The error message that explains the reason for the exception.</param>
            <param name="token">A cancellation token associated with the operation that was canceled.</param>
        </member>
        <member name="M:System.OperationCanceledException.#ctor(System.String,System.Exception,System.Threading.CancellationToken)">
            <summary>Initializes the exception.</summary>
            <param name="message">The error message that explains the reason for the exception.</param>
            <param name="innerException">The exception that is the cause of the current exception.</param>
            <param name="token">A cancellation token associated with the operation that was canceled.</param>
        </member>
        <member name="P:System.OperationCanceledException.CancellationToken">
            <summary>Gets a token associated with the operation that was canceled.</summary>
        </member>
        <member name="T:System.Threading.StackCrawlMark">
            <summary>
            A dummy replacement for the .NET internal class StackCrawlMark.
            </summary>
        </member>
        <member name="T:System.Threading.CancellationToken">
            <summary>
            Propogates notification that operations should be canceled.
            </summary>
            <remarks>
            <para>
            A <see cref="T:System.Threading.CancellationToken"/> may be created directly in an unchangeable canceled or non-canceled state
            using the CancellationToken's constructors. However, to have a CancellationToken that can change 
            from a non-canceled to a canceled state, 
            <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> must be used.
            CancellationTokenSource exposes the associated CancellationToken that may be canceled by the source through its 
            <see cref="P:System.Threading.CancellationTokenSource.Token">Token</see> property. 
            </para>
            <para>
            Once canceled, a token may not transition to a non-canceled state, and a token whose 
            <see cref="P:System.Threading.CancellationToken.CanBeCanceled"/> is false will never change to one that can be canceled.
            </para>
            <para>
            All members of this struct are thread-safe and may be used concurrently from multiple threads.
            </para>
            </remarks>
        </member>
        <member name="M:System.Threading.CancellationToken.#ctor(System.Threading.CancellationTokenSource)">
            <summary>
            Internal constructor only a CancellationTokenSource should create a CancellationToken
            </summary>
        </member>
        <member name="M:System.Threading.CancellationToken.#ctor(System.Boolean)">
            <summary>
            Initializes the <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
            </summary>
            <param name="canceled">
            The canceled state for the token.
            </param>
            <remarks>
            Tokens created with this constructor will remain in the canceled state specified
            by the <paramref name="canceled"/> parameter.  If <paramref name="canceled"/> is false,
            both <see cref="P:System.Threading.CancellationToken.CanBeCanceled"/> and <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> will be false.
            If <paramref name="canceled"/> is true,
            both <see cref="P:System.Threading.CancellationToken.CanBeCanceled"/> and <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> will be true. 
            </remarks>
        </member>
        <member name="M:System.Threading.CancellationToken.Register(System.Action)">
            <summary>
            Registers a delegate that will be called when this <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.
            </summary>
            <remarks>
            <para>
            If this token is already in the canceled state, the
            delegate will be run immediately and synchronously. Any exception the delegate generates will be
            propogated out of this method call.
            </para>
            </remarks>
            <param name="callback">The delegate to be executed when the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.</param>
            <returns>The <see cref="T:System.Threading.CancellationTokenRegistration"/> instance that can 
            be used to deregister the callback.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="callback"/> is null.</exception>
            <exception cref="T:System.ObjectDisposedException">The associated <see
            cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
        </member>
        <member name="M:System.Threading.CancellationToken.Register(System.Action,System.Boolean)">
            <summary>
            Registers a delegate that will be called when this 
            <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.
            </summary>
            <remarks>
            <para>
            If this token is already in the canceled state, the
            delegate will be run immediately and synchronously. Any exception the delegate generates will be
            propogated out of this method call.
            </para>
            </remarks>
            <param name="callback">The delegate to be executed when the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.</param>
            <param name="useSynchronizationContext">A Boolean value that indicates whether to capture
            the current <see cref="T:System.Threading.SynchronizationContext">SynchronizationContext</see> and use it
            when invoking the <paramref name="callback"/>.</param>
            <returns>The <see cref="T:System.Threading.CancellationTokenRegistration"/> instance that can 
            be used to deregister the callback.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="callback"/> is null.</exception>
            <exception cref="T:System.ObjectDisposedException">The associated <see
            cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
        </member>
        <member name="M:System.Threading.CancellationToken.Register(System.Action{System.Object},System.Object)">
            <summary>
            Registers a delegate that will be called when this 
            <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.
            </summary>
            <remarks>
            <para>
            If this token is already in the canceled state, the
            delegate will be run immediately and synchronously. Any exception the delegate generates will be
            propogated out of this method call.
            </para>
            </remarks>
            <param name="callback">The delegate to be executed when the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.</param>
            <param name="state">The state to pass to the <paramref name="callback"/> when the delegate is invoked.  This may be null.</param>
            <returns>The <see cref="T:System.Threading.CancellationTokenRegistration"/> instance that can 
            be used to deregister the callback.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="callback"/> is null.</exception>
            <exception cref="T:System.ObjectDisposedException">The associated <see
            cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
        </member>
        <member name="M:System.Threading.CancellationToken.Register(System.Action{System.Object},System.Object,System.Boolean)">
            <summary>
            Registers a delegate that will be called when this 
            <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.
            </summary>
            <remarks>
            <para>
            If this token is already in the canceled state, the
            delegate will be run immediately and synchronously. Any exception the delegate generates will be
            propogated out of this method call.
            </para>
            </remarks>
            <param name="callback">The delegate to be executed when the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.</param>
            <param name="state">The state to pass to the <paramref name="callback"/> when the delegate is invoked.  This may be null.</param>
            <param name="useSynchronizationContext">A Boolean value that indicates whether to capture
            the current <see cref="T:System.Threading.SynchronizationContext">SynchronizationContext</see> and use it
            when invoking the <paramref name="callback"/>.</param>
            <returns>The <see cref="T:System.Threading.CancellationTokenRegistration"/> instance that can 
            be used to deregister the callback.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="callback"/> is null.</exception>
            <exception cref="T:System.ObjectDisposedException">The associated <see
            cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
        </member>
        <member name="M:System.Threading.CancellationToken.Equals(System.Threading.CancellationToken)">
            <summary>
            Determines whether the current <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instance is equal to the 
            specified token.
            </summary>
            <param name="other">The other <see cref="T:System.Threading.CancellationToken">CancellationToken</see> to which to compare this
            instance.</param>
            <returns>True if the instances are equal; otherwise, false. Two tokens are equal if they are associated
            with the same <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> or if they were both constructed 
            from public CancellationToken constructors and their <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> values are equal.</returns>
        </member>
        <member name="M:System.Threading.CancellationToken.Equals(System.Object)">
            <summary>
            Determines whether the current <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instance is equal to the 
            specified <see cref="T:System.Object"/>.
            </summary>
            <param name="other">The other object to which to compare this instance.</param>
            <returns>True if <paramref name="other"/> is a <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            and if the two instances are equal; otherwise, false. Two tokens are equal if they are associated
            with the same <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> or if they were both constructed 
            from public CancellationToken constructors and their <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> values are equal.</returns>
            <exception cref="T:System.ObjectDisposedException">An associated <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
        </member>
        <member name="M:System.Threading.CancellationToken.GetHashCode">
            <summary>
            Serves as a hash function for a <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
            </summary>
            <returns>A hash code for the current <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instance.</returns>
        </member>
        <member name="M:System.Threading.CancellationToken.op_Equality(System.Threading.CancellationToken,System.Threading.CancellationToken)">
            <summary>
            Determines whether two <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instances are equal.
            </summary>
            <param name="left">The first instance.</param>
            <param name="right">The second instance.</param>
            <returns>True if the instances are equal; otherwise, false.</returns>
            <exception cref="T:System.ObjectDisposedException">An associated <see
            cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
        </member>
        <member name="M:System.Threading.CancellationToken.op_Inequality(System.Threading.CancellationToken,System.Threading.CancellationToken)">
            <summary>
            Determines whether two <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instances are not equal.
            </summary>
            <param name="left">The first instance.</param>
            <param name="right">The second instance.</param>
            <returns>True if the instances are not equal; otherwise, false.</returns>
            <exception cref="T:System.ObjectDisposedException">An associated <see
            cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
        </member>
        <member name="M:System.Threading.CancellationToken.ThrowIfCancellationRequested">
            <summary>
            Throws a <see cref="T:System.OperationCanceledException">OperationCanceledException</see> if
            this token has had cancellation requested.
            </summary>
            <remarks>
            This method provides functionality equivalent to:
            <code>
            if (token.IsCancellationRequested) 
               throw new OperationCanceledException(token);
            </code>
            </remarks>
            <exception cref="T:System.OperationCanceledException">The token has had cancellation requested.</exception>
            <exception cref="T:System.ObjectDisposedException">The associated <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
        </member>
        <member name="P:System.Threading.CancellationToken.None">
            <summary>
            Returns an empty CancellationToken value.
            </summary>
            <remarks>
            The <see cref="T:System.Threading.CancellationToken"/> value returned by this property will be non-cancelable by default.
            </remarks>
        </member>
        <member name="P:System.Threading.CancellationToken.IsCancellationRequested">
            <summary>
            Gets whether cancellation has been requested for this token.
            </summary>
            <value>Whether cancellation has been requested for this token.</value>
            <remarks>
            <para>
            This property indicates whether cancellation has been requested for this token, 
            either through the token initially being construted in a canceled state, or through
            calling <see cref="M:System.Threading.CancellationTokenSource.Cancel">Cancel</see> 
            on the token's associated <see cref="T:System.Threading.CancellationTokenSource"/>.
            </para>
            <para>
            If this property is true, it only guarantees that cancellation has been requested.  
            It does not guarantee that every registered handler
            has finished executing, nor that cancellation requests have finished propagating
            to all registered handlers.  Additional synchronization may be required,
            particularly in situations where related objects are being canceled concurrently.
            </para>
            </remarks>
        </member>
        <member name="P:System.Threading.CancellationToken.CanBeCanceled">
            <summary>
            Gets whether this token is capable of being in the canceled state.
            </summary>
            <remarks>
            If CanBeCanceled returns false, it is guaranteed that the token will never transition
            into a canceled state, meaning that <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> will never
            return true.
            </remarks>
        </member>
        <member name="P:System.Threading.CancellationToken.WaitHandle">
            <summary>
            Gets a <see cref="T:System.Threading.WaitHandle"/> that is signaled when the token is canceled.</summary>
            <remarks>
            Accessing this property causes a <see cref="T:System.Threading.WaitHandle">WaitHandle</see>
            to be instantiated.  It is preferable to only use this property when necessary, and to then
            dispose the associated <see cref="T:System.Threading.CancellationTokenSource"/> instance at the earliest opportunity (disposing
            the source will dispose of this allocated handle).  The handle should not be closed or disposed directly.
            </remarks>
            <exception cref="T:System.ObjectDisposedException">The associated <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
        </member>
        <member name="T:System.Threading.CancellationTokenRegistration">
            <summary>
            Represents a callback delegate that has been registered with a <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
            </summary>
            <remarks>
            To unregister a callback, dispose the corresponding Registration instance.
            </remarks>
        </member>
        <member name="M:System.Threading.CancellationTokenRegistration.TryDeregister">
            <summary>
            Attempts to deregister the item. If it's already being run, this may fail.
            Entails a full memory fence.
            </summary>
            <returns>True if the callback was found and deregistered, false otherwise.</returns>
        </member>
        <member name="M:System.Threading.CancellationTokenRegistration.Dispose">
            <summary>
            Disposes of the registration and unregisters the target callback from the associated 
            <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
            If the target callback is currently executing this method will wait until it completes, except
            in the degenerate cases where a callback method deregisters itself.
            </summary>
        </member>
        <member name="M:System.Threading.CancellationTokenRegistration.op_Equality(System.Threading.CancellationTokenRegistration,System.Threading.CancellationTokenRegistration)">
            <summary>
            Determines whether two <see
            cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see>
            instances are equal.
            </summary>
            <param name="left">The first instance.</param>
            <param name="right">The second instance.</param>
            <returns>True if the instances are equal; otherwise, false.</returns>
        </member>
        <member name="M:System.Threading.CancellationTokenRegistration.op_Inequality(System.Threading.CancellationTokenRegistration,System.Threading.CancellationTokenRegistration)">
            <summary>
            Determines whether two <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> instances are not equal.
            </summary>
            <param name="left">The first instance.</param>
            <param name="right">The second instance.</param>
            <returns>True if the instances are not equal; otherwise, false.</returns>
        </member>
        <member name="M:System.Threading.CancellationTokenRegistration.Equals(System.Object)">
            <summary>
            Determines whether the current <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> instance is equal to the 
            specified <see cref="T:System.Object"/>.
            </summary> 
            <param name="obj">The other object to which to compare this instance.</param>
            <returns>True, if both this and <paramref name="obj"/> are equal. False, otherwise.
            Two <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> instances are equal if
            they both refer to the output of a single call to the same Register method of a 
            <see cref="T:System.Threading.CancellationToken">CancellationToken</see>. 
            </returns>
        </member>
        <member name="M:System.Threading.CancellationTokenRegistration.Equals(System.Threading.CancellationTokenRegistration)">
            <summary>
            Determines whether the current <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instance is equal to the 
            specified <see cref="T:System.Object"/>.
            </summary> 
            <param name="other">The other <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> to which to compare this instance.</param>
            <returns>True, if both this and <paramref name="other"/> are equal. False, otherwise.
            Two <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> instances are equal if
            they both refer to the output of a single call to the same Register method of a 
            <see cref="T:System.Threading.CancellationToken">CancellationToken</see>. 
            </returns>
        </member>
        <member name="M:System.Threading.CancellationTokenRegistration.GetHashCode">
            <summary>
            Serves as a hash function for a <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration.</see>.
            </summary>
            <returns>A hash code for the current <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> instance.</returns>
        </member>
        <member name="T:System.Threading.CancellationTokenSource">
            <summary>
            Signals to a <see cref="T:System.Threading.CancellationToken"/> that it should be canceled.
            </summary>
            <remarks>
            <para>
            <see cref="T:System.Threading.CancellationTokenSource"/> is used to instantiate a <see cref="T:System.Threading.CancellationToken"/>
            (via the source's <see cref="P:System.Threading.CancellationTokenSource.Token">Token</see> property)
            that can be handed to operations that wish to be notified of cancellation or that can be used to
            register asynchronous operations for cancellation. That token may have cancellation requested by
            calling to the source's <see cref="M:System.Threading.CancellationTokenSource.Cancel">Cancel</see>
            method.
            </para>
            <para>
            All members of this class, except <see cref="M:System.Threading.CancellationTokenSource.Dispose">Dispose</see>, are thread-safe and may be used
            concurrently from multiple threads.
            </para>
            </remarks>
        </member>
        <member name="F:System.Threading.CancellationTokenSource.m_threadIDExecutingCallbacks">
            The ID of the thread currently executing the main body of CTS.Cancel()
            this helps us to know if a call to ctr.Dispose() is running 'within' a cancellation callback.
            This is updated as we move between the main thread calling cts.Cancel() and any syncContexts that are used to 
            actually run the callbacks.
        </member>
        <member name="M:System.Threading.CancellationTokenSource.#ctor">
            <summary>
            Initializes the <see cref="T:System.Threading.CancellationTokenSource"/>.
            </summary>
        </member>
        <member name="M:System.Threading.CancellationTokenSource.Cancel">
            <summary>
            Communicates a request for cancellation.
            </summary>
            <remarks>
            <para>
            The associated <see cref="T:System.Threading.CancellationToken"/> will be
            notified of the cancellation and will transition to a state where 
            <see cref="P:System.Threading.CancellationToken.IsCancellationRequested">IsCancellationRequested</see> returns true. 
            Any callbacks or cancelable operations
            registered with the <see cref="T:System.Threading.CancellationToken"/>  will be executed.
            </para>
            <para>
            Cancelable operations and callbacks registered with the token should not throw exceptions.
            However, this overload of Cancel will aggregate any exceptions thrown into a <see cref="T:System.AggregateException"/>,
            such that one callback throwing an exception will not prevent other registered callbacks from being executed.
            </para>
            <para>
            The <see cref="T:System.Threading.ExecutionContext"/> that was captured when each callback was registered
            will be reestablished when the callback is invoked.
            </para>
            </remarks>
            <exception cref="T:System.AggregateException">An aggregate exception containing all the exceptions thrown
            by the registered callbacks on the associated <see cref="T:System.Threading.CancellationToken"/>.</exception>
            <exception cref="T:System.ObjectDisposedException">This <see cref="T:System.Threading.CancellationTokenSource"/> has been disposed.</exception> 
        </member>
        <member name="M:System.Threading.CancellationTokenSource.Cancel(System.Boolean)">
            <summary>
            Communicates a request for cancellation.
            </summary>
            <remarks>
            <para>
            The associated <see cref="T:System.Threading.CancellationToken"/> will be
            notified of the cancellation and will transition to a state where 
            <see cref="P:System.Threading.CancellationToken.IsCancellationRequested">IsCancellationRequested</see> returns true. 
            Any callbacks or cancelable operations
            registered with the <see cref="T:System.Threading.CancellationToken"/>  will be executed.
            </para>
            <para>
            Cancelable operations and callbacks registered with the token should not throw exceptions. 
            If <paramref name="throwOnFirstException"/> is true, an exception will immediately propagate out of the
            call to Cancel, preventing the remaining callbacks and cancelable operations from being processed.
            If <paramref name="throwOnFirstException"/> is false, this overload will aggregate any 
            exceptions thrown into a <see cref="T:System.AggregateException"/>,
            such that one callback throwing an exception will not prevent other registered callbacks from being executed.
            </para>
            <para>
            The <see cref="T:System.Threading.ExecutionContext"/> that was captured when each callback was registered
            will be reestablished when the callback is invoked.
            </para>
            </remarks>
            <param name="throwOnFirstException">Specifies whether exceptions should immediately propagate.</param>
            <exception cref="T:System.AggregateException">An aggregate exception containing all the exceptions thrown
            by the registered callbacks on the associated <see cref="T:System.Threading.CancellationToken"/>.</exception>
            <exception cref="T:System.ObjectDisposedException">This <see cref="T:System.Threading.CancellationTokenSource"/> has been disposed.</exception> 
        </member>
        <member name="M:System.Threading.CancellationTokenSource.Dispose">
            <summary>
            Releases the resources used by this <see cref="T:System.Threading.CancellationTokenSource" />.
            </summary>
            <remarks>
            This method is not thread-safe for any other concurrent calls.
            </remarks>
        </member>
        <member name="M:System.Threading.CancellationTokenSource.ThrowIfDisposed">
            <summary>
            Throws an exception if the source has been disposed.
            </summary>
        </member>
        <member name="M:System.Threading.CancellationTokenSource.InternalGetStaticSource(System.Boolean)">
            <summary>
            InternalGetStaticSource()
            </summary>
            <param name="set">Whether the source should be set.</param>
            <returns>A static source to be shared among multiple tokens.</returns>
        </member>
        <member name="M:System.Threading.CancellationTokenSource.InternalRegister(System.Action{System.Object},System.Object,System.Threading.SynchronizationContext)">
            <summary>
            Registers a callback object. If cancellation has already occurred, the
            callback will have been run by the time this method returns.
            </summary>
        </member>
        <member name="M:System.Threading.CancellationTokenSource.NotifyCancellation(System.Boolean)">
            <summary>
            
            </summary>
        </member>
        <member name="M:System.Threading.CancellationTokenSource.ExecuteCallbackHandlers(System.Boolean)">
            <summary>
            Invoke the Canceled event.
            </summary>
            <remarks>
            The handlers are invoked synchronously in LIFO order.
            </remarks>
        </member>
        <member name="M:System.Threading.CancellationTokenSource.CreateLinkedTokenSource(System.Threading.CancellationToken,System.Threading.CancellationToken)">
            <summary>
            Creates a <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> that will be in the canceled state
            when any of the source tokens are in the canceled state.
            </summary>
            <param name="token1">The first <see cref="T:System.Threading.CancellationToken">CancellationToken</see> to observe.</param>
            <param name="token2">The second <see cref="T:System.Threading.CancellationToken">CancellationToken</see> to observe.</param>
            <returns>A <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> that is linked 
            to the source tokens.</returns>
            <exception cref="T:System.ObjectDisposedException">A <see
            cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> associated with
            one of the source tokens has been disposed.</exception>
        </member>
        <member name="M:System.Threading.CancellationTokenSource.CreateLinkedTokenSource(System.Threading.CancellationToken[])">
            <summary>
            Creates a <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> that will be in the canceled state
            when any of the source tokens are in the canceled state.
            </summary>
            <param name="tokens">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instances to observe.</param>
            <returns>A <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> that is linked 
            to the source tokens.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="tokens"/> is null.</exception>
            <exception cref="T:System.ObjectDisposedException">A <see
            cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> associated with
            one of the source tokens has been disposed.</exception>
        </member>
        <member name="P:System.Threading.CancellationTokenSource.IsCancellationRequested">
            <summary>
            Gets whether cancellation has been requested for this <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see>.
            </summary>
            <value>Whether cancellation has been requested for this <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see>.</value>
            <remarks>
            <para>
            This property indicates whether cancellation has been requested for this token source, such as
            due to a call to its
            <see cref="M:System.Threading.CancellationTokenSource.Cancel">Cancel</see> method.
            </para>
            <para>
            If this property returns true, it only guarantees that cancellation has been requested. It does not
            guarantee that every handler registered with the corresponding token has finished executing, nor
            that cancellation requests have finished propagating to all registered handlers. Additional
            synchronization may be required, particularly in situations where related objects are being
            canceled concurrently.
            </para>
            </remarks>
        </member>
        <member name="P:System.Threading.CancellationTokenSource.IsCancellationCompleted">
            <summary>
            A simple helper to determine whether cancellation has finished.
            </summary>
        </member>
        <member name="P:System.Threading.CancellationTokenSource.IsDisposed">
            <summary>
            A simple helper to determine whether disposal has occured.
            </summary>
        </member>
        <member name="P:System.Threading.CancellationTokenSource.ThreadIDExecutingCallbacks">
            <summary>
            The ID of the thread that is running callbacks.
            </summary>
        </member>
        <member name="P:System.Threading.CancellationTokenSource.Token">
            <summary>
            Gets the <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            associated with this <see cref="T:System.Threading.CancellationTokenSource"/>.
            </summary>
            <value>The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            associated with this <see cref="T:System.Threading.CancellationTokenSource"/>.</value>
            <exception cref="T:System.ObjectDisposedException">The token source has been
            disposed.</exception>
        </member>
        <member name="P:System.Threading.CancellationTokenSource.CanBeCanceled">
             <summary>
            
             </summary>
        </member>
        <member name="P:System.Threading.CancellationTokenSource.WaitHandle">
             <summary>
            
             </summary>
        </member>
        <member name="P:System.Threading.CancellationTokenSource.ExecutingCallback">
            <summary>
            The currently executing callback
            </summary>
        </member>
        <member name="T:System.Threading.CancellationCallbackInfo">
            <summary>
            A helper class for collating the various bits of information required to execute 
            cancellation callbacks.
            </summary>
        </member>
        <member name="M:System.Threading.CancellationCallbackInfo.ExecuteCallback">
            <summary>
            InternalExecuteCallbackSynchronously_GeneralPath
            This will be called on the target synchronization context, however, we still need to restore the required execution context
            </summary>
        </member>
        <member name="T:System.Threading.SparselyPopulatedArray`1">
            <summary>
            A sparsely populated array.  Elements can be sparse and some null, but this allows for
            lock-free additions and growth, and also for constant time removal (by nulling out).
            </summary>
            <typeparam name="T">The kind of elements contained within.</typeparam>
        </member>
        <member name="M:System.Threading.SparselyPopulatedArray`1.#ctor(System.Int32)">
            <summary>
            Allocates a new array with the given initial size.
            </summary>
            <param name="initialSize">How many array slots to pre-allocate.</param>
        </member>
        <member name="M:System.Threading.SparselyPopulatedArray`1.Add(`0)">
            <summary>
            Adds an element in the first available slot, beginning the search from the tail-to-head.
            If no slots are available, the array is grown.  The method doesn't return until successful.
            </summary>
            <param name="element">The element to add.</param>
            <returns>Information about where the add happened, to enable O(1) deregistration.</returns>
        </member>
        <member name="P:System.Threading.SparselyPopulatedArray`1.Tail">
            <summary>
            The tail of the doubly linked list.
            </summary>
        </member>
        <member name="T:System.Threading.SparselyPopulatedArrayAddInfo`1">
            <summary>
            A struct to hold a link to the exact spot in an array an element was inserted, enabling
            constant time removal later on.
            </summary>
        </member>
        <member name="T:System.Threading.SparselyPopulatedArrayFragment`1">
            <summary>
            A fragment of a sparsely populated array, doubly linked.
            </summary>
            <typeparam name="T">The kind of elements contained within.</typeparam>
        </member>
        <member name="T:System.Threading.LazyInitializer">
            <summary>
            Provides lazy initialization routines.
            </summary>
            <remarks>
            These routines avoid needing to allocate a dedicated, lazy-initialization instance, instead using
            references to ensure targets have been initialized as they are accessed.
            </remarks>
        </member>
        <member name="M:System.Threading.LazyInitializer.EnsureInitialized``1(``0@)">
            <summary>
            Initializes a target reference type with the type's default constructor if the target has not
            already been initialized.
            </summary>
            <typeparam name="T">The refence type of the reference to be initialized.</typeparam>
            <param name="target">A reference of type <typeparamref name="T"/> to initialize if it has not
            already been initialized.</param>
            <returns>The initialized reference of type <typeparamref name="T"/>.</returns>
            <exception cref="T:System.MissingMemberException">Type <typeparamref name="T"/> does not have a default
            constructor.</exception>
            <exception cref="T:System.MemberAccessException">
            Permissions to access the constructor of type <typeparamref name="T"/> were missing.
            </exception>
            <remarks>
            <para>
            This method may only be used on reference types. To ensure initialization of value
            types, see other overloads of EnsureInitialized.
            </para>
            <para>
            This method may be used concurrently by multiple threads to initialize <paramref name="target"/>.  
            In the event that multiple threads access this method concurrently, multiple instances of <typeparamref name="T"/>
            may be created, but only one will be stored into <paramref name="target"/>. In such an occurrence, this method will not dispose of the
            objects that were not stored.  If such objects must be disposed, it is up to the caller to determine 
            if an object was not used and to then dispose of the object appropriately.
            </para>
            </remarks>
        </member>
        <member name="M:System.Threading.LazyInitializer.EnsureInitialized``1(``0@,System.Func{``0})">
            <summary>
            Initializes a target reference type using the specified function if it has not already been
            initialized.
            </summary>
            <typeparam name="T">The reference type of the reference to be initialized.</typeparam>
            <param name="target">The reference of type <typeparamref name="T"/> to initialize if it has not
            already been initialized.</param>
            <param name="valueFactory">The <see cref="T:System.Func{T}"/> invoked to initialize the
            reference.</param>
            <returns>The initialized reference of type <typeparamref name="T"/>.</returns>
            <exception cref="T:System.MissingMemberException">Type <typeparamref name="T"/> does not have a
            default constructor.</exception>
            <exception cref="T:System.InvalidOperationException"><paramref name="valueFactory"/> returned
            null.</exception>
            <remarks>
            <para>
            This method may only be used on reference types, and <paramref name="valueFactory"/> may
            not return a null reference (Nothing in Visual Basic). To ensure initialization of value types or
            to allow null reference types, see other overloads of EnsureInitialized.
            </para>
            <para>
            This method may be used concurrently by multiple threads to initialize <paramref name="target"/>.  
            In the event that multiple threads access this method concurrently, multiple instances of <typeparamref name="T"/>
            may be created, but only one will be stored into <paramref name="target"/>. In such an occurrence, this method will not dispose of the
            objects that were not stored.  If such objects must be disposed, it is up to the caller to determine 
            if an object was not used and to then dispose of the object appropriately.
            </para>
            </remarks>
        </member>
        <member name="M:System.Threading.LazyInitializer.EnsureInitializedCore``1(``0@,System.Func{``0})">
            <summary>
            Initialize the target using the given delegate (slow path).
            </summary>
            <typeparam name="T">The reference type of the reference to be initialized.</typeparam>
            <param name="target">The variable that need to be initialized</param>
            <param name="valueFactory">The delegate that will be executed to initialize the target</param>
            <returns>The initialized variable</returns>
        </member>
        <member name="M:System.Threading.LazyInitializer.EnsureInitialized``1(``0@,System.Boolean@,System.Object@)">
            <summary>
            Initializes a target reference or value type with its default constructor if it has not already
            been initialized.
            </summary>
            <typeparam name="T">The type of the reference to be initialized.</typeparam>
            <param name="target">A reference or value of type <typeparamref name="T"/> to initialize if it
            has not already been initialized.</param>
            <param name="initialized">A reference to a boolean that determines whether the target has already
            been initialized.</param>
            <param name="syncLock">A reference to an object used as the mutually exclusive lock for initializing
            <paramref name="target"/>.</param>
            <returns>The initialized value of type <typeparamref name="T"/>.</returns>
        </member>
        <member name="M:System.Threading.LazyInitializer.EnsureInitialized``1(``0@,System.Boolean@,System.Object@,System.Func{``0})">
            <summary>
            Initializes a target reference or value type with a specified function if it has not already been
            initialized.
            </summary>
            <typeparam name="T">The type of the reference to be initialized.</typeparam>
            <param name="target">A reference or value of type <typeparamref name="T"/> to initialize if it
            has not already been initialized.</param>
            <param name="initialized">A reference to a boolean that determines whether the target has already
            been initialized.</param>
            <param name="syncLock">A reference to an object used as the mutually exclusive lock for initializing
            <paramref name="target"/>.</param>
            <param name="valueFactory">The <see cref="T:System.Func{T}"/> invoked to initialize the
            reference or value.</param>
            <returns>The initialized value of type <typeparamref name="T"/>.</returns>
        </member>
        <member name="M:System.Threading.LazyInitializer.EnsureInitializedCore``1(``0@,System.Boolean@,System.Object@,System.Func{``0})">
            <summary>
            Ensure the target is initialized and return the value (slow path). This overload permits nulls
            and also works for value type targets. Uses the supplied function to create the value.
            </summary>
            <typeparam name="T">The type of target.</typeparam>
            <param name="target">A reference to the target to be initialized.</param>
            <param name="initialized">A reference to a location tracking whether the target has been initialized.</param>
            <param name="syncLock">A reference to a location containing a mutual exclusive lock.</param>
            <param name="valueFactory">
            The <see cref="T:System.Func{T}"/> to invoke in order to produce the lazily-initialized value.
            </param>
            <returns>The initialized object.</returns>
        </member>
        <member name="T:System.Threading.ManualResetEventSlim">
            <summary>
            Provides a slimmed down version of <see cref="T:System.Threading.ManualResetEvent"/>.
            </summary>
            <remarks>
            All public and protected members of <see cref="T:System.Threading.ManualResetEventSlim"/> are thread-safe and may be used
            concurrently from multiple threads, with the exception of Dispose, which
            must only be used when all other operations on the <see cref="T:System.Threading.ManualResetEventSlim"/> have
            completed, and Reset, which should only be used when no other threads are
            accessing the event.
            </remarks>
        </member>
        <member name="M:System.Threading.ManualResetEventSlim.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:System.Threading.ManualResetEventSlim"/>
            class with an initial state of nonsignaled.
            </summary>
        </member>
        <member name="M:System.Threading.ManualResetEventSlim.#ctor(System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Threading.ManualResetEventSlim"/>
            class with a Boolen value indicating whether to set the intial state to signaled.
            </summary>
            <param name="initialState">true to set the initial state signaled; false to set the initial state
            to nonsignaled.</param>
        </member>
        <member name="M:System.Threading.ManualResetEventSlim.#ctor(System.Boolean,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Threading.ManualResetEventSlim"/>
            class with a Boolen value indicating whether to set the intial state to signaled and a specified
            spin count.
            </summary>
            <param name="initialState">true to set the initial state to signaled; false to set the initial state
            to nonsignaled.</param>
            <param name="spinCount">The number of spin waits that will occur before falling back to a true
            wait.</param>
            <exception cref="T:ArgumentOutOfRangeException"><paramref name="spinCount"/> is less than
            0 or greater than the maximum allowed value.</exception>
        </member>
        <member name="M:System.Threading.ManualResetEventSlim.Initialize(System.Boolean,System.Int32)">
            <summary>
            Initializes the internal state of the event.
            </summary>
            <param name="initialState">Whether the event is set initially or not.</param>
            <param name="spinCount">The spin count that decides when the event will block.</param>
        </member>
        <member name="M:System.Threading.ManualResetEventSlim.EnsureLockObjectCreated">
            <summary>
            Helper to ensure the lock object is created before first use.
            </summary>
        </member>
        <member name="M:System.Threading.ManualResetEventSlim.LazyInitializeEvent">
            <summary>
            This method lazily initializes the event object. It uses CAS to guarantee that
            many threads racing to call this at once don't result in more than one event
            being stored and used. The event will be signaled or unsignaled depending on
            the state of the thin-event itself, with synchronization taken into account.
            </summary>
            <returns>True if a new event was created and stored, false otherwise.</returns>
        </member>
        <member name="M:System.Threading.ManualResetEventSlim.Set">
            <summary>
            Sets the state of the event to signaled, which allows one or more threads waiting on the event to
            proceed.
            </summary>
        </member>
        <member name="M:System.Threading.ManualResetEventSlim.Set(System.Boolean)">
            <summary>
            Private helper to actually perform the Set.
            </summary>
            <param name="duringCancellation">Indicates whether we are calling Set() during cancellation.</param>
            <exception cref="T:System.OperationCanceledException">The object has been canceled.</exception>
        </member>
        <member name="M:System.Threading.ManualResetEventSlim.Reset">
            <summary>
            Sets the state of the event to nonsignaled, which causes threads to block.
            </summary>
            <remarks>
            Unlike most of the members of <see cref="T:System.Threading.ManualResetEventSlim"/>, <see cref="M:System.Threading.ManualResetEventSlim.Reset"/> is not
            thread-safe and may not be used concurrently with other members of this instance.
            </remarks>
        </member>
        <member name="M:System.Threading.ManualResetEventSlim.Wait">
            <summary>
            Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set.
            </summary>
            <exception cref="T:System.InvalidOperationException">
            The maximum number of waiters has been exceeded.
            </exception>
            <remarks>
            The caller of this method blocks indefinitely until the current instance is set. The caller will
            return immediately if the event is currently in a set state.
            </remarks>
        </member>
        <member name="M:System.Threading.ManualResetEventSlim.Wait(System.Threading.CancellationToken)">
            <summary>
            Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> receives a signal,
            while observing a <see cref="T:System.Threading.CancellationToken"/>.
            </summary>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to
            observe.</param>
            <exception cref="T:System.InvalidOperationException">
            The maximum number of waiters has been exceeded.
            </exception>
            <exception cref="T:System.OperationCanceledExcepton"><paramref name="cancellationToken"/> was
            canceled.</exception>
            <remarks>
            The caller of this method blocks indefinitely until the current instance is set. The caller will
            return immediately if the event is currently in a set state.
            </remarks>
        </member>
        <member name="M:System.Threading.ManualResetEventSlim.Wait(System.TimeSpan)">
            <summary>
            Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set, using a
            <see cref="T:System.TimeSpan"/> to measure the time interval.
            </summary>
            <param name="timeout">A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds
            to wait, or a <see cref="T:System.TimeSpan"/> that represents -1 milliseconds to wait indefinitely.
            </param>
            <returns>true if the <see cref="T:System.Threading.ManualResetEventSlim"/> was set; otherwise,
            false.</returns>
            <exception cref="T:ArgumentOutOfRangeException"><paramref name="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">
            The maximum number of waiters has been exceeded.
            </exception>
        </member>
        <member name="M:System.Threading.ManualResetEventSlim.Wait(System.TimeSpan,System.Threading.CancellationToken)">
            <summary>
            Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set, using a
            <see cref="T:System.TimeSpan"/> to measure the time interval, while observing a <see cref="T:System.Threading.CancellationToken"/>.
            </summary>
            <param name="timeout">A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds
            to wait, or a <see cref="T:System.TimeSpan"/> that represents -1 milliseconds to wait indefinitely.
            </param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to
            observe.</param>
            <returns>true if the <see cref="T:System.Threading.ManualResetEventSlim"/> was set; otherwise,
            false.</returns>
            <exception cref="T:ArgumentOutOfRangeException"><paramref name="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.Threading.OperationCanceledException"><paramref name="cancellationToken"/> was canceled.</exception>
            <exception cref="T:System.InvalidOperationException">
            The maximum number of waiters has been exceeded.
            </exception>
        </member>
        <member name="M:System.Threading.ManualResetEventSlim.Wait(System.Int32)">
            <summary>
            Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set, using a
            32-bit signed integer to measure the time interval.
            </summary>
            <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/>(-1) to wait indefinitely.</param>
            <returns>true if the <see cref="T:System.Threading.ManualResetEventSlim"/> was set; otherwise,
            false.</returns>
            <exception cref="T:ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
            negative number other than -1, which represents an infinite time-out.</exception>
            <exception cref="T:System.InvalidOperationException">
            The maximum number of waiters has been exceeded.
            </exception>
        </member>
        <member name="M:System.Threading.ManualResetEventSlim.Wait(System.Int32,System.Threading.CancellationToken)">
            <summary>
            Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set, using a
            32-bit signed integer to measure the time interval, while observing a <see cref="T:System.Threading.CancellationToken"/>.
            </summary>
            <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/>(-1) to wait indefinitely.</param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to
            observe.</param>
            <returns>true if the <see cref="T:System.Threading.ManualResetEventSlim"/> was set; otherwise,
            false.</returns>
            <exception cref="T:ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
            negative number other than -1, which represents an infinite time-out.</exception>
            <exception cref="T:System.InvalidOperationException">
            The maximum number of waiters has been exceeded.
            </exception>
            <exception cref="T:System.Threading.OperationCanceledException"><paramref name="cancellationToken"/> was canceled.</exception>
        </member>
        <member name="M:System.Threading.ManualResetEventSlim.Dispose">
            <summary>
            Releases all resources used by the current instance of <see cref="T:System.Threading.ManualResetEventSlim"/>.
            </summary>
            <remarks>
            Unlike most of the members of <see cref="T:System.Threading.ManualResetEventSlim"/>, <see cref="M:System.Threading.ManualResetEventSlim.Dispose"/> is not
            thread-safe and may not be used concurrently with other members of this instance.
            </remarks>
        </member>
        <member name="M:System.Threading.ManualResetEventSlim.Dispose(System.Boolean)">
            <summary>
            When overridden in a derived class, releases the unmanaged resources used by the 
            <see cref="T:System.Threading.ManualResetEventSlim"/>, and optionally releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources;
            false to release only unmanaged resources.</param>
            <remarks>
            Unlike most of the members of <see cref="T:System.Threading.ManualResetEventSlim"/>, <see cref="M:System.Threading.ManualResetEventSlim.Dispose(System.Boolean)"/> is not
            thread-safe and may not be used concurrently with other members of this instance.
            </remarks>
        </member>
        <member name="M:System.Threading.ManualResetEventSlim.ThrowIfDisposed">
            <summary>
            Throw ObjectDisposedException if the MRES is disposed
            </summary>
        </member>
        <member name="F:System.Threading.ManualResetEventSlim.s_cancellationTokenCallback">
            <summary>
            Private helper method to wake up waiters when a cancellationToken gets canceled.
            </summary>
        </member>
        <member name="M:System.Threading.ManualResetEventSlim.UpdateStateAtomically(System.Int32,System.Int32)">
            <summary>
            Private helper method for updating parts of a bit-string state value.
            Mainly called from the IsSet and Waiters properties setters
            </summary>
            <remarks>
            Note: the parameter types must be int as CompareExchange cannot take a Uint
            </remarks>
            <param name="newBits">The new value</param>
            <param name="updateBitsMask">The mask used to set the bits</param>
        </member>
        <member name="M:System.Threading.ManualResetEventSlim.ExtractStatePortionAndShiftRight(System.Int32,System.Int32,System.Int32)">
            <summary>
            Private helper method - performs Mask and shift, particular helpful to extract a field from a packed word.
            eg ExtractStatePortionAndShiftRight(0x12345678, 0xFF000000, 24) => 0x12, ie extracting the top 8-bits as a simple integer 
            
            ?? is there a common place to put this rather than being private to MRES?
            </summary>
            <param name="state"></param>
            <param name="mask"></param>
            <param name="rightBitShiftCount"></param>
            <returns></returns>
        </member>
        <member name="M:System.Threading.ManualResetEventSlim.ExtractStatePortion(System.Int32,System.Int32)">
            <summary>
            Performs a Mask operation, but does not perform the shift.
            This is acceptable for boolean values for which the shift is unnecessary
            eg (val &amp; Mask) != 0 is an appropriate way to extract a boolean rather than using
            ((val &amp; Mask) &gt;&gt; shiftAmount) == 1
            
            ?? is there a common place to put this rather than being private to MRES?
            </summary>
            <param name="state"></param>
            <param name="mask"></param>
        </member>
        <member name="M:System.Threading.ManualResetEventSlim.UpdateTimeOut(System.Int64,System.Int32)">
            <summary>
            Helper function to measure and update the wait time
            </summary>
            <param name="startTimeTicks"> The first time (in Ticks) observed when the wait started.</param>
            <param name="originalWaitMillisecondsTimeout">The orginal wait timeoutout in milliseconds.</param>
            <returns>The new wait time in milliseconds, -1 if the time expired, -2 if overflow in counters
            has occurred.</returns>
        </member>
        <member name="P:System.Threading.ManualResetEventSlim.WaitHandle">
            <summary>
            Gets the underlying <see cref="T:System.Threading.WaitHandle"/> object for this <see cref="T:System.Threading.ManualResetEventSlim"/>.
            </summary>
            <value>The underlying <see cref="T:System.Threading.WaitHandle"/> event object fore this <see cref="T:System.Threading.ManualResetEventSlim"/>.</value>
            <remarks>
            Accessing this property forces initialization of an underlying event object if one hasn't
            already been created.  To simply wait on this <see cref="T:System.Threading.ManualResetEventSlim"/>, 
            the public Wait methods should be preferred.
            </remarks>
        </member>
        <member name="P:System.Threading.ManualResetEventSlim.IsSet">
            <summary>
            Gets whether the event is set.
            </summary>
            <value>true if the event has is set; otherwise, false.</value>
        </member>
        <member name="P:System.Threading.ManualResetEventSlim.SpinCount">
            <summary>
            Gets the number of spin waits that will be occur before falling back to a true wait.
            </summary>
        </member>
        <member name="P:System.Threading.ManualResetEventSlim.Waiters">
            <summary>
            How many threads are waiting.
            </summary>
        </member>
        <member name="T:System.Threading.SpinWait">
            <summary>
            Provides support for spin-based waiting.
            </summary>
            <remarks>
            <para>
            <see cref="T:System.Threading.SpinWait"/> encapsulates common spinning logic. On single-processor machines, yields are
            always used instead of busy waits, and on computers with Intel™ processors employing Hyper-Threading™
            technology, it helps to prevent hardware thread starvation. SpinWait encapsulates a good mixture of
            spinning and true yielding.
            </para>
            <para>
            <see cref="T:System.Threading.SpinWait"/> is a value type, which means that low-level code can utilize SpinWait without
            fear of unnecessary allocation overheads. SpinWait is not generally useful for ordinary applications.
            In most cases, you should use the synchronization classes provided by the .NET Framework, such as
            <see cref="T:System.Threading.Monitor"/>. For most purposes where spin waiting is required, however,
            the <see cref="T:System.Threading.SpinWait"/> type should be preferred over the System.Threading.Thread.SpinWait method.
            </para>
            <para>
            While SpinWait is designed to be used in concurrent applications, it is not designed to be
            used from multiple threads concurrently.  SpinWait's members are not thread-safe.  If multiple
            threads must spin, each should use its own instance of SpinWait.
            </para>
            </remarks>
        </member>
        <member name="M:System.Threading.SpinWait.SpinOnce">
            <summary>
            Performs a single spin.
            </summary>
            <remarks>
            This is typically called in a loop, and may change in behavior based on the number of times a
            <see cref="M:System.Threading.SpinWait.SpinOnce"/> has been called thus far on this instance.
            </remarks>
        </member>
        <member name="M:System.Threading.SpinWait.Reset">
            <summary>
            Resets the spin counter.
            </summary>
            <remarks>
            This makes <see cref="M:System.Threading.SpinWait.SpinOnce"/> and <see cref="P:System.Threading.SpinWait.NextSpinWillYield"/> behave as though no calls
            to <see cref="M:System.Threading.SpinWait.SpinOnce"/> had been issued on this instance. If a <see cref="T:System.Threading.SpinWait"/> instance
            is reused many times, it may be useful to reset it to avoid yielding too soon.
            </remarks>
        </member>
        <member name="M:System.Threading.SpinWait.SpinUntil(System.Func{System.Boolean})">
            <summary>
            Spins until the specified condition is satisfied.
            </summary>
            <param name="condition">A delegate to be executed over and over until it returns true.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="condition"/> argument is null.</exception>
        </member>
        <member name="M:System.Threading.SpinWait.SpinUntil(System.Func{System.Boolean},System.TimeSpan)">
            <summary>
            Spins until the specified condition is satisfied or until the specified timeout is expired.
            </summary>
            <param name="condition">A delegate to be executed over and over until it returns true.</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>True if the condition is satisfied within the timeout; otherwise, false</returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="condition"/> argument is null.</exception>
            <exception cref="T:ArgumentOutOfRangeException"><paramref name="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.SpinWait.SpinUntil(System.Func{System.Boolean},System.Int32)">
            <summary>
            Spins until the specified condition is satisfied or until the specified timeout is expired.
            </summary>
            <param name="condition">A delegate to be executed over and over until it returns true.</param>
            <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to wait indefinitely.</param>
            <returns>True if the condition is satisfied within the timeout; otherwise, false</returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="condition"/> argument is null.</exception>
            <exception cref="T:ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
            negative number other than -1, which represents an infinite time-out.</exception>
        </member>
        <member name="P:System.Threading.SpinWait.Count">
            <summary>
            Gets the number of times <see cref="M:System.Threading.SpinWait.SpinOnce"/> has been called on this instance.
            </summary>
        </member>
        <member name="P:System.Threading.SpinWait.NextSpinWillYield">
            <summary>
            Gets whether the next call to <see cref="M:System.Threading.SpinWait.SpinOnce"/> will yield the processor, triggering a
            forced context switch.
            </summary>
            <value>Whether the next call to <see cref="M:System.Threading.SpinWait.SpinOnce"/> will yield the processor, triggering a
            forced context switch.</value>
            <remarks>
            On a single-CPU machine, <see cref="M:System.Threading.SpinWait.SpinOnce"/> always yields the processor. On machines with
            multiple CPUs, <see cref="M:System.Threading.SpinWait.SpinOnce"/> may yield after an unspecified number of calls.
            </remarks>
        </member>
        <member name="T:System.Threading.PlatformHelper">
            <summary>
            A helper class to get the number of preocessors, it updates the numbers of processors every sampling interval
            </summary>
        </member>
        <member name="P:System.Threading.PlatformHelper.ProcessorCount">
            <summary>
            Gets the number of available processors
            </summary>
        </member>
        <member name="P:System.Threading.PlatformHelper.IsSingleProcessor">
            <summary>
            Gets whether the current machine has only a single processor.
            </summary>
        </member>
        <member name="T:System.Threading.Tasks.Task`1">
            <summary>
            Represents an asynchronous operation that produces a result at some time in the future.
            </summary>
            <typeparam name="TResult">
            The type of the result produced by this <see cref="T:System.Threading.Tasks.Task`1"/>.
            </typeparam>
            <remarks>
            <para>
            <see cref="T:System.Threading.Tasks.Task`1"/> instances may be created in a variety of ways. The most common approach is by
            using the task's <see cref="P:System.Threading.Tasks.Task`1.Factory"/> property to retrieve a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance that can be used to create tasks for several
            purposes. For example, to create a <see cref="T:System.Threading.Tasks.Task`1"/> that runs a function, the factory's StartNew
            method may be used:
            <code>
            // C# 
            var t = Task&lt;int&gt;.Factory.StartNew(() =&gt; GenerateResult());
            - or -
            var t = Task.Factory.StartNew(() =&gt; GenerateResult());
            
            ' Visual Basic 
            Dim t = Task&lt;int&gt;.Factory.StartNew(Function() GenerateResult())
            - or -
            Dim t = Task.Factory.StartNew(Function() GenerateResult())
            </code>
            </para>
            <para>
            The <see cref="T:System.Threading.Tasks.Task`1"/> class also provides constructors that initialize the task but that do not
            schedule it for execution. For performance reasons, the StartNew method should be the
            preferred mechanism for creating and scheduling computational tasks, but for scenarios where creation
            and scheduling must be separated, the constructors may be used, and the task's 
            <see cref="M:System.Threading.Tasks.Task.Start">Start</see>
            method may then be used to schedule the task for execution at a later time.
            </para>
            <para>
            All members of <see cref="T:System.Threading.Tasks.Task`1"/>, except for 
            <see cref="M:System.Threading.Tasks.Task.Dispose">Dispose</see>, are thread-safe
            and may be used from multiple threads concurrently.
            </para>
            </remarks>
        </member>
        <member name="T:System.Threading.Tasks.Task">
            <summary>
            Represents an asynchronous operation.
            </summary>
            <remarks>
            <para>
            <see cref="T:System.Threading.Tasks.Task"/> instances may be created in a variety of ways. The most common approach is by
            using the Task type's <see cref="P:System.Threading.Tasks.Task.Factory"/> property to retrieve a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance that can be used to create tasks for several
            purposes. For example, to create a <see cref="T:System.Threading.Tasks.Task"/> that runs an action, the factory's StartNew
            method may be used:
            <code>
            // C# 
            var t = Task.Factory.StartNew(() =&gt; DoAction());
            
            ' Visual Basic 
            Dim t = Task.Factory.StartNew(Function() DoAction())
            </code>
            </para>
            <para>
            The <see cref="T:System.Threading.Tasks.Task"/> class also provides constructors that initialize the Task but that do not
            schedule it for execution. For performance reasons, TaskFactory's StartNew method should be the
            preferred mechanism for creating and scheduling computational tasks, but for scenarios where creation
            and scheduling must be separated, the constructors may be used, and the task's <see cref="M:System.Threading.Tasks.Task.Start"/>
            method may then be used to schedule the task for execution at a later time.
            </para>
            <para>
            All members of <see cref="T:System.Threading.Tasks.Task"/>, except for <see cref="M:System.Threading.Tasks.Task.Dispose"/>, are thread-safe
            and may be used from multiple threads concurrently.
            </para>
            <para>
            For operations that return values, the <see cref="T:System.Threading.Tasks.Task`1"/> class
            should be used.
            </para>
            <para>
            For developers implementing custom debuggers, several internal and private members of Task may be
            useful (these may change from release to release). The Int32 m_taskId field serves as the backing
            store for the <see cref="P:System.Threading.Tasks.Task.Id"/> property, however accessing this field directly from a debugger may be
            more efficient than accessing the same value through the property's getter method (the
            s_taskIdCounter Int32 counter is used to retrieve the next available ID for a Task). Similarly, the
            Int32 m_stateFlags field stores information about the current lifecycle stage of the Task,
            information also accessible through the <see cref="P:System.Threading.Tasks.Task.Status"/> property. The m_action System.Object
            field stores a reference to the Task's delegate, and the m_stateObject System.Object field stores the
            async state passed to the Task by the developer. Finally, for debuggers that parse stack frames, the
            InternalWait method serves a potential marker for when a Task is entering a wait operation.
            </para>
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.Task.#cctor">
            <summary>
            A type initializer that runs with the appropriate permissions.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Task.#ctor(System.Action)">
            <summary>
            Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action.
            </summary>
            <param name="action">The delegate that represents the code to execute in the Task.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is null.</exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.#ctor(System.Action,System.Threading.CancellationToken)">
            <summary>
            Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action and <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
            </summary>
            <param name="action">The delegate that represents the code to execute in the Task.</param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            that will be assigned to the new Task.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is null.</exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.#ctor(System.Action,System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action and creation options.
            </summary>
            <param name="action">The delegate that represents the code to execute in the task.</param>
            <param name="creationOptions">
            The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
            customize the Task's behavior.
            </param>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="action"/> argument is null.
            </exception>
            <exception cref="T:ArgumentOutOfRangeException">
            The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.#ctor(System.Action,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action and creation options.
            </summary>
            <param name="action">The delegate that represents the code to execute in the task.</param>
            <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new task.</param>
            <param name="creationOptions">
            The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
            customize the Task's behavior.
            </param>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="action"/> argument is null.
            </exception>
            <exception cref="T:ArgumentOutOfRangeException">
            The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.#ctor(System.Action{System.Object},System.Object)">
            <summary>
            Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action and state.
            </summary>
            <param name="action">The delegate that represents the code to execute in the task.</param>
            <param name="state">An object representing data to be used by the action.</param>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="action"/> argument is null.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.#ctor(System.Action{System.Object},System.Object,System.Threading.CancellationToken)">
            <summary>
            Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action, state, snd options.
            </summary>
            <param name="action">The delegate that represents the code to execute in the task.</param>
            <param name="state">An object representing data to be used by the action.</param>
            <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new task.</param>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="action"/> argument is null.
            </exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.#ctor(System.Action{System.Object},System.Object,System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action, state, snd options.
            </summary>
            <param name="action">The delegate that represents the code to execute in the task.</param>
            <param name="state">An object representing data to be used by the action.</param>
            <param name="creationOptions">
            The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
            customize the Task's behavior.
            </param>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="action"/> argument is null.
            </exception>
            <exception cref="T:ArgumentOutOfRangeException">
            The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.#ctor(System.Action{System.Object},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action, state, snd options.
            </summary>
            <param name="action">The delegate that represents the code to execute in the task.</param>
            <param name="state">An object representing data to be used by the action.</param>
            <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new task.</param>
            <param name="creationOptions">
            The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
            customize the Task's behavior.
            </param>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="action"/> argument is null.
            </exception>
            <exception cref="T:ArgumentOutOfRangeException">
            The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.#ctor(System.Object,System.Object,System.Threading.Tasks.Task,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.InternalTaskOptions,System.Threading.Tasks.TaskScheduler)">
            <summary>
            An internal constructor used by the factory methods on task and its descendent(s).
            This variant does not capture the ExecutionContext; it is up to the caller to do that.
            </summary>
            <param name="action">An action to execute.</param>
            <param name="state">Optional state to pass to the action.</param>
            <param name="parent">Parent of Task.</param>
            <param name="cancellationToken">A CancellationToken for the task.</param>
            <param name="scheduler">A task scheduler under which the task will run.</param>
            <param name="creationOptions">Options to control its execution.</param>
            <param name="internalOptions">Internal options to control its execution</param>
        </member>
        <member name="M:System.Threading.Tasks.Task.TaskConstructorCore(System.Object,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.InternalTaskOptions,System.Threading.Tasks.TaskScheduler)">
            <summary>
            Common logic used by the following internal ctors:
                Task()
                Task(object action, object state, Task parent, TaskCreationOptions options, TaskScheduler taskScheduler)
            
            ASSUMES THAT m_creatingTask IS ALREADY SET.
            
            </summary>
            <param name="action">Action for task to execute.</param>
            <param name="state">Object to which to pass to action (may be null)</param>
            <param name="scheduler">Task scheduler on which to run thread (only used by continuation tasks).</param>
            <param name="cancellationToken">A CancellationToken for the Task.</param>
            <param name="creationOptions">Options to customize behavior of Task.</param>
            <param name="internalOptions">Internal options to customize behavior of Task.</param>
        </member>
        <member name="M:System.Threading.Tasks.Task.DeregisterCancellationCallback">
            <summary>
            Checks if we registered a CT callback during construction, and deregisters it. 
            This should be called when we know the registration isn't useful anymore. Specifically from Finish() if the task has completed
            successfully or with an exception.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Task.PossiblyCaptureContext(System.Threading.StackCrawlMark@)">
            <summary>
            Captures the ExecutionContext so long as flow isn't suppressed.
            </summary>
            <param name="stackMark">A stack crawl mark pointing to the frame of the caller.</param>
        </member>
        <member name="M:System.Threading.Tasks.Task.AddNewChild">
            <summary>
            Internal function that will be called by a new child task to add itself to 
            the children list of the parent (this).
            
            Since a child task can only be created from the thread executing the action delegate
            of this task, reentrancy is neither required nor supported. This should not be called from
            anywhere other than the task construction/initialization codepaths.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Task.Start">
            <summary>
            Starts the <see cref="T:System.Threading.Tasks.Task"/>, scheduling it for execution to the current <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>.
            </summary>
            <remarks>
            A task may only be started and run only once.  Any attempts to schedule a task a second time
            will result in an exception.
            </remarks>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:System.Threading.Tasks.Task"/> is not in a valid state to be started. It may have already been started,
            executed, or canceled, or it may have been created in a manner that doesn't support direct
            scheduling.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task"/> instance has been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.Start(System.Threading.Tasks.TaskScheduler)">
            <summary>
            Starts the <see cref="T:System.Threading.Tasks.Task"/>, scheduling it for execution to the specified <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>.
            </summary>
            <remarks>
            A task may only be started and run only once. Any attempts to schedule a task a second time will
            result in an exception.
            </remarks>
            <param name="scheduler">
            The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> with which to associate
            and execute this task.
            </param>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="scheduler"/> argument is null.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:System.Threading.Tasks.Task"/> is not in a valid state to be started. It may have already been started,
            executed, or canceled, or it may have been created in a manner that doesn't support direct
            scheduling.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task"/> instance has been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.RunSynchronously">
            <summary>
            Runs the <see cref="T:System.Threading.Tasks.Task"/> synchronously on the current <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>.
            </summary>
            <remarks>
            <para>
            A task may only be started and run only once. Any attempts to schedule a task a second time will
            result in an exception.
            </para>
            <para>
            Tasks executed with <see cref="M:System.Threading.Tasks.Task.RunSynchronously"/> will be associated with the current <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>.
            </para>
            <para>
            If the target scheduler does not support running this Task on the current thread, the Task will
            be scheduled for execution on the scheduler, and the current thread will block until the
            Task has completed execution.
            </para>
            </remarks>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:System.Threading.Tasks.Task"/> is not in a valid state to be started. It may have already been started,
            executed, or canceled, or it may have been created in a manner that doesn't support direct
            scheduling.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task"/> instance has been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.RunSynchronously(System.Threading.Tasks.TaskScheduler)">
            <summary>
            Runs the <see cref="T:System.Threading.Tasks.Task"/> synchronously on the <see cref="T:System.Threading.Tasks.TaskScheduler">scheduler</see> provided.
            </summary>
            <remarks>
            <para>
            A task may only be started and run only once. Any attempts to schedule a task a second time will
            result in an exception.
            </para>
            <para>
            If the target scheduler does not support running this Task on the current thread, the Task will
            be scheduled for execution on the scheduler, and the current thread will block until the
            Task has completed execution.
            </para>
            </remarks>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:System.Threading.Tasks.Task"/> is not in a valid state to be started. It may have already been started,
            executed, or canceled, or it may have been created in a manner that doesn't support direct
            scheduling.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task"/> instance has been disposed.
            </exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="scheduler"/> parameter
            is null.</exception>
            <param name="scheduler">The scheduler on which to attempt to run this task inline.</param>
        </member>
        <member name="M:System.Threading.Tasks.Task.ThrowIfDisposed">
            <summary>
            Throws an exception if the task has been disposed, and hence can no longer be accessed.
            </summary>
            <exception cref="T:System.ObjectDisposedException">The task has been disposed.</exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.SetCompleted">
            <summary>
            Sets the internal completion event.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Task.Dispose">
            <summary>
            Disposes the <see cref="T:System.Threading.Tasks.Task"/>, releasing all of its unmanaged resources.  
            </summary>
            <remarks>
            Unlike most of the members of <see cref="T:System.Threading.Tasks.Task"/>, this method is not thread-safe.
            Also, <see cref="M:System.Threading.Tasks.Task.Dispose"/> may only be called on a <see cref="T:System.Threading.Tasks.Task"/> that is in one of
            the final states: <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
            <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
            <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
            </remarks>
            <exception cref="T:System.InvalidOperationException">
            The exception that is thrown if the <see cref="T:System.Threading.Tasks.Task"/> is not in 
            one of the final states: <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
            <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
            <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
            </exception>       
        </member>
        <member name="M:System.Threading.Tasks.Task.Dispose(System.Boolean)">
            <summary>
            Disposes the <see cref="T:System.Threading.Tasks.Task"/>, releasing all of its unmanaged resources.  
            </summary>
            <param name="disposing">
            A Boolean value that indicates whether this method is being called due to a call to <see cref="M:System.Threading.Tasks.Task.Dispose"/>.
            </param>
            <remarks>
            Unlike most of the members of <see cref="T:System.Threading.Tasks.Task"/>, this method is not thread-safe.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.Task.ScheduleAndStart(System.Boolean)">
            <summary>
            Schedules the task for execution.
            </summary>
            <param name="needsProtection">If true, TASK_STATE_STARTED bit is turned on in
            an atomic fashion, making sure that TASK_STATE_CANCELED does not get set
            underneath us.  If false, TASK_STATE_STARTED bit is OR-ed right in.  This
            allows us to streamline things a bit for StartNew(), where competing cancellations
            are not a problem.</param>
        </member>
        <member name="M:System.Threading.Tasks.Task.AddException(System.Object)">
            <summary>
            Adds an exception to the list of exceptions this task has thrown.
            </summary>
            <param name="exceptionObject">An object representing either an Exception or a collection of Exceptions.</param>
        </member>
        <member name="M:System.Threading.Tasks.Task.GetExceptions(System.Boolean)">
            <summary>
            Returns a list of exceptions by aggregating the holder's contents. Or null if
            no exceptions have been thrown.
            </summary>
            <param name="includeTaskCanceledExceptions">Whether to include a TCE if cancelled.</param>
            <returns>An aggregate exception, or null if no exceptions have been caught.</returns>
        </member>
        <member name="M:System.Threading.Tasks.Task.ThrowIfExceptional(System.Boolean)">
            <summary>
            Throws an aggregate exception if the task contains exceptions. 
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Task.UpdateExceptionObservedStatus">
            <summary>
            Checks whether this is an attached task, and whether we are being called by the parent task.
            And sets the TASK_STATE_EXCEPTIONOBSERVEDBYPARENT status flag based on that.
            
            This is meant to be used internally when throwing an exception, and when WaitAll is gathering 
            exceptions for tasks it waited on. If this flag gets set, the implicit wait on children 
            will skip exceptions to prevent duplication.
            
            This should only be called when this task has completed with an exception
            
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Task.Finish(System.Boolean)">
             <summary>
             Signals completion of this particular task.
            
             The bUserDelegateExecuted parameter indicates whether this Finish() call comes following the
             full execution of the user delegate. 
             
             If bUserDelegateExecuted is false, it mean user delegate wasn't invoked at all (either due to
             a cancellation request, or because this task is a promise style Task). In this case, the steps
             involving child tasks (i.e. WaitForChildren) will be skipped.
             
             </summary>
        </member>
        <member name="M:System.Threading.Tasks.Task.FinishStageTwo">
            <summary>
            FinishStageTwo is to be executed as soon as we known there are no more children to complete. 
            It can happen i) either on the thread that originally executed this task (if no children were spawned, or they all completed by the time this task's delegate quit)
                         ii) or on the thread that executed the last child.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Task.FinishStageThree">
            <summary>
            Final stage of the task completion code path. Notifies the parent (if any) that another of its childre are done, and runs continuations.
            This function is only separated out from FinishStageTwo because these two operations are also needed to be called from CancellationCleanupLogic()
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Task.ProcessChildCompletion(System.Threading.Tasks.Task)">
            <summary>
            This is called by children of this task when they are completed.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Task.AddExceptionsFromChildren">
            <summary>
            This is to be called just before the task does its final state transition. 
            It traverses the list of exceptional children, and appends their aggregate exceptions into this one's exception list
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Task.FinishThreadAbortedTask(System.Boolean,System.Boolean)">
            <summary>
            Special purpose Finish() entry point to be used when the task delegate throws a ThreadAbortedException
            This makes a note in the state flags so that we avoid any costly synchronous operations in the finish codepath
            such as inlined continuations
            </summary>
            <param name="bTAEAddedToExceptionHolder">
            Indicates whether the ThreadAbortException was added to this task's exception holder. 
            This should always be true except for the case of non-root self replicating task copies.
            </param>
            <param name="delegateRan">Whether the delegate was executed.</param>
        </member>
        <member name="M:System.Threading.Tasks.Task.Execute">
            <summary>
            Executes the task. This method will only be called once, and handles bookeeping associated with
            self-replicating tasks, in addition to performing necessary exception marshaling.
            </summary>
            <exception cref="T:System.ObjectDisposedException">The task has already been disposed.</exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.System#Threading#Tasks#IThreadPoolWorkItem#ExecuteWorkItem">
            <summary>
            IThreadPoolWorkItem override, which is the entry function for this task when the TP scheduler decides to run it.
            
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Task.ExecuteEntry(System.Boolean)">
            <summary>
            Outermost entry function to execute this task. Handles all aspects of executing a task on the caller thread.
            Currently this is called by IThreadPoolWorkItem.ExecuteWorkItem(), and TaskManager.TryExecuteInline. 
            
            </summary>
            <param name="bPreventDoubleExecution"> Performs atomic updates to prevent double execution. Should only be set to true
            in codepaths servicing user provided TaskSchedulers. The ConcRT or ThreadPool schedulers don't need this. </param>
        </member>
        <member name="M:System.Threading.Tasks.Task.InnerInvoke">
            <summary>
            The actual code which invokes the body of the task. This can be overriden in derived types.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Task.InnerInvokeWithArg(System.Threading.Tasks.Task)">
            <summary>
            Alternate InnerInvoke prototype to be called from ExecuteSelfReplicating() so that
            the Parallel Debugger can discover the actual task being invoked. 
            Details: Here, InnerInvoke is actually being called on the rootTask object while we are actually executing the
            childTask. And the debugger needs to discover the childTask, so we pass that down as an argument.
            The NoOptimization and NoInlining flags ensure that the childTask pointer is retained, and that this
            function appears on the callstack.
            </summary>
            <param name="childTask"></param>
        </member>
        <member name="M:System.Threading.Tasks.Task.HandleException(System.Exception)">
            <summary>
            Performs whatever handling is necessary for an unhandled exception. Normally
            this just entails adding the exception to the holder object. 
            </summary>
            <param name="unhandledException">The exception that went unhandled.</param>
        </member>
        <member name="M:System.Threading.Tasks.Task.Wait">
            <summary>
            Waits for the <see cref="T:System.Threading.Tasks.Task"/> to complete execution.
            </summary>
            <exception cref="T:System.AggregateException">
            The <see cref="T:System.Threading.Tasks.Task"/> was canceled -or- an exception was thrown during
            the execution of the <see cref="T:System.Threading.Tasks.Task"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.Wait(System.TimeSpan)">
            <summary>
            Waits for the <see cref="T:System.Threading.Tasks.Task"/> to complete execution.
            </summary>
            <param name="timeout">
            A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds to wait, or a <see cref="T:System.TimeSpan"/> that represents -1 milliseconds to wait indefinitely.
            </param>
            <returns>
            true if the <see cref="T:System.Threading.Tasks.Task"/> completed execution within the allotted time; otherwise, false.
            </returns>
            <exception cref="T:System.AggregateException">
            The <see cref="T:System.Threading.Tasks.Task"/> was canceled -or- an exception was thrown during the execution of the <see cref="T:System.Threading.Tasks.Task"/>.
            </exception>
            <exception cref="T:ArgumentOutOfRangeException">
            <paramref name="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.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.Wait(System.Threading.CancellationToken)">
            <summary>
            Waits for the <see cref="T:System.Threading.Tasks.Task"/> to complete execution.
            </summary>
            <param name="cancellationToken">
            A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for the task to complete.
            </param>
            <exception cref="T:System.OperationCanceledException2">
            The <paramref name="cancellationToken"/> was canceled.
            </exception>
            <exception cref="T:System.AggregateException">
            The <see cref="T:System.Threading.Tasks.Task"/> was canceled -or- an exception was thrown during the execution of the <see cref="T:System.Threading.Tasks.Task"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task"/>
            has been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.Wait(System.Int32)">
            <summary>
            Waits for the <see cref="T:System.Threading.Tasks.Task"/> to complete execution.
            </summary>
            <param name="millisecondsTimeout">
            The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
            wait indefinitely.</param>
            <returns>true if the <see cref="T:System.Threading.Tasks.Task"/> completed execution within the allotted time; otherwise,
            false.
            </returns>
            <exception cref="T:ArgumentOutOfRangeException">
            <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
            infinite time-out.
            </exception>
            <exception cref="T:System.AggregateException">
            The <see cref="T:System.Threading.Tasks.Task"/> was canceled -or- an exception was thrown during the execution of the <see cref="T:System.Threading.Tasks.Task"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task"/>
            has been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.Wait(System.Int32,System.Threading.CancellationToken)">
            <summary>
            Waits for the <see cref="T:System.Threading.Tasks.Task"/> to complete execution.
            </summary>
            <param name="millisecondsTimeout">
            The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
            wait indefinitely.
            </param>
            <param name="cancellationToken">
            A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for the task to complete.
            </param>
            <returns>
            true if the <see cref="T:System.Threading.Tasks.Task"/> completed execution within the allotted time; otherwise, false.
            </returns>
            <exception cref="T:System.AggregateException">
            The <see cref="T:System.Threading.Tasks.Task"/> was canceled -or- an exception was thrown during the execution of the <see cref="T:System.Threading.Tasks.Task"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task"/>
            has been disposed.
            </exception>
            <exception cref="T:ArgumentOutOfRangeException">
            <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
            infinite time-out.
            </exception>
            <exception cref="T:System.OperationCanceledException2">
            The <paramref name="cancellationToken"/> was canceled.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.InternalWait(System.Int32,System.Threading.CancellationToken)">
            <summary>
            The core wait function, which is only accesible internally. It's meant to be used in places in TPL code where 
            the current context is known or cached.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Task.InternalCancel(System.Boolean)">
            <summary>
            Cancels the <see cref="T:System.Threading.Tasks.Task"/>.
            </summary>
            <param name="bCancelNonExecutingOnly"> Indiactes whether we should only cancel non-invoked tasks.
            For the default scheduler this option will only be serviced through TryDequeue.
            For custom schedulers we also attempt an atomic state transition.</param>
            <returns>true if the task was successfully canceled; otherwise, false.</returns>
            <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Threading.Tasks.Task"/>
            has been disposed.</exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.SetCancellationAcknowledged">
            <summary>
            Sets the task's cancellation acknowledged flag.
            </summary>    
        </member>
        <member name="M:System.Threading.Tasks.Task.FinishContinuations">
            <summary>
            Runs all of the continuations, as appropriate.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Task.ContinueWithIsRightKind(System.Threading.Tasks.TaskContinuationOptions)">
            <summary>
            Helper function to determine whether the current task is in the state desired by the
            continuation kind under evaluation. Three possibilities exist: the task failed with
            an unhandled exception (OnFailed), the task was canceled before running (OnAborted),
            or the task completed successfully (OnCompletedSuccessfully).  Note that the last
            one includes completing due to cancellation.
            </summary>
            <param name="options">The continuation options under evaluation.</param>
            <returns>True if the continuation should be run given the task's current state.</returns>
        </member>
        <member name="M:System.Threading.Tasks.Task.ContinueWith(System.Action{System.Threading.Tasks.Task})">
            <summary>
            Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
            </summary>
            <param name="continuationAction">
            An action to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
            passed the completed task as an argument.
            </param>
            <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
            <remarks>
            The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
            completed, whether it completes due to running to completion successfully, faulting due to an
            unhandled exception, or exiting out early due to being canceled.
            </remarks>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="continuationAction"/> argument is null.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.ContinueWith(System.Action{System.Threading.Tasks.Task},System.Threading.CancellationToken)">
            <summary>
            Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
            </summary>
            <param name="continuationAction">
            An action to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
            passed the completed task as an argument.
            </param>
            <param name="cancellationToken"> The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new continuation task.</param>
            <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
            <remarks>
            The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
            completed, whether it completes due to running to completion successfully, faulting due to an
            unhandled exception, or exiting out early due to being canceled.
            </remarks>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="continuationAction"/> argument is null.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
            </exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.ContinueWith(System.Action{System.Threading.Tasks.Task},System.Threading.Tasks.TaskScheduler)">
            <summary>
            Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
            </summary>
            <param name="continuationAction">
            An action to run when the <see cref="T:System.Threading.Tasks.Task"/> completes.  When run, the delegate will be
            passed the completed task as an argument.
            </param>
            <param name="scheduler">
            The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its execution.
            </param>
            <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
            <remarks>
            The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
            completed, whether it completes due to running to completion successfully, faulting due to an
            unhandled exception, or exiting out early due to being canceled.
            </remarks>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="continuationAction"/> argument is null.
            </exception>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="scheduler"/> argument is null.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.ContinueWith(System.Action{System.Threading.Tasks.Task},System.Threading.Tasks.TaskContinuationOptions)">
            <summary>
            Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
            </summary>
            <param name="continuationAction">
            An action to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
            passed the completed task as an argument.
            </param>
            <param name="continuationOptions">
            Options for when the continuation is scheduled and how it behaves. This includes criteria, such
            as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
            well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
            </param>
            <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
            <remarks>
            The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
            completed. If the continuation criteria specified through the <paramref name="continuationOptions"/> parameter are not met, the continuation task will be canceled
            instead of scheduled.
            </remarks>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="continuationAction"/> argument is null.
            </exception>
            <exception cref="T:ArgumentOutOfRangeException">
            The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.ContinueWith(System.Action{System.Threading.Tasks.Task},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
            <summary>
            Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
            </summary>
            <param name="continuationAction">
            An action to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
            passed the completed task as an argument.
            </param>
            <param name="continuationOptions">
            Options for when the continuation is scheduled and how it behaves. This includes criteria, such
            as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
            well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
            </param>
            <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new continuation task.</param>
            <param name="scheduler">
            The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its
            execution.
            </param>
            <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
            <remarks>
            The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
            completed. If the criteria specified through the <paramref name="continuationOptions"/> parameter
            are not met, the continuation task will be canceled instead of scheduled.
            </remarks>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="continuationAction"/> argument is null.
            </exception>
            <exception cref="T:ArgumentOutOfRangeException">
            The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
            </exception>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="scheduler"/> argument is null.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
            </exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.ContinueWith``1(System.Func{System.Threading.Tasks.Task,``0})">
            <summary>
            Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
            </summary>
            <typeparam name="TResult">
            The type of the result produced by the continuation.
            </typeparam>
            <param name="continuationFunction">
            A function to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
            passed the completed task as an argument.
            </param>
            <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
            <remarks>
            The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
            completed, whether it completes due to running to completion successfully, faulting due to an
            unhandled exception, or exiting out early due to being canceled.
            </remarks>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="continuationFunction"/> argument is null.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.ContinueWith``1(System.Func{System.Threading.Tasks.Task,``0},System.Threading.CancellationToken)">
            <summary>
            Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
            </summary>
            <typeparam name="TResult">
            The type of the result produced by the continuation.
            </typeparam>
            <param name="continuationFunction">
            A function to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
            passed the completed task as an argument.
            </param>
            <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new continuation task.</param>
            <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
            <remarks>
            The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
            completed, whether it completes due to running to completion successfully, faulting due to an
            unhandled exception, or exiting out early due to being canceled.
            </remarks>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="continuationFunction"/> argument is null.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
            </exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.ContinueWith``1(System.Func{System.Threading.Tasks.Task,``0},System.Threading.Tasks.TaskScheduler)">
            <summary>
            Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
            </summary>
            <typeparam name="TResult">
            The type of the result produced by the continuation.
            </typeparam>
            <param name="continuationFunction">
            A function to run when the <see cref="T:System.Threading.Tasks.Task"/> completes.  When run, the delegate will be
            passed the completed task as an argument.
            </param>
            <param name="scheduler">
            The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its execution.
            </param>
            <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
            <remarks>
            The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
            completed, whether it completes due to running to completion successfully, faulting due to an
            unhandled exception, or exiting out early due to being canceled.
            </remarks>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="continuationFunction"/> argument is null.
            </exception>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="scheduler"/> argument is null.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.ContinueWith``1(System.Func{System.Threading.Tasks.Task,``0},System.Threading.Tasks.TaskContinuationOptions)">
            <summary>
            Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
            </summary>
            <typeparam name="TResult">
            The type of the result produced by the continuation.
            </typeparam>
            <param name="continuationFunction">
            A function to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
            passed the completed task as an argument.
            </param>
            <param name="continuationOptions">
            Options for when the continuation is scheduled and how it behaves. This includes criteria, such
            as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
            well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
            </param>
            <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
            <remarks>
            The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
            completed. If the continuation criteria specified through the <paramref name="continuationOptions"/> parameter are not met, the continuation task will be canceled
            instead of scheduled.
            </remarks>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="continuationFunction"/> argument is null.
            </exception>
            <exception cref="T:ArgumentOutOfRangeException">
            The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.ContinueWith``1(System.Func{System.Threading.Tasks.Task,``0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
            <summary>
            Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
            </summary>
            <typeparam name="TResult">
            The type of the result produced by the continuation.
            </typeparam>
            <param name="continuationFunction">
            A function to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
            passed the completed task as an argument.
            </param>
            <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new continuation task.</param>
            <param name="continuationOptions">
            Options for when the continuation is scheduled and how it behaves. This includes criteria, such
            as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
            well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
            </param>
            <param name="scheduler">
            The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its
            execution.
            </param>
            <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
            <remarks>
            The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
            completed. If the criteria specified through the <paramref name="continuationOptions"/> parameter
            are not met, the continuation task will be canceled instead of scheduled.
            </remarks>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="continuationFunction"/> argument is null.
            </exception>
            <exception cref="T:ArgumentOutOfRangeException">
            The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
            </exception>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="scheduler"/> argument is null.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
            </exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.CreationOptionsFromContinuationOptions(System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskCreationOptions@,System.Threading.Tasks.InternalTaskOptions@)">
            <summary>
            Converts TaskContinuationOptions to TaskCreationOptions, and also does
            some validity checking along the way.
            </summary>
            <param name="continuationOptions">Incoming TaskContinuationOptions</param>
            <param name="creationOptions">Outgoing TaskCreationOptions</param>
            <param name="internalOptions">Outgoing InternalTaskOptions</param>
        </member>
        <member name="M:System.Threading.Tasks.Task.ContinueWithCore(System.Threading.Tasks.Task,System.Threading.Tasks.TaskScheduler,System.Threading.Tasks.TaskContinuationOptions)">
            <summary>
            Registers the continuation and possibly runs it (if the task is already finished).
            </summary>
            <param name="continuationTask">The continuation task itself.</param>
            <param name="scheduler">TaskScheduler with which to associate continuation task.</param>
            <param name="options">Restrictions on when the continuation becomes active.</param>
        </member>
        <member name="M:System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[])">
            <summary>
            Waits for all of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
            </summary>
            <param name="tasks">
            An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
            </param>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="tasks"/> argument is null.
            </exception>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="tasks"/> argument contains a null element.
            </exception>
            <exception cref="T:System.AggregateException">
            At least one of the <see cref="T:System.Threading.Tasks.Task"/> instances was canceled -or- an exception was thrown during
            the execution of at least one of the <see cref="T:System.Threading.Tasks.Task"/> instances.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[],System.TimeSpan)">
            <summary>
            Waits for all of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
            </summary>
            <returns>
            true if all of the <see cref="T:System.Threading.Tasks.Task"/> instances completed execution within the allotted time;
            otherwise, false.
            </returns>
            <param name="tasks">
            An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
            </param>
            <param name="timeout">
            A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds to wait, or a <see cref="T:System.TimeSpan"/> that represents -1 milliseconds to wait indefinitely.
            </param>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="tasks"/> argument is null.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="tasks"/> argument contains a null element.
            </exception>
            <exception cref="T:System.AggregateException">
            At least one of the <see cref="T:System.Threading.Tasks.Task"/> instances was canceled -or- an exception was thrown during
            the execution of at least one of the <see cref="T:System.Threading.Tasks.Task"/> instances.
            </exception>
            <exception cref="T:ArgumentOutOfRangeException">
            <paramref name="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.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[],System.Int32)">
            <summary>
            Waits for all of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
            </summary>
            <returns>
            true if all of the <see cref="T:System.Threading.Tasks.Task"/> instances completed execution within the allotted time;
            otherwise, false.
            </returns>
            <param name="millisecondsTimeout">
            The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
            wait indefinitely.</param>
            <param name="tasks">An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
            </param>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="tasks"/> argument is null.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="tasks"/> argument contains a null element.
            </exception>
            <exception cref="T:System.AggregateException">
            At least one of the <see cref="T:System.Threading.Tasks.Task"/> instances was canceled -or- an exception was thrown during
            the execution of at least one of the <see cref="T:System.Threading.Tasks.Task"/> instances.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
            </exception>
            <exception cref="T:ArgumentOutOfRangeException">
            <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
            infinite time-out.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[],System.Threading.CancellationToken)">
            <summary>
            Waits for all of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
            </summary>
            <returns>
            true if all of the <see cref="T:System.Threading.Tasks.Task"/> instances completed execution within the allotted time;
            otherwise, false.
            </returns>
            <param name="tasks">
            An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
            </param>
            <param name="cancellationToken">
            A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for the tasks to complete.
            </param>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="tasks"/> argument is null.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="tasks"/> argument contains a null element.
            </exception>
            <exception cref="T:System.AggregateException">
            At least one of the <see cref="T:System.Threading.Tasks.Task"/> instances was canceled -or- an exception was thrown during
            the execution of at least one of the <see cref="T:System.Threading.Tasks.Task"/> instances.
            </exception>
            <exception cref="T:System.OperationCanceledException2">
            The <paramref name="cancellationToken"/> was canceled.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[],System.Int32,System.Threading.CancellationToken)">
            <summary>
            Waits for all of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
            </summary>
            <returns>
            true if all of the <see cref="T:System.Threading.Tasks.Task"/> instances completed execution within the allotted time;
            otherwise, false.
            </returns>
            <param name="tasks">
            An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
            </param>
            <param name="millisecondsTimeout">
            The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
            wait indefinitely.
            </param>
            <param name="cancellationToken">
            A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for the tasks to complete.
            </param>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="tasks"/> argument is null.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="tasks"/> argument contains a null element.
            </exception>
            <exception cref="T:System.AggregateException">
            At least one of the <see cref="T:System.Threading.Tasks.Task"/> instances was canceled -or- an exception was thrown during
            the execution of at least one of the <see cref="T:System.Threading.Tasks.Task"/> instances.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
            </exception>
            <exception cref="T:ArgumentOutOfRangeException">
            <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
            infinite time-out.
            </exception>
            <exception cref="T:System.OperationCanceledException2">
            The <paramref name="cancellationToken"/> was canceled.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.WaitAllSTAAnd64Aware(System.Threading.WaitHandle[],System.Int32,System.Threading.CancellationToken)">
            <summary>
            Waits for a set of handles in a STA-aware way.  In other words, it will wait for each
            of the events individually if we're on a STA thread, because MsgWaitForMultipleObjectsEx
            can't do a true wait-all due to its hidden message queue event. This is not atomic,
            of course, but we only wait on one-way (MRE) events anyway so this is OK.
            </summary>
            <param name="waitHandles">An array of wait handles to wait on.</param>
            <param name="millisecondsTimeout">The timeout to use during waits.</param>
            <param name="cancellationToken">The cancellationToken that enables a wait to be canceled.</param>
            <returns>True if all waits succeeded, false if a timeout occurred.</returns>
        </member>
        <member name="M:System.Threading.Tasks.Task.FastWaitAll(System.Threading.Tasks.Task[])">
            <summary>
            Internal WaitAll implementation which is meant to be used with small number of tasks,
            optimized for Parallel.Invoke and other structured primitives.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Task.AddExceptionsForCompletedTask(System.Collections.Generic.List{System.Exception}@,System.Threading.Tasks.Task)">
            <summary>
            This internal function is only meant to be called by WaitAll()
            If the completed task is canceled or it has other exceptions, here we will add those
            into the passed in exception list (which will be lazily initialized here).
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Task.WaitAny(System.Threading.Tasks.Task[])">
            <summary>
            Waits for any of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
            </summary>
            <param name="tasks">
            An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
            </param>
            <returns>The index of the completed task in the <paramref name="tasks"/> array argument.</returns>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="tasks"/> argument is null.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="tasks"/> argument contains a null element.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.WaitAny(System.Threading.Tasks.Task[],System.TimeSpan)">
            <summary>
            Waits for any of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
            </summary>
            <param name="tasks">
            An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
            </param>
            <param name="timeout">
            A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds to wait, or a <see cref="T:System.TimeSpan"/> that represents -1 milliseconds to wait indefinitely.
            </param>
            <returns>
            The index of the completed task in the <paramref name="tasks"/> array argument, or -1 if the
            timeout occurred.
            </returns>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="tasks"/> argument is null.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="tasks"/> argument contains a null element.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
            </exception>
            <exception cref="T:ArgumentOutOfRangeException">
            <paramref name="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.Task.WaitAny(System.Threading.Tasks.Task[],System.Threading.CancellationToken)">
            <summary>
            Waits for any of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
            </summary>
            <param name="tasks">
            An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
            </param>
            <param name="cancellationToken">
            A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for a task to complete.
            </param>
            <returns>
            The index of the completed task in the <paramref name="tasks"/> array argument.
            </returns>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="tasks"/> argument is null.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="tasks"/> argument contains a null element.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException2">
            The <paramref name="cancellationToken"/> was canceled.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.WaitAny(System.Threading.Tasks.Task[],System.Int32)">
            <summary>
            Waits for any of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
            </summary>
            <param name="tasks">
            An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
            </param>
            <param name="millisecondsTimeout">
            The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
            wait indefinitely.
            </param>
            <returns>
            The index of the completed task in the <paramref name="tasks"/> array argument, or -1 if the
            timeout occurred.
            </returns>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="tasks"/> argument is null.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="tasks"/> argument contains a null element.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
            </exception>
            <exception cref="T:ArgumentOutOfRangeException">
            <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
            infinite time-out.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task.WaitAny(System.Threading.Tasks.Task[],System.Int32,System.Threading.CancellationToken)">
            <summary>
            Waits for any of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
            </summary>
            <param name="tasks">
            An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
            </param>
            <param name="millisecondsTimeout">
            The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
            wait indefinitely.
            </param>
            <param name="cancellationToken">
            A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for a task to complete.
            </param>
            <returns>
            The index of the completed task in the <paramref name="tasks"/> array argument, or -1 if the
            timeout occurred.
            </returns>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="tasks"/> argument is null.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="tasks"/> argument contains a null element.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
            </exception>
            <exception cref="T:ArgumentOutOfRangeException">
            <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
            infinite time-out.
            </exception>
            <exception cref="T:System.OperationCanceledException2">
            The <paramref name="cancellationToken"/> was canceled.
            </exception>
        </member>
        <member name="P:System.Threading.Tasks.Task.Id">
            <summary>
            Gets a unique ID for this <see cref="T:System.Threading.Tasks.Task">Task</see> instance.
            </summary>
            <remarks>
            Task IDs are assigned on-demand and do not necessarily represent the order in the which Task
            instances were created.
            </remarks>
        </member>
        <member name="P:System.Threading.Tasks.Task.CurrentId">
            <summary>
            Returns the unique ID of the currently executing <see cref="T:System.Threading.Tasks.Task">Task</see>.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.Task.InternalCurrent">
            <summary>
            Gets the <see cref="T:System.Threading.Tasks.Task">Task</see> instance currently executing, or
            null if none exists.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.Task.Exception">
            <summary>
            Gets the <see cref="T:System.AggregateException">Exception</see> that caused the <see cref="T:System.Threading.Tasks.Task">Task</see> to end prematurely. If the <see cref="T:System.Threading.Tasks.Task">Task</see> completed successfully or has not yet thrown any
            exceptions, this will return null.
            </summary>
            <remarks>
            Tasks that throw unhandled exceptions store the resulting exception and propagate it wrapped in a
            <see cref="T:System.AggregateException"/> in calls to <see cref="M:System.Threading.Tasks.Task.Wait">Wait</see>
            or in accesses to the <see cref="P:System.Threading.Tasks.Task.Exception"/> property.  Any exceptions not observed by the time
            the Task instance is garbage collected will be propagated on the finalizer thread.
            </remarks>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task">Task</see>
            has been disposed.
            </exception>
        </member>
        <member name="P:System.Threading.Tasks.Task.Status">
            <summary>
            Gets the <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> of this Task. 
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.Task.IsCanceled">
            <summary>
            Gets whether this <see cref="T:System.Threading.Tasks.Task">Task</see> instance has completed
            execution due to being canceled.
            </summary>
            <remarks>
            A <see cref="T:System.Threading.Tasks.Task">Task</see> will complete in Canceled state either if its <see cref="P:System.Threading.Tasks.Task.CancellationToken">CancellationToken</see> 
            was marked for cancellation before the task started executing, or if the task acknowledged the cancellation request on 
            its already signaled CancellationToken by throwing an 
            <see cref="T:System.OperationCanceledException">OperationCanceledException2</see> that bears the same 
            <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
            </remarks>
        </member>
        <member name="P:System.Threading.Tasks.Task.IsCancellationRequested">
            <summary>
            Returns true if this task has a cancellation token and it was signaled.
            To be used internally in execute entry codepaths.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.Task.CancellationToken">
            <summary>
            This internal property provides access to the CancellationToken that was set on the task 
            when it was constructed.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.Task.IsCancellationAcknowledged">
            <summary>
            Gets whether this <see cref="T:System.Threading.Tasks.Task"/> threw an OperationCanceledException2 while its CancellationToken was signaled.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.Task.IsCompleted">
            <summary>
            Gets whether this <see cref="T:System.Threading.Tasks.Task">Task</see> has completed.
            </summary>
            <remarks>
            <see cref="P:System.Threading.Tasks.Task.IsCompleted"/> will return true when the Task is in one of the three
            final states: <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
            <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
            <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
            </remarks>
        </member>
        <member name="P:System.Threading.Tasks.Task.IsDisposed">
            <summary>
            Checks whether this task has been disposed.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.Task.CreationOptions">
            <summary>
            Gets the <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used
            to create this task.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.Task.System#IAsyncResult#AsyncWaitHandle">
            <summary>
            Gets a <see cref="T:System.Threading.WaitHandle"/> that can be used to wait for the task to
            complete.
            </summary>
            <remarks>
            Using the wait functionality provided by <see cref="M:System.Threading.Tasks.Task.Wait"/>
            should be preferred over using <see cref="P:System.IAsyncResult.AsyncWaitHandle"/> for similar
            functionality.
            </remarks>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
            </exception>
        </member>
        <member name="P:System.Threading.Tasks.Task.AsyncState">
            <summary>
            Gets the state object supplied when the <see cref="T:System.Threading.Tasks.Task">Task</see> was created,
            or null if none was supplied.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.Task.System#IAsyncResult#CompletedSynchronously">
            <summary>
            Gets an indication of whether the asynchronous operation completed synchronously.
            </summary>
            <value>true if the asynchronous operation completed synchronously; otherwise, false.</value>
        </member>
        <member name="P:System.Threading.Tasks.Task.ExecutingTaskScheduler">
            <summary>
            Provides access to the TaskScheduler responsible for executing this Task.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.Task.Factory">
            <summary>
            Provides access to factory methods for creating <see cref="T:System.Threading.Tasks.Task"/> and <see cref="T:System.Threading.Tasks.Task`1"/> instances.
            </summary>
            <remarks>
            The factory returned from <see cref="P:System.Threading.Tasks.Task.Factory"/> is a default instance
            of <see cref="T:System.Threading.Tasks.TaskFactory"/>, as would result from using
            the default constructor on TaskFactory.
            </remarks>
        </member>
        <member name="P:System.Threading.Tasks.Task.CompletedEvent">
            <summary>
            Provides an event that can be used to wait for completion.
            Only called by Wait*(), which means that we really do need to instantiate a completion event.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.Task.IsSelfReplicatingRoot">
            <summary>
            Determines whether this is the root task of a self replicating group.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.Task.IsChildReplica">
            <summary>
            Determines whether the task is a replica itself.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.Task.ExceptionRecorded">
            <summary>
            The property formerly known as IsFaulted.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.Task.IsFaulted">
            <summary>
            Gets whether the <see cref="T:System.Threading.Tasks.Task"/> completed due to an unhandled exception.
            </summary>
            <remarks>
            If <see cref="P:System.Threading.Tasks.Task.IsFaulted"/> is true, the Task's <see cref="P:System.Threading.Tasks.Task.Status"/> will be equal to
            <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">TaskStatus.Faulted</see>, and its
            <see cref="P:System.Threading.Tasks.Task.Exception"/> property will be non-null.
            </remarks>
        </member>
        <member name="P:System.Threading.Tasks.Task.IsExceptionObservedByParent">
            <summary>
            Checks whether the TASK_STATE_EXCEPTIONOBSERVEDBYPARENT status flag is set,
            This will only be used by the implicit wait to prevent double throws
            
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.Task.IsDelegateInvoked">
            <summary>
            Checks whether the body was ever invoked. Used by task scheduler code to verify custom schedulers actually ran the task.
            </summary>
        </member>
        <member name="T:System.Threading.Tasks.Task.TaskContinuation">
            <summary>
            A structure to hold continuation information.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Task.TaskContinuation.#ctor(System.Threading.Tasks.Task,System.Threading.Tasks.TaskScheduler,System.Threading.Tasks.TaskContinuationOptions)">
            <summary>
            Constructs a new continuation structure.
            </summary>
            <param name="task">The task to be activated.</param>
            <param name="options">The continuation options.</param>
            <param name="scheduler">The scheduler to use for the continuation.</param>
        </member>
        <member name="M:System.Threading.Tasks.Task.TaskContinuation.Run(System.Threading.Tasks.Task,System.Boolean)">
            <summary>
            Invokes the continuation for the target completion task.
            </summary>
            <param name="completedTask">The completed task.</param>
            <param name="bCanInlineContinuationTask">Whether the continuation can be inlined.</param>
        </member>
        <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{`0})">
            <summary>
            Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified function.
            </summary>
            <param name="function">
            The delegate that represents the code to execute in the task. When the function has completed,
            the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
            </param>
            <exception cref="T:System.ArgumentException">
            The <paramref name="function"/> argument is null.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{`0},System.Threading.CancellationToken)">
            <summary>
            Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified function.
            </summary>
            <param name="function">
            The delegate that represents the code to execute in the task. When the function has completed,
            the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
            </param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to be assigned to this task.</param>
            <exception cref="T:System.ArgumentException">
            The <paramref name="function"/> argument is null.
            </exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{`0},System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified function and creation options.
            </summary>
            <param name="function">
            The delegate that represents the code to execute in the task. When the function has completed,
            the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
            </param>
            <param name="creationOptions">
            The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
            customize the task's behavior.
            </param>
            <exception cref="T:System.ArgumentException">
            The <paramref name="function"/> argument is null.
            </exception>
            <exception cref="T:ArgumentOutOfRangeException">
            The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified function and creation options.
            </summary>
            <param name="function">
            The delegate that represents the code to execute in the task. When the function has completed,
            the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
            </param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that will be assigned to the new task.</param>
            <param name="creationOptions">
            The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
            customize the task's behavior.
            </param>
            <exception cref="T:System.ArgumentException">
            The <paramref name="function"/> argument is null.
            </exception>
            <exception cref="T:ArgumentOutOfRangeException">
            The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{System.Object,`0},System.Object)">
            <summary>
            Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified function and state.
            </summary>
            <param name="function">
            The delegate that represents the code to execute in the task. When the function has completed,
            the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
            </param>
            <param name="state">An object representing data to be used by the action.</param>
            <exception cref="T:System.ArgumentException">
            The <paramref name="function"/> argument is null.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{System.Object,`0},System.Object,System.Threading.CancellationToken)">
            <summary>
            Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified action, state, and options.
            </summary>
            <param name="function">
            The delegate that represents the code to execute in the task. When the function has completed,
            the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
            </param>
            <param name="state">An object representing data to be used by the function.</param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to be assigned to the new task.</param>
            <exception cref="T:System.ArgumentException">
            The <paramref name="function"/> argument is null.
            </exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{System.Object,`0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified action, state, and options.
            </summary>
            <param name="function">
            The delegate that represents the code to execute in the task. When the function has completed,
            the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
            </param>
            <param name="state">An object representing data to be used by the function.</param>
            <param name="creationOptions">
            The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
            customize the task's behavior.
            </param>
            <exception cref="T:System.ArgumentException">
            The <paramref name="function"/> argument is null.
            </exception>
            <exception cref="T:ArgumentOutOfRangeException">
            The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{System.Object,`0},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified action, state, and options.
            </summary>
            <param name="function">
            The delegate that represents the code to execute in the task. When the function has completed,
            the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
            </param>
            <param name="state">An object representing data to be used by the function.</param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to be assigned to the new task.</param>
            <param name="creationOptions">
            The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
            customize the task's behavior.
            </param>
            <exception cref="T:System.ArgumentException">
            The <paramref name="function"/> argument is null.
            </exception>
            <exception cref="T:ArgumentOutOfRangeException">
            The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{`0},System.Threading.Tasks.Task,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.InternalTaskOptions,System.Threading.Tasks.TaskScheduler)">
            <summary>
            Creates a new future object.
            </summary>
            <param name="parent">The parent task for this future.</param>
            <param name="valueSelector">A function that yields the future value.</param>
            <param name="scheduler">The task scheduler which will be used to execute the future.</param>
            <param name="cancellationToken">The CancellationToken for the task.</param>
            <param name="creationOptions">Options to control the future's behavior.</param>
            <param name="internalOptions">Internal options to control the future's behavior.</param>
            <exception cref="T:ArgumentOutOfRangeException">The <paramref name="creationOptions"/> argument specifies
            a SelfReplicating <see cref="T:System.Threading.Tasks.Task`1"/>, which is illegal."/&gt;.</exception>
        </member>
        <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{System.Object,`0},System.Object,System.Threading.Tasks.Task,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.InternalTaskOptions,System.Threading.Tasks.TaskScheduler)">
            <summary>
            Creates a new future object.
            </summary>
            <param name="parent">The parent task for this future.</param>
            <param name="state">An object containing data to be used by the action; may be null.</param>
            <param name="valueSelector">A function that yields the future value.</param>
            <param name="cancellationToken">The CancellationToken for the task.</param>
            <param name="scheduler">The task scheduler which will be used to execute the future.</param>
            <param name="creationOptions">Options to control the future's behavior.</param>
            <param name="internalOptions">Internal options to control the future's behavior.</param>
            <exception cref="T:ArgumentOutOfRangeException">The <paramref name="creationOptions"/> argument specifies
            a SelfReplicating <see cref="T:System.Threading.Tasks.Task`1"/>, which is illegal."/&gt;.</exception>
        </member>
        <member name="M:System.Threading.Tasks.Task`1.InvokeFuture(System.Object)">
            <summary>
            Evaluates the value selector of the Task which is passed in as an object and stores the result.
            </summary>        
        </member>
        <member name="M:System.Threading.Tasks.Task`1.ContinueWith(System.Action{System.Threading.Tasks.Task{`0}})">
            <summary>
            Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
            </summary>
            <param name="continuationAction">
            An action to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
            passed the completed task as an argument.
            </param>
            <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
            <remarks>
            The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
            completed, whether it completes due to running to completion successfully, faulting due to an
            unhandled exception, or exiting out early due to being canceled.
            </remarks>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="continuationAction"/> argument is null.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task`1.ContinueWith(System.Action{System.Threading.Tasks.Task{`0}},System.Threading.CancellationToken)">
            <summary>
            Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
            </summary>
            <param name="continuationAction">
            An action to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
            passed the completed task as an argument.
            </param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that will be assigned to the new continuation task.</param>
            <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
            <remarks>
            The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
            completed, whether it completes due to running to completion successfully, faulting due to an
            unhandled exception, or exiting out early due to being canceled.
            </remarks>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="continuationAction"/> argument is null.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
            </exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task`1.ContinueWith(System.Action{System.Threading.Tasks.Task{`0}},System.Threading.Tasks.TaskScheduler)">
            <summary>
            Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
            </summary>
            <param name="continuationAction">
            An action to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
            passed the completed task as an argument.
            </param>
            <param name="scheduler">
            The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its execution.
            </param>
            <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
            <remarks>
            The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
            completed, whether it completes due to running to completion successfully, faulting due to an
            unhandled exception, or exiting out early due to being canceled.
            </remarks>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="continuationAction"/> argument is null.
            </exception>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="scheduler"/> argument is null.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task`1.ContinueWith(System.Action{System.Threading.Tasks.Task{`0}},System.Threading.Tasks.TaskContinuationOptions)">
            <summary>
            Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
            </summary>
            <param name="continuationAction">
            An action to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
            passed the completed task as an argument.
            </param>
            <param name="continuationOptions">
            Options for when the continuation is scheduled and how it behaves. This includes criteria, such
            as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
            well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
            </param>
            <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
            <remarks>
            The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
            completed. If the continuation criteria specified through the <paramref name="continuationOptions"/> parameter are not met, the continuation task will be canceled
            instead of scheduled.
            </remarks>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="continuationAction"/> argument is null.
            </exception>
            <exception cref="T:ArgumentOutOfRangeException">
            The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task`1.ContinueWith(System.Action{System.Threading.Tasks.Task{`0}},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
            <summary>
            Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
            </summary>
            <param name="continuationAction">
            An action to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
            passed the completed task as an argument.
            </param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that will be assigned to the new continuation task.</param>
            <param name="continuationOptions">
            Options for when the continuation is scheduled and how it behaves. This includes criteria, such
            as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
            well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
            </param>
            <param name="scheduler">
            The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its
            execution.
            </param>
            <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
            <remarks>
            The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
            completed. If the criteria specified through the <paramref name="continuationOptions"/> parameter
            are not met, the continuation task will be canceled instead of scheduled.
            </remarks>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="continuationAction"/> argument is null.
            </exception>
            <exception cref="T:ArgumentOutOfRangeException">
            The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
            </exception>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="scheduler"/> argument is null.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
            </exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task`1.ContinueWith``1(System.Func{System.Threading.Tasks.Task{`0},``0})">
            <summary>
            Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
            </summary>
            <typeparam name="TNewResult">
            The type of the result produced by the continuation.
            </typeparam>
            <param name="continuationFunction">
            A function to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
            passed the completed task as an argument.
            </param>
            <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
            <remarks>
            The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current
            task has completed, whether it completes due to running to completion successfully, faulting due
            to an unhandled exception, or exiting out early due to being canceled.
            </remarks>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="continuationFunction"/> argument is null.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task`1.ContinueWith``1(System.Func{System.Threading.Tasks.Task{`0},``0},System.Threading.CancellationToken)">
            <summary>
            Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
            </summary>
            <typeparam name="TNewResult">
            The type of the result produced by the continuation.
            </typeparam>
            <param name="continuationFunction">
            A function to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
            passed the completed task as an argument.
            </param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that will be assigned to the new task.</param>
            <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
            <remarks>
            The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current
            task has completed, whether it completes due to running to completion successfully, faulting due
            to an unhandled exception, or exiting out early due to being canceled.
            </remarks>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="continuationFunction"/> argument is null.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
            </exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task`1.ContinueWith``1(System.Func{System.Threading.Tasks.Task{`0},``0},System.Threading.Tasks.TaskScheduler)">
            <summary>
            Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
            </summary>
            <typeparam name="TNewResult">
            The type of the result produced by the continuation.
            </typeparam>
            <param name="continuationFunction">
            A function to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes.  When run, the delegate will be
            passed the completed task as an argument.
            </param>
            <param name="scheduler">
            The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its execution.
            </param>
            <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
            <remarks>
            The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
            completed, whether it completes due to running to completion successfully, faulting due to an
            unhandled exception, or exiting out early due to being canceled.
            </remarks>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="continuationFunction"/> argument is null.
            </exception>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="scheduler"/> argument is null.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task`1.ContinueWith``1(System.Func{System.Threading.Tasks.Task{`0},``0},System.Threading.Tasks.TaskContinuationOptions)">
            <summary>
            Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
            </summary>
            <typeparam name="TNewResult">
            The type of the result produced by the continuation.
            </typeparam>
            <param name="continuationFunction">
            A function to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
            passed the completed task as an argument.
            </param>
            <param name="continuationOptions">
            Options for when the continuation is scheduled and how it behaves. This includes criteria, such
            as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
            well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
            </param>
            <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
            <remarks>
            <para>
            The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current
            task has completed, whether it completes due to running to completion successfully, faulting due
            to an unhandled exception, or exiting out early due to being canceled.
            </para>
            <para>
            The <paramref name="continuationFunction"/>, when executed, should return a <see cref="T:System.Threading.Tasks.Task`1"/>. This task's completion state will be transferred to the task returned
            from the ContinueWith call.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="continuationFunction"/> argument is null.
            </exception>
            <exception cref="T:ArgumentOutOfRangeException">
            The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.Task`1.ContinueWith``1(System.Func{System.Threading.Tasks.Task{`0},``0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
            <summary>
            Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
            </summary>
            <typeparam name="TNewResult">
            The type of the result produced by the continuation.
            </typeparam>
            <param name="continuationFunction">
            A function to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be passed as
            an argument this completed task.
            </param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that will be assigned to the new task.</param>
            <param name="continuationOptions">
            Options for when the continuation is scheduled and how it behaves. This includes criteria, such
            as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
            well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
            </param>
            <param name="scheduler">
            The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its
            execution.
            </param>
            <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
            <remarks>
            <para>
            The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
            completed, whether it completes due to running to completion successfully, faulting due to an
            unhandled exception, or exiting out early due to being canceled.
            </para>
            <para>
            The <paramref name="continuationFunction"/>, when executed, should return a <see cref="T:System.Threading.Tasks.Task`1"/>.
            This task's completion state will be transferred to the task returned from the
            ContinueWith call.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="continuationFunction"/> argument is null.
            </exception>
            <exception cref="T:ArgumentOutOfRangeException">
            The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
            </exception>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="scheduler"/> argument is null.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
            </exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
        </member>
        <member name="P:System.Threading.Tasks.Task`1.Result">
            <summary>
            Gets the result value of this <see cref="T:System.Threading.Tasks.Task`1"/>.
            </summary>
            <remarks>
            The get accessor for this property ensures that the asynchronous operation is complete before
            returning. Once the result of the computation is available, it is stored and will be returned
            immediately on later calls to <see cref="P:System.Threading.Tasks.Task`1.Result"/>.
            </remarks>
        </member>
        <member name="P:System.Threading.Tasks.Task`1.Factory">
            <summary>
            Provides access to factory methods for creating <see cref="T:System.Threading.Tasks.Task`1"/> instances.
            </summary>
            <remarks>
            The factory returned from <see cref="P:System.Threading.Tasks.Task`1.Factory"/> is a default instance
            of <see cref="T:System.Threading.Tasks.TaskFactory`1"/>, as would result from using
            the default constructor on the factory type.
            </remarks>
        </member>
        <member name="T:System.Threading.Tasks.TaskFactory`1">
            <summary>
            Provides support for creating and scheduling
            <see cref="T:System.Threading.Tasks.Task{TResult}">Task{TResult}</see> objects.
            </summary>
            <typeparam name="TResult">The type of the results that are available though 
            the <see cref="T:System.Threading.Tasks.Task{TResult}">Task{TResult}</see> objects that are associated with 
            the methods in this class.</typeparam>
            <remarks>
            <para>
            There are many common patterns for which tasks are relevant. The <see cref="T:System.Threading.Tasks.TaskFactory`1"/>
            class encodes some of these patterns into methods that pick up default settings, which are
            configurable through its constructors.
            </para>
            <para>
            A default instance of <see cref="T:System.Threading.Tasks.TaskFactory`1"/> is available through the
            <see cref="P:System.Threading.Tasks.Task`1.Factory">Task{TResult}.Factory</see> property.
            </para>
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.#ctor">
            <summary>
            Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with the default configuration.
            </summary>
            <remarks>
            This constructor creates a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with a default configuration. The
            <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
            <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
            <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
            and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
            initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.#ctor(System.Threading.CancellationToken)">
            <summary>
            Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with the default configuration.
            </summary>
            <param name="cancellationToken">The default <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned 
            to tasks created by this <see cref="T:System.Threading.Tasks.TaskFactory"/> unless another CancellationToken is explicitly specified 
            while calling the factory methods.</param>
            <remarks>
            This constructor creates a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with a default configuration. The
            <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
            <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
            <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
            and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
            initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.#ctor(System.Threading.Tasks.TaskScheduler)">
            <summary>
            Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with the specified configuration.
            </summary>
            <param name="scheduler">
            The <see cref="T:System.Threading.Tasks.TaskScheduler">
            TaskScheduler</see> to use to schedule any tasks created with this TaskFactory{TResult}. A null value
            indicates that the current TaskScheduler should be used.
            </param>
            <remarks>
            With this constructor, the
            <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
            <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
            <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
            and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
            initialized to <paramref name="scheduler"/>, unless it's null, in which case the property is
            initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.#ctor(System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions)">
            <summary>
            Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with the specified configuration.
            </summary>
            <param name="creationOptions">
            The default <see cref="T:System.Threading.Tasks.TaskCreationOptions">
            TaskCreationOptions</see> to use when creating tasks with this TaskFactory{TResult}.
            </param>
            <param name="continuationOptions">
            The default <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
            TaskContinuationOptions</see> to use when creating continuation tasks with this TaskFactory{TResult}.
            </param>
            <exception cref="T:ArgumentOutOfRangeException">
            The exception that is thrown when the
            <paramref name="creationOptions"/> argument or the <paramref name="continuationOptions"/>
            argument specifies an invalid value.
            </exception>
            <remarks>
            With this constructor, the
            <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to <paramref name="creationOptions"/>,
            the
            <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <paramref name="continuationOptions"/>, and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is initialized to the
            current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.#ctor(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
            <summary>
            Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with the specified configuration.
            </summary>
            <param name="cancellationToken">The default <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned 
            to tasks created by this <see cref="T:System.Threading.Tasks.TaskFactory"/> unless another CancellationToken is explicitly specified 
            while calling the factory methods.</param>
            <param name="creationOptions">
            The default <see cref="T:System.Threading.Tasks.TaskCreationOptions">
            TaskCreationOptions</see> to use when creating tasks with this TaskFactory{TResult}.
            </param>
            <param name="continuationOptions">
            The default <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
            TaskContinuationOptions</see> to use when creating continuation tasks with this TaskFactory{TResult}.
            </param>
            <param name="scheduler">
            The default <see cref="T:System.Threading.Tasks.TaskScheduler">
            TaskScheduler</see> to use to schedule any Tasks created with this TaskFactory{TResult}. A null value
            indicates that TaskScheduler.Current should be used.
            </param>
            <exception cref="T:ArgumentOutOfRangeException">
            The exception that is thrown when the
            <paramref name="creationOptions"/> argument or the <paramref name="continuationOptions"/>
            argumentspecifies an invalid value.
            </exception>
            <remarks>
            With this constructor, the
            <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to <paramref name="creationOptions"/>,
            the
            <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <paramref name="continuationOptions"/>, and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is initialized to
            <paramref name="scheduler"/>, unless it's null, in which case the property is initialized to the
            current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{`0})">
            <summary>
            Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
            </summary>
            <param name="function">A function delegate that returns the future result to be available through
            the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
            argument is null.</exception>
            <remarks>
            Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
            of its constructors and then calling
            <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
            However, unless creation and scheduling must be separated, StartNew is the recommended approach
            for both simplicity and performance.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{`0},System.Threading.CancellationToken)">
            <summary>
            Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
            </summary>
            <param name="function">A function delegate that returns the future result to be available through
            the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned to the new task.</param>
            <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
            argument is null.</exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
            <remarks>
            Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
            of its constructors and then calling
            <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
            However, unless creation and scheduling must be separated, StartNew is the recommended approach
            for both simplicity and performance.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{`0},System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
            </summary>
            <param name="function">A function delegate that returns the future result to be available through
            the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
            created
            <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
            argument is null.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
            value.</exception>
            <remarks>
            Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
            of its constructors and then calling
            <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
            However, unless creation and scheduling must be separated, StartNew is the recommended approach
            for both simplicity and performance.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
            <summary>
            Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
            </summary>
            <param name="function">A function delegate that returns the future result to be available through
            the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
            created
            <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned to the new task.</param>
            <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
            that is used to schedule the created <see cref="T:System.Threading.Tasks.Task{TResult}">
            Task{TResult}</see>.</param>
            <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
            argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
            argument is null.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
            value.</exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
            <remarks>
            Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
            of its constructors and then calling
            <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
            However, unless creation and scheduling must be separated, StartNew is the recommended approach
            for both simplicity and performance.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{System.Object,`0},System.Object)">
            <summary>
            Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
            </summary>
            <param name="function">A function delegate that returns the future result to be available through
            the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <param name="state">An object containing data to be used by the <paramref name="function"/>
            delegate.</param>
            <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
            argument is null.</exception>
            <remarks>
            Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
            of its constructors and then calling
            <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
            However, unless creation and scheduling must be separated, StartNew is the recommended approach
            for both simplicity and performance.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{System.Object,`0},System.Object,System.Threading.CancellationToken)">
            <summary>
            Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
            </summary>
            <param name="function">A function delegate that returns the future result to be available through
            the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <param name="state">An object containing data to be used by the <paramref name="function"/>
            delegate.</param>
            <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned to the new task.</param>
            <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
            argument is null.</exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
            <remarks>
            Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
            of its constructors and then calling
            <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
            However, unless creation and scheduling must be separated, StartNew is the recommended approach
            for both simplicity and performance.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{System.Object,`0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
            </summary>
            <param name="function">A function delegate that returns the future result to be available through
            the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <param name="state">An object containing data to be used by the <paramref name="function"/>
            delegate.</param>
            <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
            created
            <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
            argument is null.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
            value.</exception>
            <remarks>
            Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
            of its constructors and then calling
            <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
            However, unless creation and scheduling must be separated, StartNew is the recommended approach
            for both simplicity and performance.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{System.Object,`0},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
            <summary>
            Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
            </summary>
            <param name="function">A function delegate that returns the future result to be available through
            the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <param name="state">An object containing data to be used by the <paramref name="function"/>
            delegate.</param>
            <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned to the new task.</param>
            <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
            created
            <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
            that is used to schedule the created <see cref="T:System.Threading.Tasks.Task{TResult}">
            Task{TResult}</see>.</param>
            <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
            argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
            argument is null.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
            value.</exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
            <remarks>
            Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
            of its constructors and then calling
            <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
            However, unless creation and scheduling must be separated, StartNew is the recommended approach
            for both simplicity and performance.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync(System.IAsyncResult,System.Func{System.IAsyncResult,`0})">
            <summary>
            Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
            method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
            </summary>
            <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
            <paramref name="endMethod"/>.</param>
            <param name="endMethod">The function delegate that processes the completed <paramref
            name="asyncResult"/>.</param>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="asyncResult"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="endMethod"/> argument is null.</exception>
            <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
            asynchronous operation.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync(System.IAsyncResult,System.Func{System.IAsyncResult,`0},System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
            method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
            </summary>
            <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
            <paramref name="endMethod"/>.</param>
            <param name="endMethod">The function delegate that processes the completed <paramref
            name="asyncResult"/>.</param>
            <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
            created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="asyncResult"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="endMethod"/> argument is null.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
            value.</exception>
            <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
            asynchronous operation.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync(System.IAsyncResult,System.Func{System.IAsyncResult,`0},System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
            <summary>
            Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
            method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
            </summary>
            <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
            <paramref name="endMethod"/>.</param>
            <param name="endMethod">The function delegate that processes the completed <paramref name="asyncResult"/>.</param>
            <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
            that is used to schedule the task that executes the end method.</param>
            <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
            created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="asyncResult"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="endMethod"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="scheduler"/> argument is null.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
            value.</exception>
            <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
            asynchronous operation.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},System.Object)">
            <summary>
            Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
            begin and end methods that conform to the Asynchronous Programming Model pattern.
            </summary>
            <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
            <param name="endMethod">The delegate that ends the asynchronous operation.</param>
            <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
            delegate.</param>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="beginMethod"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="endMethod"/> argument is null.</exception>
            <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
            represents the asynchronous operation.</returns>
            <remarks>
            This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
            begin and end methods that conform to the Asynchronous Programming Model pattern.
            </summary>
            <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
            <param name="endMethod">The delegate that ends the asynchronous operation.</param>
            <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
            created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
            <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
            delegate.</param>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="beginMethod"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="endMethod"/> argument is null.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
            value.</exception>
            <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
            represents the asynchronous operation.</returns>
            <remarks>
            This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``1(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,System.Object)">
            <summary>
            Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
            begin and end methods that conform to the Asynchronous Programming Model pattern.
            </summary>
            <typeparam name="TArg1">The type of the first argument passed to the <paramref
            name="beginMethod"/> delegate.</typeparam>
            <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
            <param name="endMethod">The delegate that ends the asynchronous operation.</param>
            <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
            delegate.</param>
            <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
            delegate.</param>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="beginMethod"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="endMethod"/> argument is null.</exception>
            <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
            represents the asynchronous operation.</returns>
            <remarks>
            This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``1(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,System.Object,System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
            begin and end methods that conform to the Asynchronous Programming Model pattern.
            </summary>
            <typeparam name="TArg1">The type of the first argument passed to the <paramref
            name="beginMethod"/> delegate.</typeparam>
            <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
            <param name="endMethod">The delegate that ends the asynchronous operation.</param>
            <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
            delegate.</param>
            <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
            created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
            <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
            delegate.</param>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="beginMethod"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="endMethod"/> argument is null.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
            value.</exception>
            <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
            represents the asynchronous operation.</returns>
            <remarks>
            This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``2(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,``1,System.Object)">
            <summary>
            Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
            begin and end methods that conform to the Asynchronous Programming Model pattern.
            </summary>
            <typeparam name="TArg1">The type of the first argument passed to the <paramref
            name="beginMethod"/> delegate.</typeparam>
            <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
            delegate.</typeparam>
            <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
            <param name="endMethod">The delegate that ends the asynchronous operation.</param>
            <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
            delegate.</param>
            <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
            delegate.</param>
            <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
            delegate.</param>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="beginMethod"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="endMethod"/> argument is null.</exception>
            <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
            represents the asynchronous operation.</returns>
            <remarks>
            This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``2(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,``1,System.Object,System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
            begin and end methods that conform to the Asynchronous Programming Model pattern.
            </summary>
            <typeparam name="TArg1">The type of the first argument passed to the <paramref
            name="beginMethod"/> delegate.</typeparam>
            <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
            delegate.</typeparam>
            <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
            <param name="endMethod">The delegate that ends the asynchronous operation.</param>
            <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
            delegate.</param>
            <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
            delegate.</param>
            <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
            created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
            <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
            delegate.</param>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="beginMethod"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="endMethod"/> argument is null.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
            value.</exception>
            <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
            represents the asynchronous operation.</returns>
            <remarks>
            This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``3(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,``1,``2,System.Object)">
            <summary>
            Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
            begin and end methods that conform to the Asynchronous Programming Model pattern.
            </summary>
            <typeparam name="TArg1">The type of the first argument passed to the <paramref
            name="beginMethod"/> delegate.</typeparam>
            <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
            delegate.</typeparam>
            <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
            delegate.</typeparam>
            <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
            <param name="endMethod">The delegate that ends the asynchronous operation.</param>
            <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
            delegate.</param>
            <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
            delegate.</param>
            <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
            delegate.</param>
            <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
            delegate.</param>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="beginMethod"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="endMethod"/> argument is null.</exception>
            <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
            represents the asynchronous operation.</returns>
            <remarks>
            This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``3(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,``1,``2,System.Object,System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
            begin and end methods that conform to the Asynchronous Programming Model pattern.
            </summary>
            <typeparam name="TArg1">The type of the first argument passed to the <paramref
            name="beginMethod"/> delegate.</typeparam>
            <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
            delegate.</typeparam>
            <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
            delegate.</typeparam>
            <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
            <param name="endMethod">The delegate that ends the asynchronous operation.</param>
            <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
            delegate.</param>
            <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
            delegate.</param>
            <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
            delegate.</param>
            <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
            created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
            <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
            delegate.</param>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="beginMethod"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="endMethod"/> argument is null.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
            value.</exception>
            <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
            represents the asynchronous operation.</returns>
            <remarks>
            This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],`0})">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> 
            that will be started upon the completion of a set of provided Tasks.
            </summary>
            <param name="tasks">The array of tasks from which to continue.</param>
            <param name="continuationFunction">The function delegate to execute when all tasks in 
            the <paramref name="tasks"/> array have completed.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the 
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the 
            <paramref name="continuationFunction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the 
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the 
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],`0},System.Threading.CancellationToken)">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> 
            that will be started upon the completion of a set of provided Tasks.
            </summary>
            <param name="tasks">The array of tasks from which to continue.</param>
            <param name="continuationFunction">The function delegate to execute when all tasks in 
            the <paramref name="tasks"/> array have completed.</param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see> 
            that will be assigned to the new continuation task.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the 
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the 
            <paramref name="continuationFunction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the 
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the 
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],`0},System.Threading.Tasks.TaskContinuationOptions)">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
            that will be started upon the completion of a set of provided Tasks.
            </summary>
            <param name="tasks">The array of tasks from which to continue.</param>
            <param name="continuationFunction">The function delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
            <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
            TaskContinuationOptions</see> value that controls the behavior of
            the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationFunction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
            value.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
            <remarks>
            The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>, 
            which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation 
            will be executed, are illegal with ContinueWhenAll.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
            that will be started upon the completion of a set of provided Tasks.
            </summary>
            <param name="tasks">The array of tasks from which to continue.</param>
            <param name="continuationFunction">The function delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see> 
            that will be assigned to the new continuation task.</param>
            <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
            TaskContinuationOptions</see> value that controls the behavior of
            the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
            <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
            that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationFunction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="scheduler"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
            value.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
            <remarks>
            The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>, 
            which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation 
            will be executed, are illegal with ContinueWhenAll.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],`0})">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
            that will be started upon the completion of a set of provided Tasks.
            </summary>
            <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
            <param name="tasks">The array of tasks from which to continue.</param>
            <param name="continuationFunction">The function delegate to execute when all tasks in the
            <paramref name="tasks"/> array have completed.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationFunction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],`0},System.Threading.CancellationToken)">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
            that will be started upon the completion of a set of provided Tasks.
            </summary>
            <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
            <param name="tasks">The array of tasks from which to continue.</param>
            <param name="continuationFunction">The function delegate to execute when all tasks in the
            <paramref name="tasks"/> array have completed.</param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see> 
            that will be assigned to the new continuation task.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationFunction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],`0},System.Threading.Tasks.TaskContinuationOptions)">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
            that will be started upon the completion of a set of provided Tasks.
            </summary>
            <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
            <param name="tasks">The array of tasks from which to continue.</param>
            <param name="continuationFunction">The function delegate to execute when all tasks in the
            <paramref name="tasks"/> array have completed.</param>
            <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
            TaskContinuationOptions</see> value that controls the behavior of
            the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationFunction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
            value.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
            <remarks>
            The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>, 
            which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation 
            will be executed, are illegal with ContinueWhenAll.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
            that will be started upon the completion of a set of provided Tasks.
            </summary>
            <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
            <param name="tasks">The array of tasks from which to continue.</param>
            <param name="continuationFunction">The function delegate to execute when all tasks in the
            <paramref name="tasks"/> array have completed.</param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see> 
            that will be assigned to the new continuation task.</param>
            <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
            TaskContinuationOptions</see> value that controls the behavior of
            the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
            <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
            that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationFunction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="scheduler"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
            value.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
            <remarks>
            The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>, 
            which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation 
            will be executed, are illegal with ContinueWhenAll.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,`0})">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
            that will be started upon the completion of any Task in the provided set.
            </summary>
            <param name="tasks">The array of tasks from which to continue when one task completes.</param>
            <param name="continuationFunction">The function delegate to execute when one task in the <paramref
            name="tasks"/> array completes.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationFunction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,`0},System.Threading.CancellationToken)">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
            that will be started upon the completion of any Task in the provided set.
            </summary>
            <param name="tasks">The array of tasks from which to continue when one task completes.</param>
            <param name="continuationFunction">The function delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see> 
            that will be assigned to the new continuation task.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationFunction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,`0},System.Threading.Tasks.TaskContinuationOptions)">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
            that will be started upon the completion of any Task in the provided set.
            </summary>
            <param name="tasks">The array of tasks from which to continue when one task completes.</param>
            <param name="continuationFunction">The function delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
            <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
            TaskContinuationOptions</see> value that controls the behavior of
            the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationFunction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
            value.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
            <remarks>
            The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>, 
            which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation 
            will be executed, are illegal with ContinueWhenAny.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
            that will be started upon the completion of any Task in the provided set.
            </summary>
            <param name="tasks">The array of tasks from which to continue when one task completes.</param>
            <param name="continuationFunction">The function delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see> 
            that will be assigned to the new continuation task.</param>
            <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
            TaskContinuationOptions</see> value that controls the behavior of
            the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
            <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
            that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationFunction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="scheduler"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
            value.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
            <remarks>
            The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>, 
            which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation 
            will be executed, are illegal with ContinueWhenAny.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},`0})">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
            that will be started upon the completion of any Task in the provided set.
            </summary>
            <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
            <param name="tasks">The array of tasks from which to continue when one task completes.</param>
            <param name="continuationFunction">The function delegate to execute when one task in the
            <paramref name="tasks"/> array completes.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationFunction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},`0},System.Threading.CancellationToken)">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
            that will be started upon the completion of any Task in the provided set.
            </summary>
            <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
            <param name="tasks">The array of tasks from which to continue when one task completes.</param>
            <param name="continuationFunction">The function delegate to execute when one task in the
            <paramref name="tasks"/> array completes.</param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see> 
            that will be assigned to the new continuation task.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationFunction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},`0},System.Threading.Tasks.TaskContinuationOptions)">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
            that will be started upon the completion of any Task in the provided set.
            </summary>
            <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
            <param name="tasks">The array of tasks from which to continue when one task completes.</param>
            <param name="continuationFunction">The function delegate to execute when one task in the
            <paramref name="tasks"/> array completes.</param>
            <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
            TaskContinuationOptions</see> value that controls the behavior of
            the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationFunction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
            value.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
            <remarks>
            The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>, 
            which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation 
            will be executed, are illegal with ContinueWhenAny.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
            that will be started upon the completion of any Task in the provided set.
            </summary>
            <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
            <param name="tasks">The array of tasks from which to continue when one task completes.</param>
            <param name="continuationFunction">The function delegate to execute when one task in the
            <paramref name="tasks"/> array completes.</param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see> 
            that will be assigned to the new continuation task.</param>
            <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
            TaskContinuationOptions</see> value that controls the behavior of
            the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
            <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
            that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationFunction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="scheduler"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
            value.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
            <remarks>
            The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>, 
            which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation 
            will be executed, are illegal with ContinueWhenAny.
            </remarks>
        </member>
        <member name="P:System.Threading.Tasks.TaskFactory`1.CancellationToken">
            <summary>
            Gets the default <see cref="T:System.Threading.CancellationToken">CancellationToken</see> of this
            TaskFactory.
            </summary>
            <remarks>
            This property returns the default <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned to all 
            tasks created by this factory unless another CancellationToken value is explicitly specified 
            during the call to the factory methods.
            </remarks>
        </member>
        <member name="P:System.Threading.Tasks.TaskFactory`1.Scheduler">
            <summary>
            Gets the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> of this
            TaskFactory{TResult}.
            </summary>
            <remarks>
            This property returns the default scheduler for this factory.  It will be used to schedule all 
            tasks unless another scheduler is explicitly specified during calls to this factory's methods.  
            If null, <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see> 
            will be used.
            </remarks>
        </member>
        <member name="P:System.Threading.Tasks.TaskFactory`1.CreationOptions">
            <summary>
            Gets the <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions
            </see> value of this TaskFactory{TResult}.
            </summary>
            <remarks>
            This property returns the default creation options for this factory.  They will be used to create all 
            tasks unless other options are explicitly specified during calls to this factory's methods.
            </remarks>
        </member>
        <member name="P:System.Threading.Tasks.TaskFactory`1.ContinuationOptions">
            <summary>
            Gets the <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskContinuationOptions
            </see> value of this TaskFactory{TResult}.
            </summary>
            <remarks>
            This property returns the default continuation options for this factory.  They will be used to create 
            all continuation tasks unless other options are explicitly specified during calls to this factory's methods.
            </remarks>
        </member>
        <member name="T:System.Threading.Tasks.TaskStatus">
            <summary>
            Represents the current stage in the lifecycle of a <see cref="T:System.Threading.Tasks.Task"/>.
            </summary>
        </member>
        <member name="F:System.Threading.Tasks.TaskStatus.Created">
            <summary> 
            The task has been initialized but has not yet been scheduled.
            </summary>
        </member>
        <member name="F:System.Threading.Tasks.TaskStatus.WaitingForActivation">
            <summary> 
            The task is waiting to be activated and scheduled internally by the .NET Framework infrastructure.
            </summary>
        </member>
        <member name="F:System.Threading.Tasks.TaskStatus.WaitingToRun">
            <summary>
            The task has been scheduled for execution but has not yet begun executing.
            </summary>
        </member>
        <member name="F:System.Threading.Tasks.TaskStatus.Running">
            <summary>
            The task is running but has not yet completed.
            </summary>
        </member>
        <member name="F:System.Threading.Tasks.TaskStatus.WaitingForChildrenToComplete">
            <summary>
            The task has finished executing and is implicitly waiting for
            attached child tasks to complete.
            </summary>
        </member>
        <member name="F:System.Threading.Tasks.TaskStatus.RanToCompletion">
            <summary>
            The task completed execution successfully.
            </summary>
        </member>
        <member name="F:System.Threading.Tasks.TaskStatus.Canceled">
            <summary>
            The task acknowledged cancellation by throwing an OperationCanceledException2 with its own CancellationToken
            while the token was in signaled state, or the task's CancellationToken was already signaled before the
            task started executing.
            </summary>
        </member>
        <member name="F:System.Threading.Tasks.TaskStatus.Faulted">
            <summary>
            The task completed due to an unhandled exception.
            </summary>
        </member>
        <member name="T:System.Threading.Tasks.TaskCreationOptions">
            <summary>
            Specifies flags that control optional behavior for the creation and execution of tasks.
            </summary>
        </member>
        <member name="F:System.Threading.Tasks.TaskCreationOptions.None">
            <summary>
            Specifies that the default behavior should be used.
            </summary>
        </member>
        <member name="F:System.Threading.Tasks.TaskCreationOptions.PreferFairness">
            <summary>
            A hint to a <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> to schedule a
            task in as fair a manner as possible, meaning that tasks scheduled sooner will be more likely to
            be run sooner, and tasks scheduled later will be more likely to be run later.
            </summary>
        </member>
        <member name="F:System.Threading.Tasks.TaskCreationOptions.LongRunning">
            <summary>
            Specifies that a task will be a long-running, course-grained operation. It provides a hint to the
            <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> that oversubscription may be
            warranted. 
            </summary>
        </member>
        <member name="F:System.Threading.Tasks.TaskCreationOptions.AttachedToParent">
            <summary>
            Specifies that a task is attached to a parent in the task hierarchy.
            </summary>
        </member>
        <member name="T:System.Threading.Tasks.InternalTaskOptions">
            <summary>
            Task creation flags which are only used internally.
            </summary>
        </member>
        <member name="F:System.Threading.Tasks.InternalTaskOptions.None">
            <summary> Specifies "No internal task options" </summary>
        </member>
        <member name="F:System.Threading.Tasks.InternalTaskOptions.InternalOptionsMask">
            <summary>Used to filter out internal vs. public task creation options.</summary>
        </member>
        <member name="F:System.Threading.Tasks.InternalTaskOptions.QueuedByRuntime">
            <summary>Specifies that the task will be queued by the runtime before handing it over to the user. 
            This flag will be used to skip the cancellationtoken registration step, which is only meant for unstarted tasks.</summary>
        </member>
        <member name="T:System.Threading.Tasks.TaskContinuationOptions">
            <summary>
            Specifies flags that control optional behavior for the creation and execution of continuation tasks.
            </summary>
        </member>
        <member name="F:System.Threading.Tasks.TaskContinuationOptions.None">
            <summary>
            Default = "Continue on any, no task options, run asynchronously"
            Specifies that the default behavior should be used.  Continuations, by default, will
            be scheduled when the antecedent task completes, regardless of the task's final <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see>.
            </summary>
        </member>
        <member name="F:System.Threading.Tasks.TaskContinuationOptions.PreferFairness">
            <summary>
            A hint to a <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> to schedule a
            task in as fair a manner as possible, meaning that tasks scheduled sooner will be more likely to
            be run sooner, and tasks scheduled later will be more likely to be run later.
            </summary>
        </member>
        <member name="F:System.Threading.Tasks.TaskContinuationOptions.LongRunning">
            <summary>
            Specifies that a task will be a long-running, course-grained operation.  It provides
            a hint to the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> that
            oversubscription may be warranted.
            </summary>
        </member>
        <member name="F:System.Threading.Tasks.TaskContinuationOptions.AttachedToParent">
            <summary>
            Specifies that a task is attached to a parent in the task hierarchy.
            </summary>
        </member>
        <member name="F:System.Threading.Tasks.TaskContinuationOptions.NotOnRanToCompletion">
            <summary>
            Specifies that the continuation task should not be scheduled if its antecedent ran to completion.
            This option is not valid for multi-task continuations.
            </summary>
        </member>
        <member name="F:System.Threading.Tasks.TaskContinuationOptions.NotOnFaulted">
            <summary>
            Specifies that the continuation task should not be scheduled if its antecedent threw an unhandled
            exception. This option is not valid for multi-task continuations.
            </summary>
        </member>
        <member name="F:System.Threading.Tasks.TaskContinuationOptions.NotOnCanceled">
            <summary>
            Specifies that the continuation task should not be scheduled if its antecedent was canceled. This
            option is not valid for multi-task continuations.
            </summary>
        </member>
        <member name="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnRanToCompletion">
            <summary>
            Specifies that the continuation task should be scheduled only if its antecedent ran to
            completion. This option is not valid for multi-task continuations.
            </summary>
        </member>
        <member name="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnFaulted">
            <summary>
            Specifies that the continuation task should be scheduled only if its antecedent threw an
            unhandled exception. This option is not valid for multi-task continuations.
            </summary>
        </member>
        <member name="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">
            <summary>
            Specifies that the continuation task should be scheduled only if its antecedent was canceled.
            This option is not valid for multi-task continuations.
            </summary>
        </member>
        <member name="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">
            <summary>
            Specifies that the continuation task should be executed synchronously. With this option
            specified, the continuation will be run on the same thread that causes the antecedent task to
            transition into its final state. If the antecedent is already complete when the continuation is
            created, the continuation will run on the thread creating the continuation.  Only very
            short-running continuations should be executed synchronously.
            </summary>
        </member>
        <member name="T:System.Threading.Tasks.TaskCanceledException">
            <summary>
            Represents an exception used to communicate task cancellation.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.TaskCanceledException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskCanceledException"/> class.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.TaskCanceledException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskCanceledException"/>
            class with a specified error message.
            </summary>
            <param name="message">The error message that explains the reason for the exception.</param>
        </member>
        <member name="M:System.Threading.Tasks.TaskCanceledException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskCanceledException"/>
            class with a specified error message and a reference to the inner exception that is the cause of
            this exception.
            </summary>
            <param name="message">The error message that explains the reason for the exception.</param>
            <param name="innerException">The exception that is the cause of the current exception.</param>
        </member>
        <member name="M:System.Threading.Tasks.TaskCanceledException.#ctor(System.Threading.Tasks.Task)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskCanceledException"/> class
            with a reference to the <see cref="T:System.Threading.Tasks.Task"/> that has been canceled.
            </summary>
            <param name="task">A task that has been canceled.</param>
        </member>
        <member name="P:System.Threading.Tasks.TaskCanceledException.Task">
            <summary>
            Gets the task associated with this exception.
            </summary>
            <remarks>
            It is permissible for no Task to be associated with a 
            <see cref="T:System.Threading.Tasks.TaskCanceledException"/>, in which case
            this property will return null.
            </remarks>
        </member>
        <member name="T:System.Threading.Tasks.TaskCompletionSource`1">
            <summary>
            Represents the producer side of a <see cref="T:System.Threading.Tasks.Task{TResult}"/> unbound to a
            delegate, providing access to the consumer side through the <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> property.
            </summary>
            <remarks>
            <para>
            It is often the case that a <see cref="T:System.Threading.Tasks.Task{TResult}"/> is desired to
            represent another asynchronous operation.
            <see cref="T:System.Threading.Tasks.TaskCompletionSource`1">TaskCompletionSource</see> is provided for this purpose. It enables
            the creation of a task that can be handed out to consumers, and those consumers can use the members
            of the task as they would any other. However, unlike most tasks, the state of a task created by a
            TaskCompletionSource is controlled explicitly by the methods on TaskCompletionSource. This enables the
            completion of the external asynchronous operation to be propagated to the underlying Task. The
            separation also ensures that consumers are not able to transition the state without access to the
            corresponding TaskCompletionSource.
            </para>
            <para>
            All members of <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/> are thread-safe
            and may be used from multiple threads concurrently.
            </para>
            </remarks>
            <typeparam name="TResult">The type of the result value assocatied with this <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>.</typeparam>
        </member>
        <member name="M:System.Threading.Tasks.TaskCompletionSource`1.#ctor">
            <summary>
            Creates a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.TaskCompletionSource`1.#ctor(System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Creates a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>
            with the specified options.
            </summary>
            <remarks>
            The <see cref="T:System.Threading.Tasks.Task{TResult}"/> created
            by this instance and accessible through its <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> property
            will be instantiated using the specified <paramref name="creationOptions"/>.
            </remarks>
            <param name="creationOptions">The options to use when creating the underlying
            <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <exception cref="T:ArgumentOutOfRangeException">
            The <paramref name="creationOptions"/> represent options invalid for use
            with a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskCompletionSource`1.#ctor(System.Object)">
            <summary>
            Creates a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>
            with the specified state.
            </summary>
            <param name="state">The state to use as the underlying 
            <see cref="T:System.Threading.Tasks.Task{TResult}"/>'s AsyncState.</param>
        </member>
        <member name="M:System.Threading.Tasks.TaskCompletionSource`1.#ctor(System.Object,System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Creates a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/> with
            the specified state and options.
            </summary>
            <param name="creationOptions">The options to use when creating the underlying
            <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <param name="state">The state to use as the underlying 
            <see cref="T:System.Threading.Tasks.Task{TResult}"/>'s AsyncState.</param>
            <exception cref="T:ArgumentOutOfRangeException">
            The <paramref name="creationOptions"/> represent options invalid for use
            with a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskCompletionSource`1.TrySetException(System.Exception)">
            <summary>
            Attempts to transition the underlying
            <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the 
            <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>
            state.
            </summary>
            <param name="exception">The exception to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <returns>True if the operation was successful; otherwise, false.</returns>
            <remarks>This operation will return false if the 
            <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
            of the three final states:
            <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>, 
            <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
            <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
            </remarks>
            <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null.</exception>
            <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskCompletionSource`1.TrySetException(System.Collections.Generic.IEnumerable{System.Exception})">
            <summary>
            Attempts to transition the underlying
            <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the 
            <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>
            state.
            </summary>
            <param name="exceptions">The collection of exceptions to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <returns>True if the operation was successful; otherwise, false.</returns>
            <remarks>This operation will return false if the 
            <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
            of the three final states:
            <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>, 
            <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
            <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
            </remarks>
            <exception cref="T:System.ArgumentNullException">The <paramref name="exceptions"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">There are one or more null elements in <paramref name="exceptions"/>.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="exceptions"/> collection is empty.</exception>
            <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskCompletionSource`1.SetException(System.Exception)">
            <summary>
            Transitions the underlying
            <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the 
            <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>
            state.
            </summary>
            <param name="exception">The exception to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null.</exception>
            <exception cref="T:System.InvalidOperationException">
            The underlying <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
            of the three final states:
            <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>, 
            <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
            <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskCompletionSource`1.SetException(System.Collections.Generic.IEnumerable{System.Exception})">
            <summary>
            Transitions the underlying
            <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the 
            <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>
            state.
            </summary>
            <param name="exceptions">The collection of exceptions to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="exceptions"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">There are one or more null elements in <paramref name="exceptions"/>.</exception>
            <exception cref="T:System.InvalidOperationException">
            The underlying <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
            of the three final states:
            <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>, 
            <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
            <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskCompletionSource`1.TrySetResult(`0)">
            <summary>
            Attempts to transition the underlying
            <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the 
            <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>
            state.
            </summary>
            <param name="result">The result value to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <returns>True if the operation was successful; otherwise, false.</returns>
            <remarks>This operation will return false if the 
            <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
            of the three final states:
            <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>, 
            <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
            <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
            </remarks>
            <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskCompletionSource`1.SetResult(`0)">
            <summary>
            Transitions the underlying
            <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the 
            <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>
            state.
            </summary>
            <param name="result">The result value to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <exception cref="T:System.InvalidOperationException">
            The underlying <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
            of the three final states:
            <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>, 
            <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
            <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskCompletionSource`1.SetCanceled">
            <summary>
            Transitions the underlying
            <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the 
            <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>
            state.
            </summary>
            <exception cref="T:System.InvalidOperationException">
            The underlying <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
            of the three final states:
            <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>, 
            <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
            <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskCompletionSource`1.TrySetCanceled">
            <summary>
            Attempts to transition the underlying
            <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the 
            <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>
            state.
            </summary>
            <returns>True if the operation was successful; otherwise, false.</returns>
            <remarks>This operation will return false if the 
            <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
            of the three final states:
            <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>, 
            <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
            <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
            </remarks>
            <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
        </member>
        <member name="P:System.Threading.Tasks.TaskCompletionSource`1.Task">
            <summary>
            Gets the <see cref="T:System.Threading.Tasks.Task{TResult}"/> created
            by this <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>.
            </summary>
            <remarks>
            This property enables a consumer access to the <see cref="T:System.Threading.Tasks.Task{TResult}"/> that is controlled by this instance.
            The <see cref="M:System.Threading.Tasks.TaskCompletionSource`1.SetResult(`0)"/>, <see cref="M:System.Threading.Tasks.TaskCompletionSource`1.SetException(System.Exception)"/>,
            <see cref="M:System.Threading.Tasks.TaskCompletionSource`1.SetException(System.Collections.Generic.IEnumerable{System.Exception})"/>, and <see cref="M:System.Threading.Tasks.TaskCompletionSource`1.SetCanceled"/>
            methods (and their "Try" variants) on this instance all result in the relevant state
            transitions on this underlying Task.
            </remarks>
        </member>
        <member name="T:System.Threading.Tasks.TaskExceptionHolder">
            <summary>
            An exception holder manages a list of exceptions for one particular task.
            It offers the ability to aggregate, but more importantly, also offers intrinsic
            support for propagating unhandled exceptions that are never observed. It does
            this by aggregating and throwing if the holder is ever GC'd without the holder's
            contents ever having been requested (e.g. by a Task.Wait, Task.get_Exception, etc).
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.TaskExceptionHolder.#ctor(System.Threading.Tasks.Task)">
            <summary>
            Creates a new holder; it will be registered for finalization.
            </summary>
            <param name="task">The task this holder belongs to.</param>
        </member>
        <member name="M:System.Threading.Tasks.TaskExceptionHolder.Finalize">
            <summary>
            A finalizer that repropagates unhandled exceptions.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.TaskExceptionHolder.Add(System.Object)">
            <summary>
            Add an exception to the internal list.  This will ensure the holder is
            in the proper state (handled/unhandled) depending on the list's contents.
            </summary>
            <param name="exceptionObject">An exception object (either an Exception or an 
            IEnumerable{Exception}) to add to the list.</param>
        </member>
        <member name="M:System.Threading.Tasks.TaskExceptionHolder.MarkAsUnhandled">
            <summary>
            A private helper method that ensures the holder is considered
            unhandled, i.e. it is registered for finalization.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.TaskExceptionHolder.MarkAsHandled(System.Boolean)">
            <summary>
            A private helper method that ensures the holder is considered
            handled, i.e. it is not registered for finalization.
            </summary>
            <param name="calledFromFinalizer">Whether this is called from the finalizer thread.</param> 
        </member>
        <member name="M:System.Threading.Tasks.TaskExceptionHolder.CreateExceptionObject(System.Boolean,System.Exception)">
            <summary>
            Allocates a new aggregate exception and adds the contents of the list to
            it. By calling this method, the holder assumes exceptions to have been
            "observed", such that the finalization check will be subsequently skipped.
            </summary>
            <param name="calledFromFinalizer">Whether this is being called from a finalizer.</param>
            <param name="includeThisException">An extra exception to be included (optionally).</param>
            <returns>The aggregate exception to throw.</returns>
        </member>
        <member name="T:System.Threading.Tasks.TaskExtensions">
            <summary>
            Provides a set of static (Shared in Visual Basic) methods for working with specific kinds of 
            <see cref="T:System.Threading.Tasks.Task"/> instances.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.TaskExtensions.Unwrap(System.Threading.Tasks.Task{System.Threading.Tasks.Task})">
            <summary>
            Creates a proxy <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the 
            asynchronous operation of a Task{Task}.
            </summary>
            <remarks>
            It is often useful to be able to return a Task from a <see cref="T:System.Threading.Tasks.Task`1">
            Task{TResult}</see>, where the inner Task represents work done as part of the outer Task{TResult}.  However, 
            doing so results in a Task{Task}, which, if not dealt with carefully, could produce unexpected behavior.  Unwrap 
            solves this problem by creating a proxy Task that represents the entire asynchronous operation of such a Task{Task}.
            </remarks>
            <param name="task">The Task{Task} to unwrap.</param>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown if the 
            <paramref name="task"/> argument is null.</exception>
            <returns>A Task that represents the asynchronous operation of the provided Task{Task}.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskExtensions.Unwrap``1(System.Threading.Tasks.Task{System.Threading.Tasks.Task{``0}})">
            <summary>
            Creates a proxy <see cref="T:System.Threading.Tasks.Task`1">Task{TResult}</see> that represents the 
            asynchronous operation of a Task{Task{TResult}}.
            </summary>
            <remarks>
            It is often useful to be able to return a Task{TResult} from a Task{TResult}, where the inner Task{TResult} 
            represents work done as part of the outer Task{TResult}.  However, doing so results in a Task{Task{TResult}}, 
            which, if not dealt with carefully, could produce unexpected behavior.  Unwrap solves this problem by 
            creating a proxy Task{TResult} that represents the entire asynchronous operation of such a Task{Task{TResult}}.
            </remarks>
            <param name="task">The Task{Task{TResult}} to unwrap.</param>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown if the 
            <paramref name="task"/> argument is null.</exception>
            <returns>A Task{TResult} that represents the asynchronous operation of the provided Task{Task{TResult}}.</returns>        /// <summary>Unwraps a Task that returns another Task.</summary>
        </member>
        <member name="T:System.Threading.Tasks.TaskFactory">
            <summary>
            Provides support for creating and scheduling
            <see cref="T:System.Threading.Tasks.Task">Tasks</see>.
            </summary>
            <remarks>
            <para>
            There are many common patterns for which tasks are relevant. The <see cref="T:System.Threading.Tasks.TaskFactory"/>
            class encodes some of these patterns into methods that pick up default settings, which are
            configurable through its constructors.
            </para>
            <para>
            A default instance of <see cref="T:System.Threading.Tasks.TaskFactory"/> is available through the
            <see cref="P:System.Threading.Tasks.Task.Factory">Task.Factory</see> property.
            </para>
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.#ctor">
            <summary>
            Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the default configuration.
            </summary>
            <remarks>
            This constructor creates a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with a default configuration. The
            <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
            <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
            <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
            and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
            initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.#ctor(System.Threading.CancellationToken)">
            <summary>
            Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the specified configuration.
            </summary>
            <param name="cancellationToken">The default <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned 
            to tasks created by this <see cref="T:System.Threading.Tasks.TaskFactory"/> unless another CancellationToken is explicitly specified 
            while calling the factory methods.</param>
            <remarks>
            This constructor creates a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with a default configuration. The
            <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
            <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
            <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
            and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
            initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.#ctor(System.Threading.Tasks.TaskScheduler)">
            <summary>
            Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the specified configuration.
            </summary>
            <param name="scheduler">
            The <see cref="T:System.Threading.Tasks.TaskScheduler">
            TaskScheduler</see> to use to schedule any tasks created with this TaskFactory. A null value
            indicates that the current TaskScheduler should be used.
            </param>
            <remarks>
            With this constructor, the
            <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
            <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
            <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
            and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
            initialized to <paramref name="scheduler"/>, unless it's null, in which case the property is
            initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.#ctor(System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions)">
            <summary>
            Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the specified configuration.
            </summary>
            <param name="creationOptions">
            The default <see cref="T:System.Threading.Tasks.TaskCreationOptions">
            TaskCreationOptions</see> to use when creating tasks with this TaskFactory.
            </param>
            <param name="continuationOptions">
            The default <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
            TaskContinuationOptions</see> to use when creating continuation tasks with this TaskFactory.
            </param>
            <exception cref="T:ArgumentOutOfRangeException">
            The exception that is thrown when the
            <paramref name="creationOptions"/> argument or the <paramref name="continuationOptions"/>
            argument specifies an invalid value.
            </exception>
            <remarks>
            With this constructor, the
            <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to <paramref name="creationOptions"/>,
            the
            <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <paramref name="continuationOptions"/>, and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is initialized to the
            current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.#ctor(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
            <summary>
            Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the specified configuration.
            </summary>
            <param name="cancellationToken">The default <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned 
            to tasks created by this <see cref="T:System.Threading.Tasks.TaskFactory"/> unless another CancellationToken is explicitly specified 
            while calling the factory methods.</param>
            <param name="creationOptions">
            The default <see cref="T:System.Threading.Tasks.TaskCreationOptions">
            TaskCreationOptions</see> to use when creating tasks with this TaskFactory.
            </param>
            <param name="continuationOptions">
            The default <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
            TaskContinuationOptions</see> to use when creating continuation tasks with this TaskFactory.
            </param>
            <param name="scheduler">
            The default <see cref="T:System.Threading.Tasks.TaskScheduler">
            TaskScheduler</see> to use to schedule any Tasks created with this TaskFactory. A null value
            indicates that TaskScheduler.Current should be used.
            </param>
            <exception cref="T:ArgumentOutOfRangeException">
            The exception that is thrown when the
            <paramref name="creationOptions"/> argument or the <paramref name="continuationOptions"/>
            argumentspecifies an invalid value.
            </exception>
            <remarks>
            With this constructor, the
            <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to <paramref name="creationOptions"/>,
            the
            <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <paramref name="continuationOptions"/>, and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is initialized to
            <paramref name="scheduler"/>, unless it's null, in which case the property is initialized to the
            current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action)">
            <summary>
            Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
            </summary>
            <param name="action">The action delegate to execute asynchronously.</param>
            <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/> 
            argument is null.</exception>
            <remarks>
            Calling StartNew is functionally equivalent to creating a Task using one of its constructors 
            and then calling 
            <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.  However,
            unless creation and scheduling must be separated, StartNew is the recommended
            approach for both simplicity and performance.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action,System.Threading.CancellationToken)">
            <summary>
            Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
            </summary>
            <param name="action">The action delegate to execute asynchronously.</param>
            <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new task.</param>
            <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/> 
            argument is null.</exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
            <remarks>
            Calling StartNew is functionally equivalent to creating a Task using one of its constructors 
            and then calling 
            <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.  However,
            unless creation and scheduling must be separated, StartNew is the recommended
            approach for both simplicity and performance.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action,System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
            </summary>
            <param name="action">The action delegate to execute asynchronously.</param>
            <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
            created
            <see cref="T:System.Threading.Tasks.Task">Task.</see></param>
            <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
            argument is null.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
            value.</exception>
            <remarks>
            Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
            then calling
            <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
            However, unless creation and scheduling must be separated, StartNew is the recommended approach
            for both simplicity and performance.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
            <summary>
            Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
            </summary>
            <param name="action">The action delegate to execute asynchronously.</param>
            <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new <see cref="T:System.Threading.Tasks.Task"/></param>
            <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
            created
            <see cref="T:System.Threading.Tasks.Task">Task.</see></param>
            <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
            that is used to schedule the created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
            <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
            argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
            argument is null.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
            value.</exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
            <remarks>
            Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
            then calling
            <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
            However, unless creation and scheduling must be separated, StartNew is the recommended approach
            for both simplicity and performance.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action{System.Object},System.Object)">
            <summary>
            Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
            </summary>
            <param name="action">The action delegate to execute asynchronously.</param>
            <param name="state">An object containing data to be used by the <paramref name="action"/>
            delegate.</param>
            <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
            argument is null.</exception>
            <remarks>
            Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
            then calling
            <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
            However, unless creation and scheduling must be separated, StartNew is the recommended approach
            for both simplicity and performance.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action{System.Object},System.Object,System.Threading.CancellationToken)">
            <summary>
            Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
            </summary>
            <param name="action">The action delegate to execute asynchronously.</param>
            <param name="state">An object containing data to be used by the <paramref name="action"/>
            delegate.</param>
            <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new <see cref="T:System.Threading.Tasks.Task"/></param>
            <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
            argument is null.</exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
            <remarks>
            Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
            then calling
            <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
            However, unless creation and scheduling must be separated, StartNew is the recommended approach
            for both simplicity and performance.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action{System.Object},System.Object,System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
            </summary>
            <param name="action">The action delegate to execute asynchronously.</param>
            <param name="state">An object containing data to be used by the <paramref name="action"/>
            delegate.</param>
            <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
            created
            <see cref="T:System.Threading.Tasks.Task">Task.</see></param>
            <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
            argument is null.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
            value.</exception>
            <remarks>
            Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
            then calling
            <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
            However, unless creation and scheduling must be separated, StartNew is the recommended approach
            for both simplicity and performance.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action{System.Object},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
            <summary>
            Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
            </summary>
            <param name="action">The action delegate to execute asynchronously.</param>
            <param name="state">An object containing data to be used by the <paramref name="action"/>
            delegate.</param>
            <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new task.</param>
            <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
            created
            <see cref="T:System.Threading.Tasks.Task">Task.</see></param>
            <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
            that is used to schedule the created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
            <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
            argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
            argument is null.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
            value.</exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
            <remarks>
            Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
            then calling
            <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
            However, unless creation and scheduling must be separated, StartNew is the recommended approach
            for both simplicity and performance.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{``0})">
            <summary>
            Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
            </summary>
            <typeparam name="TResult">The type of the result available through the
            <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
            </typeparam>
            <param name="function">A function delegate that returns the future result to be available through
            the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
            argument is null.</exception>
            <remarks>
            Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
            of its constructors and then calling
            <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
            However, unless creation and scheduling must be separated, StartNew is the recommended approach
            for both simplicity and performance.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{``0},System.Threading.CancellationToken)">
            <summary>
            Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
            </summary>
            <typeparam name="TResult">The type of the result available through the
            <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
            </typeparam>
            <param name="function">A function delegate that returns the future result to be available through
            the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new <see cref="T:System.Threading.Tasks.Task"/></param>
            <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
            argument is null.</exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
            <remarks>
            Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
            of its constructors and then calling
            <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
            However, unless creation and scheduling must be separated, StartNew is the recommended approach
            for both simplicity and performance.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{``0},System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
            </summary>
            <typeparam name="TResult">The type of the result available through the
            <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
            </typeparam>
            <param name="function">A function delegate that returns the future result to be available through
            the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
            created
            <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
            argument is null.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
            value.</exception>
            <remarks>
            Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
            of its constructors and then calling
            <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
            However, unless creation and scheduling must be separated, StartNew is the recommended approach
            for both simplicity and performance.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{``0},System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
            <summary>
            Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
            </summary>
            <typeparam name="TResult">The type of the result available through the
            <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
            </typeparam>
            <param name="function">A function delegate that returns the future result to be available through
            the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new task.</param>
            <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
            created
            <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
            that is used to schedule the created <see cref="T:System.Threading.Tasks.Task{TResult}">
            Task{TResult}</see>.</param>
            <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
            argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
            argument is null.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
            value.</exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
            <remarks>
            Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
            of its constructors and then calling
            <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
            However, unless creation and scheduling must be separated, StartNew is the recommended approach
            for both simplicity and performance.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{System.Object,``0},System.Object)">
            <summary>
            Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
            </summary>
            <typeparam name="TResult">The type of the result available through the
            <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
            </typeparam>
            <param name="function">A function delegate that returns the future result to be available through
            the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <param name="state">An object containing data to be used by the <paramref name="function"/>
            delegate.</param>
            <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
            argument is null.</exception>
            <remarks>
            Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
            of its constructors and then calling
            <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
            However, unless creation and scheduling must be separated, StartNew is the recommended approach
            for both simplicity and performance.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{System.Object,``0},System.Object,System.Threading.CancellationToken)">
            <summary>
            Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
            </summary>
            <typeparam name="TResult">The type of the result available through the
            <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
            </typeparam>
            <param name="function">A function delegate that returns the future result to be available through
            the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <param name="state">An object containing data to be used by the <paramref name="function"/>
            delegate.</param>
            <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new <see cref="T:System.Threading.Tasks.Task"/></param>
            <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
            argument is null.</exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
            <remarks>
            Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
            of its constructors and then calling
            <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
            However, unless creation and scheduling must be separated, StartNew is the recommended approach
            for both simplicity and performance.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{System.Object,``0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
            </summary>
            <typeparam name="TResult">The type of the result available through the
            <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
            </typeparam>
            <param name="function">A function delegate that returns the future result to be available through
            the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <param name="state">An object containing data to be used by the <paramref name="function"/>
            delegate.</param>
            <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
            created
            <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
            argument is null.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
            value.</exception>
            <remarks>
            Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
            of its constructors and then calling
            <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
            However, unless creation and scheduling must be separated, StartNew is the recommended approach
            for both simplicity and performance.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{System.Object,``0},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
            <summary>
            Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
            </summary>
            <typeparam name="TResult">The type of the result available through the
            <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
            </typeparam>
            <param name="function">A function delegate that returns the future result to be available through
            the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <param name="state">An object containing data to be used by the <paramref name="function"/>
            delegate.</param>
            <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new task.</param>
            <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
            created
            <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
            that is used to schedule the created <see cref="T:System.Threading.Tasks.Task{TResult}">
            Task{TResult}</see>.</param>
            <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
            argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
            argument is null.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
            value.</exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
            <remarks>
            Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
            of its constructors and then calling
            <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
            However, unless creation and scheduling must be separated, StartNew is the recommended approach
            for both simplicity and performance.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.IAsyncResult,System.Action{System.IAsyncResult})">
            <summary>
            Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that executes an end method action
            when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
            </summary>
            <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
            <paramref name="endMethod"/>.</param>
            <param name="endMethod">The action delegate that processes the completed <paramref
            name="asyncResult"/>.</param>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="asyncResult"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="endMethod"/> argument is null.</exception>
            <returns>A <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous
            operation.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.IAsyncResult,System.Action{System.IAsyncResult},System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that executes an end method action
            when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
            </summary>
            <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
            <paramref name="endMethod"/>.</param>
            <param name="endMethod">The action delegate that processes the completed <paramref
            name="asyncResult"/>.</param>
            <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
            created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="asyncResult"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="endMethod"/> argument is null.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
            value.</exception>
            <returns>A <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous
            operation.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.IAsyncResult,System.Action{System.IAsyncResult},System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
            <summary>
            Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that executes an end method action
            when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
            </summary>
            <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
            <paramref name="endMethod"/>.</param>
            <param name="endMethod">The action delegate that processes the completed <paramref name="asyncResult"/>.</param>
            <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
            that is used to schedule the task that executes the end method.</param>
            <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
            created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="asyncResult"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="endMethod"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="scheduler"/> argument is null.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
            value.</exception>
            <returns>A <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous
            operation.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},System.Object)">
            <summary>
            Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
            and end methods that conform to the Asynchronous Programming Model pattern.
            </summary>
            <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
            <param name="endMethod">The delegate that ends the asynchronous operation.</param>
            <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
            delegate.</param>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="beginMethod"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="endMethod"/> argument is null.</exception>
            <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
            asynchronous operation.</returns>
            <remarks>
            This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},System.Object,System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
            and end methods that conform to the Asynchronous Programming Model pattern.
            </summary>
            <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
            <param name="endMethod">The delegate that ends the asynchronous operation.</param>
            <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
            created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
            <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
            delegate.</param>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="beginMethod"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="endMethod"/> argument is null.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
            value.</exception>
            <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
            asynchronous operation.</returns>
            <remarks>
            This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,System.Object)">
            <summary>
            Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
            and end methods that conform to the Asynchronous Programming Model pattern.
            </summary>
            <typeparam name="TArg1">The type of the first argument passed to the <paramref
            name="beginMethod"/>
            delegate.</typeparam>
            <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
            <param name="endMethod">The delegate that ends the asynchronous operation.</param>
            <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
            delegate.</param>
            <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
            delegate.</param>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="beginMethod"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="endMethod"/> argument is null.</exception>
            <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
            asynchronous operation.</returns>
            <remarks>
            This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,System.Object,System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
            and end methods that conform to the Asynchronous Programming Model pattern.
            </summary>
            <typeparam name="TArg1">The type of the first argument passed to the <paramref
            name="beginMethod"/>
            delegate.</typeparam>
            <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
            <param name="endMethod">The delegate that ends the asynchronous operation.</param>
            <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
            delegate.</param>
            <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
            created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
            <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
            delegate.</param>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="beginMethod"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="endMethod"/> argument is null.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
            value.</exception>
            <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
            asynchronous operation.</returns>
            <remarks>
            This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``2(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,``1,System.Object)">
            <summary>
            Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
            and end methods that conform to the Asynchronous Programming Model pattern.
            </summary>
            <typeparam name="TArg1">The type of the first argument passed to the <paramref
            name="beginMethod"/>
            delegate.</typeparam>
            <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
            delegate.</typeparam>
            <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
            <param name="endMethod">The delegate that ends the asynchronous operation.</param>
            <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
            delegate.</param>
            <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
            delegate.</param>
            <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
            delegate.</param>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="beginMethod"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="endMethod"/> argument is null.</exception>
            <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
            asynchronous operation.</returns>
            <remarks>
            This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``2(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,``1,System.Object,System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
            and end methods that conform to the Asynchronous Programming Model pattern.
            </summary>
            <typeparam name="TArg1">The type of the first argument passed to the <paramref
            name="beginMethod"/>
            delegate.</typeparam>
            <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
            delegate.</typeparam>
            <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
            <param name="endMethod">The delegate that ends the asynchronous operation.</param>
            <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
            delegate.</param>
            <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
            delegate.</param>
            <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
            created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
            <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
            delegate.</param>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="beginMethod"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="endMethod"/> argument is null.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
            value.</exception>
            <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
            asynchronous operation.</returns>
            <remarks>
            This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``3(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,``1,``2,System.Object)">
            <summary>
            Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
            and end methods that conform to the Asynchronous Programming Model pattern.
            </summary>
            <typeparam name="TArg1">The type of the first argument passed to the <paramref
            name="beginMethod"/>
            delegate.</typeparam>
            <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
            delegate.</typeparam>
            <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
            delegate.</typeparam>
            <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
            <param name="endMethod">The delegate that ends the asynchronous operation.</param>
            <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
            delegate.</param>
            <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
            delegate.</param>
            <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
            delegate.</param>
            <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
            delegate.</param>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="beginMethod"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="endMethod"/> argument is null.</exception>
            <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
            asynchronous operation.</returns>
            <remarks>
            This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``3(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,``1,``2,System.Object,System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
            and end methods that conform to the Asynchronous Programming Model pattern.
            </summary>
            <typeparam name="TArg1">The type of the first argument passed to the <paramref
            name="beginMethod"/>
            delegate.</typeparam>
            <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
            delegate.</typeparam>
            <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
            delegate.</typeparam>
            <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
            <param name="endMethod">The delegate that ends the asynchronous operation.</param>
            <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
            delegate.</param>
            <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
            delegate.</param>
            <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
            delegate.</param>
            <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
            created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
            <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
            delegate.</param>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="beginMethod"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="endMethod"/> argument is null.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
            value.</exception>
            <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
            asynchronous operation.</returns>
            <remarks>
            This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.IAsyncResult,System.Func{System.IAsyncResult,``0})">
            <summary>
            Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
            method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
            </summary>
            <typeparam name="TResult">The type of the result available through the
            <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
            </typeparam>
            <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
            <paramref name="endMethod"/>.</param>
            <param name="endMethod">The function delegate that processes the completed <paramref
            name="asyncResult"/>.</param>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="asyncResult"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="endMethod"/> argument is null.</exception>
            <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
            asynchronous operation.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.IAsyncResult,System.Func{System.IAsyncResult,``0},System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
            method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
            </summary>
            <typeparam name="TResult">The type of the result available through the
            <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
            </typeparam>
            <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
            <paramref name="endMethod"/>.</param>
            <param name="endMethod">The function delegate that processes the completed <paramref
            name="asyncResult"/>.</param>
            <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
            created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="asyncResult"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="endMethod"/> argument is null.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
            value.</exception>
            <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
            asynchronous operation.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.IAsyncResult,System.Func{System.IAsyncResult,``0},System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
            <summary>
            Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
            method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
            </summary>
            <typeparam name="TResult">The type of the result available through the
            <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
            </typeparam>
            <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
            <paramref name="endMethod"/>.</param>
            <param name="endMethod">The function delegate that processes the completed <paramref name="asyncResult"/>.</param>
            <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
            that is used to schedule the task that executes the end method.</param>
            <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
            created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="asyncResult"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="endMethod"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="scheduler"/> argument is null.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
            value.</exception>
            <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
            asynchronous operation.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``0},System.Object)">
            <summary>
            Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
            begin and end methods that conform to the Asynchronous Programming Model pattern.
            </summary>
            <typeparam name="TResult">The type of the result available through the
            <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
            </typeparam>
            <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
            <param name="endMethod">The delegate that ends the asynchronous operation.</param>
            <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
            delegate.</param>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="beginMethod"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="endMethod"/> argument is null.</exception>
            <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
            represents the asynchronous operation.</returns>
            <remarks>
            This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
            begin and end methods that conform to the Asynchronous Programming Model pattern.
            </summary>
            <typeparam name="TResult">The type of the result available through the
            <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
            </typeparam>
            <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
            <param name="endMethod">The delegate that ends the asynchronous operation.</param>
            <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
            created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
            <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
            delegate.</param>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="beginMethod"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="endMethod"/> argument is null.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
            value.</exception>
            <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
            represents the asynchronous operation.</returns>
            <remarks>
            This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``2(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``1},``0,System.Object)">
            <summary>
            Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
            begin and end methods that conform to the Asynchronous Programming Model pattern.
            </summary>
            <typeparam name="TArg1">The type of the first argument passed to the <paramref
            name="beginMethod"/> delegate.</typeparam>
            <typeparam name="TResult">The type of the result available through the
            <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
            </typeparam>
            <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
            <param name="endMethod">The delegate that ends the asynchronous operation.</param>
            <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
            delegate.</param>
            <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
            delegate.</param>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="beginMethod"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="endMethod"/> argument is null.</exception>
            <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
            represents the asynchronous operation.</returns>
            <remarks>
            This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``2(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``1},``0,System.Object,System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
            begin and end methods that conform to the Asynchronous Programming Model pattern.
            </summary>
            <typeparam name="TArg1">The type of the first argument passed to the <paramref
            name="beginMethod"/> delegate.</typeparam>
            <typeparam name="TResult">The type of the result available through the
            <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
            </typeparam>
            <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
            <param name="endMethod">The delegate that ends the asynchronous operation.</param>
            <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
            delegate.</param>
            <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
            created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
            <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
            delegate.</param>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="beginMethod"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="endMethod"/> argument is null.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
            value.</exception>
            <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
            represents the asynchronous operation.</returns>
            <remarks>
            This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``3(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``2},``0,``1,System.Object)">
            <summary>
            Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
            begin and end methods that conform to the Asynchronous Programming Model pattern.
            </summary>
            <typeparam name="TArg1">The type of the first argument passed to the <paramref
            name="beginMethod"/> delegate.</typeparam>
            <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
            delegate.</typeparam>
            <typeparam name="TResult">The type of the result available through the
            <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
            </typeparam>
            <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
            <param name="endMethod">The delegate that ends the asynchronous operation.</param>
            <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
            delegate.</param>
            <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
            delegate.</param>
            <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
            delegate.</param>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="beginMethod"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="endMethod"/> argument is null.</exception>
            <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
            represents the asynchronous operation.</returns>
            <remarks>
            This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``3(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``2},``0,``1,System.Object,System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
            begin and end methods that conform to the Asynchronous Programming Model pattern.
            </summary>
            <typeparam name="TArg1">The type of the first argument passed to the <paramref
            name="beginMethod"/> delegate.</typeparam>
            <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
            delegate.</typeparam>
            <typeparam name="TResult">The type of the result available through the
            <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
            </typeparam>
            <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
            <param name="endMethod">The delegate that ends the asynchronous operation.</param>
            <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
            delegate.</param>
            <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
            delegate.</param>
            <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
            created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
            <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
            delegate.</param>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="beginMethod"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="endMethod"/> argument is null.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
            value.</exception>
            <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
            represents the asynchronous operation.</returns>
            <remarks>
            This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``4(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``3},``0,``1,``2,System.Object)">
            <summary>
            Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
            begin and end methods that conform to the Asynchronous Programming Model pattern.
            </summary>
            <typeparam name="TArg1">The type of the first argument passed to the <paramref
            name="beginMethod"/> delegate.</typeparam>
            <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
            delegate.</typeparam>
            <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
            delegate.</typeparam>
            <typeparam name="TResult">The type of the result available through the
            <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
            </typeparam>
            <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
            <param name="endMethod">The delegate that ends the asynchronous operation.</param>
            <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
            delegate.</param>
            <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
            delegate.</param>
            <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
            delegate.</param>
            <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
            delegate.</param>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="beginMethod"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="endMethod"/> argument is null.</exception>
            <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
            represents the asynchronous operation.</returns>
            <remarks>
            This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``4(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``3},``0,``1,``2,System.Object,System.Threading.Tasks.TaskCreationOptions)">
            <summary>
            Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
            begin and end methods that conform to the Asynchronous Programming Model pattern.
            </summary>
            <typeparam name="TArg1">The type of the first argument passed to the <paramref
            name="beginMethod"/> delegate.</typeparam>
            <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
            delegate.</typeparam>
            <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
            delegate.</typeparam>
            <typeparam name="TResult">The type of the result available through the
            <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
            </typeparam>
            <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
            <param name="endMethod">The delegate that ends the asynchronous operation.</param>
            <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
            delegate.</param>
            <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
            delegate.</param>
            <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
            delegate.</param>
            <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
            created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
            <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
            delegate.</param>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="beginMethod"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="endMethod"/> argument is null.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
            value.</exception>
            <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
            represents the asynchronous operation.</returns>
            <remarks>
            This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.CheckFromAsyncOptions(System.Threading.Tasks.TaskCreationOptions,System.Boolean)">
            <summary>
            Check validity of options passed to FromAsync method
            </summary>
            <param name="creationOptions">The options to be validated.</param>
            <param name="hasBeginMethod">determines type of FromAsync method that called this method</param>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task[]})">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see> 
            that will be started upon the completion of a set of provided Tasks.
            </summary>
            <param name="tasks">The array of tasks from which to continue.</param>
            <param name="continuationAction">The action delegate to execute when all tasks in 
            the <paramref name="tasks"/> array have completed.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the 
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the 
            <paramref name="continuationAction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the 
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the 
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task[]},System.Threading.CancellationToken)">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see> 
            that will be started upon the completion of a set of provided Tasks.
            </summary>
            <param name="tasks">The array of tasks from which to continue.</param>
            <param name="continuationAction">The action delegate to execute when all tasks in 
            the <paramref name="tasks"/> array have completed.</param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see> 
            that will be assigned to the new continuation task.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the 
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the 
            <paramref name="continuationAction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the 
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the 
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task[]},System.Threading.Tasks.TaskContinuationOptions)">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
            that will be started upon the completion of a set of provided Tasks.
            </summary>
            <param name="tasks">The array of tasks from which to continue.</param>
            <param name="continuationAction">The action delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
            <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
            TaskContinuationOptions</see> value that controls the behavior of
            the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationAction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
            value.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
            <remarks>
            The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>, 
            which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation 
            will be executed, are illegal with ContinueWhenAll.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task[]},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
            that will be started upon the completion of a set of provided Tasks.
            </summary>
            <param name="tasks">The array of tasks from which to continue.</param>
            <param name="continuationAction">The action delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see> 
            that will be assigned to the new continuation task.</param>
            <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
            TaskContinuationOptions</see> value that controls the behavior of
            the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
            <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
            that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationAction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="scheduler"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
            value.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
            <remarks>
            The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>, 
            which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation 
            will be executed, are illegal with ContinueWhenAll.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}[]})">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see> 
            that will be started upon the completion of a set of provided Tasks.
            </summary>
            <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
            <param name="tasks">The array of tasks from which to continue.</param>
            <param name="continuationAction">The action delegate to execute when all tasks in 
            the <paramref name="tasks"/> array have completed.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the 
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the 
            <paramref name="continuationAction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the 
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the 
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}[]},System.Threading.CancellationToken)">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see> 
            that will be started upon the completion of a set of provided Tasks.
            </summary>
            <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
            <param name="tasks">The array of tasks from which to continue.</param>
            <param name="continuationAction">The action delegate to execute when all tasks in 
            the <paramref name="tasks"/> array have completed.</param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see> 
            that will be assigned to the new continuation task.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the 
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the 
            <paramref name="continuationAction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the 
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the 
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}[]},System.Threading.Tasks.TaskContinuationOptions)">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
            that will be started upon the completion of a set of provided Tasks.
            </summary>
            <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
            <param name="tasks">The array of tasks from which to continue.</param>
            <param name="continuationAction">The action delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
            <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
            TaskContinuationOptions</see> value that controls the behavior of
            the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationAction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
            value.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
            <remarks>
            The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>, 
            which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation 
            will be executed, are illegal with ContinueWhenAll.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}[]},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
            that will be started upon the completion of a set of provided Tasks.
            </summary>
            <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
            <param name="tasks">The array of tasks from which to continue.</param>
            <param name="continuationAction">The action delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see> 
            that will be assigned to the new continuation task.</param>
            <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
            TaskContinuationOptions</see> value that controls the behavior of
            the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
            <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
            that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationAction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="scheduler"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
            value.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
            <remarks>
            The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>, 
            which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation 
            will be executed, are illegal with ContinueWhenAll.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],``0})">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
            that will be started upon the completion of a set of provided Tasks.
            </summary>
            <typeparam name="TResult">The type of the result that is returned by the <paramref
            name="continuationFunction"/>
            delegate and associated with the created <see
            cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
            <param name="tasks">The array of tasks from which to continue.</param>
            <param name="continuationFunction">The function delegate to execute when all tasks in the
            <paramref name="tasks"/> array have completed.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationFunction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],``0},System.Threading.CancellationToken)">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
            that will be started upon the completion of a set of provided Tasks.
            </summary>
            <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
            delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
            <param name="tasks">The array of tasks from which to continue.</param>
            <param name="continuationFunction">The function delegate to execute when all tasks in the
            <paramref name="tasks"/> array have completed.</param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see> 
            that will be assigned to the new continuation task.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationFunction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],``0},System.Threading.Tasks.TaskContinuationOptions)">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
            that will be started upon the completion of a set of provided Tasks.
            </summary>
            <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
            delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
            <param name="tasks">The array of tasks from which to continue.</param>
            <param name="continuationFunction">The function delegate to execute when all tasks in the
            <paramref name="tasks"/> array have completed.</param>
            <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
            TaskContinuationOptions</see> value that controls the behavior of
            the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationFunction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
            value.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
            <remarks>
            The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>, 
            which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation 
            will be executed, are illegal with ContinueWhenAll.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],``0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
            that will be started upon the completion of a set of provided Tasks.
            </summary>
            <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
            delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
            <param name="tasks">The array of tasks from which to continue.</param>
            <param name="continuationFunction">The function delegate to execute when all tasks in the
            <paramref name="tasks"/> array have completed.</param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see> 
            that will be assigned to the new continuation task.</param>
            <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
            TaskContinuationOptions</see> value that controls the behavior of
            the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
            <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
            that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationFunction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="scheduler"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
            value.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
            <remarks>
            The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>, 
            which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation 
            will be executed, are illegal with ContinueWhenAll.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],``1})">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
            that will be started upon the completion of a set of provided Tasks.
            </summary>
            <typeparam name="TResult">The type of the result that is returned by the <paramref
            name="continuationFunction"/>
            delegate and associated with the created <see
            cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
            <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
            <param name="tasks">The array of tasks from which to continue.</param>
            <param name="continuationFunction">The function delegate to execute when all tasks in the
            <paramref name="tasks"/> array have completed.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationFunction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],``1},System.Threading.CancellationToken)">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
            that will be started upon the completion of a set of provided Tasks.
            </summary>
            <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
            delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
            <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
            <param name="tasks">The array of tasks from which to continue.</param>
            <param name="continuationFunction">The function delegate to execute when all tasks in the
            <paramref name="tasks"/> array have completed.</param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see> 
            that will be assigned to the new continuation task.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationFunction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],``1},System.Threading.Tasks.TaskContinuationOptions)">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
            that will be started upon the completion of a set of provided Tasks.
            </summary>
            <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
            delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
            <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
            <param name="tasks">The array of tasks from which to continue.</param>
            <param name="continuationFunction">The function delegate to execute when all tasks in the
            <paramref name="tasks"/> array have completed.</param>
            <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
            TaskContinuationOptions</see> value that controls the behavior of
            the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationFunction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
            value.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
            <remarks>
            The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>, 
            which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation 
            will be executed, are illegal with ContinueWhenAll.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],``1},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
            that will be started upon the completion of a set of provided Tasks.
            </summary>
            <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
            delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
            <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
            <param name="tasks">The array of tasks from which to continue.</param>
            <param name="continuationFunction">The function delegate to execute when all tasks in the
            <paramref name="tasks"/> array have completed.</param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see> 
            that will be assigned to the new continuation task.</param>
            <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
            TaskContinuationOptions</see> value that controls the behavior of
            the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
            <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
            that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationFunction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="scheduler"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
            value.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
            <remarks>
            The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>, 
            which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation 
            will be executed, are illegal with ContinueWhenAll.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task})">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
            that will be started upon the completion of any Task in the provided set.
            </summary>
            <param name="tasks">The array of tasks from which to continue when one task completes.</param>
            <param name="continuationAction">The action delegate to execute when one task in the <paramref
            name="tasks"/> array completes.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationAction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task},System.Threading.CancellationToken)">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
            that will be started upon the completion of any Task in the provided set.
            </summary>
            <param name="tasks">The array of tasks from which to continue when one task completes.</param>
            <param name="continuationAction">The action delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see> 
            that will be assigned to the new continuation task.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationAction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task},System.Threading.Tasks.TaskContinuationOptions)">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
            that will be started upon the completion of any Task in the provided set.
            </summary>
            <param name="tasks">The array of tasks from which to continue when one task completes.</param>
            <param name="continuationAction">The action delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
            <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
            TaskContinuationOptions</see> value that controls the behavior of
            the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationAction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
            value.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
            <remarks>
            The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>, 
            which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation 
            will be executed, are illegal with ContinueWhenAny.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
            that will be started upon the completion of any Task in the provided set.
            </summary>
            <param name="tasks">The array of tasks from which to continue when one task completes.</param>
            <param name="continuationAction">The action delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see> 
            that will be assigned to the new continuation task.</param>
            <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
            TaskContinuationOptions</see> value that controls the behavior of
            the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
            <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
            that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationAction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="scheduler"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
            value.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
            <remarks>
            The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>, 
            which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation 
            will be executed, are illegal with ContinueWhenAny.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,``0})">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
            that will be started upon the completion of any Task in the provided set.
            </summary>
            <typeparam name="TResult">The type of the result that is returned by the <paramref
            name="continuationFunction"/>
            delegate and associated with the created <see
            cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
            <param name="tasks">The array of tasks from which to continue when one task completes.</param>
            <param name="continuationFunction">The function delegate to execute when one task in the
            <paramref name="tasks"/> array completes.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationFunction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,``0},System.Threading.CancellationToken)">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
            that will be started upon the completion of any Task in the provided set.
            </summary>
            <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
            delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
            <param name="tasks">The array of tasks from which to continue when one task completes.</param>
            <param name="continuationFunction">The function delegate to execute when one task in the
            <paramref name="tasks"/> array completes.</param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see> 
            that will be assigned to the new continuation task.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationFunction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,``0},System.Threading.Tasks.TaskContinuationOptions)">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
            that will be started upon the completion of any Task in the provided set.
            </summary>
            <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
            delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
            <param name="tasks">The array of tasks from which to continue when one task completes.</param>
            <param name="continuationFunction">The function delegate to execute when one task in the
            <paramref name="tasks"/> array completes.</param>
            <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
            TaskContinuationOptions</see> value that controls the behavior of
            the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationFunction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
            value.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
            <remarks>
            The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>, 
            which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation 
            will be executed, are illegal with ContinueWhenAny.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,``0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
            that will be started upon the completion of any Task in the provided set.
            </summary>
            <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
            delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
            <param name="tasks">The array of tasks from which to continue when one task completes.</param>
            <param name="continuationFunction">The function delegate to execute when one task in the
            <paramref name="tasks"/> array completes.</param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see> 
            that will be assigned to the new continuation task.</param>
            <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
            TaskContinuationOptions</see> value that controls the behavior of
            the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
            <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
            that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationFunction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="scheduler"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
            value.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
            <remarks>
            The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>, 
            which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation 
            will be executed, are illegal with ContinueWhenAny.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},``1})">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
            that will be started upon the completion of any Task in the provided set.
            </summary>
            <typeparam name="TResult">The type of the result that is returned by the <paramref
            name="continuationFunction"/>
            delegate and associated with the created <see
            cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
            <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
            <param name="tasks">The array of tasks from which to continue when one task completes.</param>
            <param name="continuationFunction">The function delegate to execute when one task in the
            <paramref name="tasks"/> array completes.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationFunction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},``1},System.Threading.CancellationToken)">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
            that will be started upon the completion of any Task in the provided set.
            </summary>
            <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
            delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
            <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
            <param name="tasks">The array of tasks from which to continue when one task completes.</param>
            <param name="continuationFunction">The function delegate to execute when one task in the
            <paramref name="tasks"/> array completes.</param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see> 
            that will be assigned to the new continuation task.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationFunction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},``1},System.Threading.Tasks.TaskContinuationOptions)">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
            that will be started upon the completion of any Task in the provided set.
            </summary>
            <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
            delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
            <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
            <param name="tasks">The array of tasks from which to continue when one task completes.</param>
            <param name="continuationFunction">The function delegate to execute when one task in the
            <paramref name="tasks"/> array completes.</param>
            <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
            TaskContinuationOptions</see> value that controls the behavior of
            the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationFunction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
            value.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
            <remarks>
            The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>, 
            which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation 
            will be executed, are illegal with ContinueWhenAny.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},``1},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
            that will be started upon the completion of any Task in the provided set.
            </summary>
            <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
            delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
            <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
            <param name="tasks">The array of tasks from which to continue when one task completes.</param>
            <param name="continuationFunction">The function delegate to execute when one task in the
            <paramref name="tasks"/> array completes.</param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see> 
            that will be assigned to the new continuation task.</param>
            <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
            TaskContinuationOptions</see> value that controls the behavior of
            the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
            <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
            that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationFunction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="scheduler"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
            value.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
            <remarks>
            The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>, 
            which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation 
            will be executed, are illegal with ContinueWhenAny.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}})">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
            that will be started upon the completion of any Task in the provided set.
            </summary>
            <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
            <param name="tasks">The array of tasks from which to continue when one task completes.</param>
            <param name="continuationAction">The action delegate to execute when one task in the
            <paramref name="tasks"/> array completes.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationAction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}},System.Threading.CancellationToken)">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
            that will be started upon the completion of any Task in the provided set.
            </summary>
            <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
            <param name="tasks">The array of tasks from which to continue when one task completes.</param>
            <param name="continuationAction">The action delegate to execute when one task in the
            <paramref name="tasks"/> array completes.</param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see> 
            that will be assigned to the new continuation task.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationAction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}},System.Threading.Tasks.TaskContinuationOptions)">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
            that will be started upon the completion of any Task in the provided set.
            </summary>
            <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
            <param name="tasks">The array of tasks from which to continue when one task completes.</param>
            <param name="continuationAction">The action delegate to execute when one task in the
            <paramref name="tasks"/> array completes.</param>
            <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
            TaskContinuationOptions</see> value that controls the behavior of
            the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationAction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
            value.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
            <remarks>
            The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>, 
            which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation 
            will be executed, are illegal with ContinueWhenAny.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
            <summary>
            Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
            that will be started upon the completion of any Task in the provided set.
            </summary>
            <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
            <param name="tasks">The array of tasks from which to continue when one task completes.</param>
            <param name="continuationAction">The action delegate to execute when one task in the
            <paramref name="tasks"/> array completes.</param>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see> 
            that will be assigned to the new continuation task.</param>
            <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
            TaskContinuationOptions</see> value that controls the behavior of
            the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
            <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
            that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
            <returns>The new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="tasks"/> array is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="continuationAction"/> argument is null.</exception>
            <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
            <paramref name="scheduler"/> argument is null.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array contains a null value.</exception>
            <exception cref="T:System.ArgumentException">The exception that is thrown when the
            <paramref name="tasks"/> array is empty.</exception>
            <exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
            <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
            value.</exception>
            <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one 
            of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
            <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
            has already been disposed.
            </exception>
            <remarks>
            The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>, 
            which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation 
            will be executed, are illegal with ContinueWhenAny.
            </remarks>
        </member>
        <member name="P:System.Threading.Tasks.TaskFactory.CancellationToken">
            <summary>
            Gets the default <see cref="T:System.Threading.CancellationToken">CancellationToken</see> of this
            TaskFactory.
            </summary>
            <remarks>
            This property returns the default <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to all 
            tasks created by this factory unless another CancellationToken value is explicitly specified 
            during the call to the factory methods.
            </remarks>
        </member>
        <member name="P:System.Threading.Tasks.TaskFactory.Scheduler">
            <summary>
            Gets the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> of this
            TaskFactory.
            </summary>
            <remarks>
            This property returns the default scheduler for this factory.  It will be used to schedule all 
            tasks unless another scheduler is explicitly specified during calls to this factory's methods.  
            If null, <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see> 
            will be used.
            </remarks>
        </member>
        <member name="P:System.Threading.Tasks.TaskFactory.CreationOptions">
            <summary>
            Gets the <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions
            </see> value of this TaskFactory.
            </summary>
            <remarks>
            This property returns the default creation options for this factory.  They will be used to create all 
            tasks unless other options are explicitly specified during calls to this factory's methods.
            </remarks>
        </member>
        <member name="P:System.Threading.Tasks.TaskFactory.ContinuationOptions">
            <summary>
            Gets the <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskContinuationOptions
            </see> value of this TaskFactory.
            </summary>
            <remarks>
            This property returns the default continuation options for this factory.  They will be used to create 
            all continuation tasks unless other options are explicitly specified during calls to this factory's methods.
            </remarks>
        </member>
        <member name="T:System.Threading.Tasks.TaskScheduler">
            <summary>
            Represents an abstract scheduler for tasks.
            </summary>
            <remarks>
            <para>
            <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> acts as the extension point for all 
            pluggable scheduling logic.  This includes mechanisms such as how to schedule a task for execution, and
            how scheduled tasks should be exposed to debuggers.
            </para>
            <para>
            All members of the abstract <see cref="T:System.Threading.Tasks.TaskScheduler"/> type are thread-safe
            and may be used from multiple threads concurrently.
            </para>
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskScheduler.QueueTask(System.Threading.Tasks.Task)">
            <summary>
            Queues a <see cref="T:System.Threading.Tasks.Task">Task</see> to the scheduler.
            </summary>
            <remarks>
            <para>
            A class derived from <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>  
            implements this method to accept tasks being scheduled on the scheduler.
            A typical implementation would store the task in an internal data structure, which would
            be serviced by threads that would execute those tasks at some time in the future.
            </para>
            <para>
            This method is only meant to be called by the .NET Framework and
            should not be called directly by the derived class. This is necessary 
            for maintaining the consistency of the system.
            </para>
            </remarks>
            <param name="task">The <see cref="T:System.Threading.Tasks.Task">Task</see> to be queued.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="task"/> argument is null.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)">
            <summary>
            Determines whether the provided <see cref="T:System.Threading.Tasks.Task">Task</see>
            can be executed synchronously in this call, and if it can, executes it.
            </summary>
            <remarks>
            <para>
            A class derived from <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> implements this function to
            support inline execution of a task on a thread that initiates a wait on that task object. Inline
            execution is optional, and the request may be rejected by returning false. However, better
            scalability typically results the more tasks that can be inlined, and in fact a scheduler that
            inlines too little may be prone to deadlocks. A proper implementation should ensure that a
            request executing under the policies guaranteed by the scheduler can successfully inline. For
            example, if a scheduler uses a dedicated thread to execute tasks, any inlining requests from that
            thread should succeed.
            </para>
            <para>
            If a scheduler decides to perform the inline execution, it should do so by calling to the base
            TaskScheduler's
            <see cref="M:System.Threading.Tasks.TaskScheduler.TryExecuteTask(System.Threading.Tasks.Task)">TryExecuteTask</see> method with the provided task object, propagating
            the return value. It may also be appropriate for the scheduler to remove an inlined task from its
            internal data structures if it decides to honor the inlining request. Note, however, that under
            some circumstances a scheduler may be asked to inline a task that was not previously provided to
            it with the <see cref="M:System.Threading.Tasks.TaskScheduler.QueueTask(System.Threading.Tasks.Task)"/> method.
            </para>
            <para>
            The derived scheduler is responsible for making sure that the calling thread is suitable for
            executing the given task as far as its own scheduling and execution policies are concerned.
            </para>
            </remarks>
            <param name="task">The <see cref="T:System.Threading.Tasks.Task">Task</see> to be
            executed.</param>
            <param name="taskWasPreviouslyQueued">A Boolean denoting whether or not task has previously been
            queued. If this parameter is True, then the task may have been previously queued (scheduled); if
            False, then the task is known not to have been queued, and this call is being made in order to
            execute the task inline without queueing it.</param>
            <returns>A Boolean value indicating whether the task was executed inline.</returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="task"/> argument is
            null.</exception>
            <exception cref="T:System.InvalidOperationException">The <paramref name="task"/> was already
            executed.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskScheduler.GetScheduledTasks">
            <summary>
            Generates an enumerable of <see cref="T:System.Threading.Tasks.Task">Task</see> instances
            currently queued to the scheduler waiting to be executed.
            </summary>
            <remarks>
            <para>
            A class derived from <see cref="T:System.Threading.Tasks.TaskScheduler"/> implements this method in order to support
            integration with debuggers. This method will only be invoked by the .NET Framework when the
            debugger requests access to the data. The enumerable returned will be traversed by debugging
            utilities to access the tasks currently queued to this scheduler, enabling the debugger to
            provide a representation of this information in the user interface.
            </para>
            <para>
            It is important to note that, when this method is called, all other threads in the process will
            be frozen. Therefore, it's important to avoid synchronization with other threads that may lead to
            blocking. If synchronization is necessary, the method should prefer to throw a <see cref="T:System.NotSupportedException"/>
            than to block, which could cause a debugger to experience delays. Additionally, this method and
            the enumerable returned must not modify any globally visible state.
            </para>
            <para>
            The returned enumerable should never be null. If there are currently no queued tasks, an empty
            enumerable should be returned instead.
            </para>
            <para>
            For developers implementing a custom debugger, this method shouldn't be called directly, but
            rather this functionality should be accessed through the internal wrapper method
            GetScheduledTasksForDebugger:
            <c>internal Task[] GetScheduledTasksForDebugger()</c>. This method returns an array of tasks,
            rather than an enumerable. In order to retrieve a list of active schedulers, a debugger may use
            another internal method: <c>internal static TaskScheduler[] GetTaskSchedulersForDebugger()</c>.
            This static method returns an array of all active TaskScheduler instances.
            GetScheduledTasksForDebugger then may be used on each of these scheduler instances to retrieve
            the list of scheduled tasks for each.
            </para>
            </remarks>
            <returns>An enumerable that allows traversal of tasks currently queued to this scheduler.
            </returns>
            <exception cref="T:System.NotSupportedException">
            This scheduler is unable to generate a list of queued tasks at this time.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskScheduler.GetThreadStatics">
            <summary>
            Retrieves some thread static state that can be cached and passed to multiple
            TryRunInline calls, avoiding superflous TLS fetches.
            </summary>
            <returns>A bag of TLS state (or null if none exists).</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskScheduler.TryRunInline(System.Threading.Tasks.Task,System.Boolean,System.Object)">
            <summary>
            Attempts to execute the target task synchronously.
            </summary>
            <param name="task">The task to run.</param>
            <param name="taskWasPreviouslyQueued">True if the task may have been previously queued,
            false if the task was absolutely not previously queued.</param>
            <param name="threadStatics">The state retrieved from GetThreadStatics</param>
            <returns>True if it ran, false otherwise.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskScheduler.TryDequeue(System.Threading.Tasks.Task)">
            <summary>
            Attempts to dequeue a <see cref="T:System.Threading.Tasks.Task">Task</see> that was previously queued to
            this scheduler.
            </summary>
            <param name="task">The <see cref="T:System.Threading.Tasks.Task">Task</see> to be dequeued.</param>
            <returns>A Boolean denoting whether the <paramref name="task"/> argument was successfully dequeued.</returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="task"/> argument is null.</exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskScheduler.NotifyWorkItemProgress">
            <summary>
            Notifies the scheduler that a work item has made progress.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.TaskScheduler.#ctor">
            <summary>
            Initializes the <see cref="T:System.Threading.Tasks.TaskScheduler"/>.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.TaskScheduler.Finalize">
            <summary>
            Frees all resources associated with this scheduler.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.TaskScheduler.FromCurrentSynchronizationContext">
            <summary>
            Creates a <see cref="T:System.Threading.Tasks.TaskScheduler"/>
            associated with the current <see cref="T:System.Threading.SynchronizationContext"/>.
            </summary>
            <remarks>
            All <see cref="T:System.Threading.Tasks.Task">Task</see> instances queued to 
            the returned scheduler will be executed through a call to the
            <see cref="M:System.Threading.SynchronizationContext.Post(System.Threading.SendOrPostCallback,System.Object)">Post</see> method
            on that context.
            </remarks>
            <returns>
            A <see cref="T:System.Threading.Tasks.TaskScheduler"/> associated with 
            the current <see cref="T:System.Threading.SynchronizationContext">SynchronizationContext</see>, as
            determined by <see cref="P:System.Threading.SynchronizationContext.Current">SynchronizationContext.Current</see>.
            </returns>
            <exception cref="T:System.InvalidOperationException">
            The current SynchronizationContext may not be used as a TaskScheduler.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskScheduler.TryExecuteTask(System.Threading.Tasks.Task)">
            <summary>
            Attempts to execute the provided <see cref="T:System.Threading.Tasks.Task">Task</see>
            on this scheduler.
            </summary>
            <remarks>
            <para>
            Scheduler implementations are provided with <see cref="T:System.Threading.Tasks.Task">Task</see>
            instances to be executed through either the <see cref="M:System.Threading.Tasks.TaskScheduler.QueueTask(System.Threading.Tasks.Task)"/> method or the
            <see cref="M:System.Threading.Tasks.TaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)"/> method. When the scheduler deems it appropriate to run the
            provided task, <see cref="M:System.Threading.Tasks.TaskScheduler.TryExecuteTask(System.Threading.Tasks.Task)"/> should be used to do so. TryExecuteTask handles all
            aspects of executing a task, including action invocation, exception handling, state management,
            and lifecycle control.
            </para>
            <para>
            <see cref="M:System.Threading.Tasks.TaskScheduler.TryExecuteTask(System.Threading.Tasks.Task)"/> must only be used for tasks provided to this scheduler by the .NET
            Framework infrastructure. It should not be used to execute arbitrary tasks obtained through
            custom mechanisms.
            </para>
            </remarks>
            <param name="task">
            A <see cref="T:System.Threading.Tasks.Task">Task</see> object to be executed.</param>
            <exception cref="T:System.InvalidOperationException">
            The <paramref name="task"/> is not associated with this scheduler.
            </exception>
            <returns>A Boolean that is true if <paramref name="task"/> was successfully executed, false if it
            was not. A common reason for execution failure is that the task had previously been executed or
            is in the process of being executed by another thread.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskScheduler.GetScheduledTasksForDebugger">
            <summary>
            Provides an array of all queued <see cref="T:System.Threading.Tasks.Task">Task</see> instances
            for the debugger.
            </summary>
            <remarks>
            The returned array is populated through a call to <see cref="M:System.Threading.Tasks.TaskScheduler.GetScheduledTasks"/>.
            Note that this function is only meant to be invoked by a debugger remotely. 
            It should not be called by any other codepaths.
            </remarks>
            <returns>An array of <see cref="T:System.Threading.Tasks.Task">Task</see> instances.</returns> 
            <exception cref="T:System.NotSupportedException">
            This scheduler is unable to generate a list of queued tasks at this time.
            </exception>
        </member>
        <member name="M:System.Threading.Tasks.TaskScheduler.GetTaskSchedulersForDebugger">
            <summary>
            Provides an array of all active <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> 
            instances for the debugger.
            </summary>
            <remarks>
            This function is only meant to be invoked by a debugger remotely. 
            It should not be called by any other codepaths.
            </remarks>
            <returns>An array of <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> instances.</returns> 
        </member>
        <member name="M:System.Threading.Tasks.TaskScheduler.RegisterTaskScheduler(System.Threading.Tasks.TaskScheduler)">
            <summary>
            Registers a new TaskScheduler instance in the global collection of schedulers.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.TaskScheduler.UnregisterTaskScheduler(System.Threading.Tasks.TaskScheduler)">
            <summary>
            Removes a TaskScheduler instance from the global collection of schedulers.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.TaskScheduler.MaximumConcurrencyLevel">
            <summary>
            Indicates the maximum concurrency level this 
            <see cref="T:System.Threading.Tasks.TaskScheduler"/>  is able to support.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.TaskScheduler.RequiresAtomicStartTransition">
            <summary>
            Indicates whether this is a custom scheduler, in which case the safe code paths will be taken upon task entry
            using a CAS to transition from queued state to executing.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.TaskScheduler.Default">
            <summary>
            Gets the default <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> instance.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.TaskScheduler.Current">
            <summary>
            Gets the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
            associated with the currently executing task.
            </summary>
            <remarks>
            When not called from within a task, <see cref="P:System.Threading.Tasks.TaskScheduler.Current"/> will return the <see cref="P:System.Threading.Tasks.TaskScheduler.Default"/> scheduler.
            </remarks>
        </member>
        <member name="P:System.Threading.Tasks.TaskScheduler.Id">
            <summary>
            Gets the unique ID for this <see cref="T:System.Threading.Tasks.TaskScheduler"/>.
            </summary>
        </member>
        <member name="E:System.Threading.Tasks.TaskScheduler.UnobservedTaskException">
            <summary>
            Occurs when a faulted <see cref="T:System.Threading.Tasks.Task"/>'s unobserved exception is about to trigger exception escalation
            policy, which, by default, would terminate the process.
            </summary>
            <remarks>
            This AppDomain-wide event provides a mechanism to prevent exception
            escalation policy (which, by default, terminates the process) from triggering. 
            Each handler is passed a <see cref="T:System.Threading.Tasks.UnobservedTaskExceptionEventArgs"/>
            instance, which may be used to examine the exception and to mark it as observed.
            </remarks>
        </member>
        <member name="T:System.Threading.Tasks.TaskScheduler.SystemThreadingTasks_TaskSchedulerDebugView">
            <summary>
            Nested class that provides debugger view for TaskScheduler
            </summary>
        </member>
        <member name="T:System.Threading.Tasks.ThreadPoolTaskScheduler">
            <summary>Default thread pool scheduler.</summary>
        </member>
        <member name="T:System.Threading.Tasks.SynchronizationContextTaskScheduler">
            <summary>
            A TaskScheduler implementation that executes all tasks queued to it through a call to 
            <see cref="M:System.Threading.SynchronizationContext.Post(System.Threading.SendOrPostCallback,System.Object)"/> on the <see cref="T:System.Threading.SynchronizationContext"/> 
            that its associated with. The default constructor for this class binds to the current <see cref="T:System.Threading.SynchronizationContext"/> 
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.SynchronizationContextTaskScheduler.#ctor">
            <summary>
            Constructs a SynchronizationContextTaskScheduler associated with <see cref="T:System.Threading.SynchronizationContext.Current"/> 
            </summary>
            <exception cref="T:System.InvalidOperationException">This constructor expects <see cref="T:System.Threading.SynchronizationContext.Current"/> to be set.</exception>
        </member>
        <member name="M:System.Threading.Tasks.SynchronizationContextTaskScheduler.QueueTask(System.Threading.Tasks.Task)">
            <summary>
            Implemetation of <see cref="T:System.Threading.Tasks.TaskScheduler.QueueTask"/> for this scheduler class.
            
            Simply posts the tasks to be executed on the associated <see cref="T:System.Threading.SynchronizationContext"/>.
            </summary>
            <param name="task"></param>
        </member>
        <member name="M:System.Threading.Tasks.SynchronizationContextTaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)">
            <summary>
            Implementation of <see cref="T:System.Threading.Tasks.TaskScheduler.TryExecuteTaskInline"/>  for this scheduler class.
            
            The task will be executed inline only if the call happens within 
            the associated <see cref="T:System.Threading.SynchronizationContext"/>.
            </summary>
            <param name="task"></param>
            <param name="taskWasPreviouslyQueued"></param>
        </member>
        <member name="P:System.Threading.Tasks.SynchronizationContextTaskScheduler.MaximumConcurrencyLevel">
            <summary>
            Implementes the <see cref="T:System.Threading.Tasks.TaskScheduler.MaximumConcurrencyLevel"/> property for
            this scheduler class.
            
            By default it returns 1, because a <see cref="T:System.Threading.SynchronizationContext"/> based
            scheduler only supports execution on a single thread.
            </summary>
        </member>
        <member name="T:System.Threading.Tasks.UnobservedTaskExceptionEventArgs">
            <summary>
            Provides data for the event that is raised when a faulted <see cref="T:System.Threading.Tasks.Task"/>'s
            exception goes unobserved.
            </summary>
            <remarks>
            The Exception property is used to examine the exception without marking it
            as observed, whereas the <see cref="M:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.SetObserved"/> method is used to mark the exception
            as observed.  Marking the exception as observed prevents it from triggering exception escalation policy
            which, by default, terminates the process.
            </remarks>
        </member>
        <member name="M:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.#ctor(System.AggregateException)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Threading.Tasks.UnobservedTaskExceptionEventArgs"/> class
            with the unobserved exception.
            </summary>
            <param name="exception">The Exception that has gone unobserved.</param>
        </member>
        <member name="M:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.SetObserved">
            <summary>
            Marks the <see cref="P:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.Exception"/> as "observed," thus preventing it
            from triggering exception escalation policy which, by default, terminates the process.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.Observed">
            <summary>
            Gets whether this exception has been marked as "observed."
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.Exception">
            <summary>
            The Exception that went unobserved.
            </summary>
        </member>
        <member name="T:System.Threading.Tasks.TaskSchedulerException">
            <summary>
            Represents an exception used to communicate an invalid operation by a
            <see cref="T:System.Threading.Tasks.TaskScheduler"/>.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.TaskSchedulerException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskSchedulerException"/> class.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.TaskSchedulerException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskSchedulerException"/>
            class with a specified error message.
            </summary>
            <param name="message">The error message that explains the reason for the exception.</param>
        </member>
        <member name="M:System.Threading.Tasks.TaskSchedulerException.#ctor(System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskSchedulerException"/>
            class using the default error message and a reference to the inner exception that is the cause of
            this exception.
            </summary>
            <param name="innerException">The exception that is the cause of the current exception.</param>
        </member>
        <member name="M:System.Threading.Tasks.TaskSchedulerException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskSchedulerException"/>
            class with a specified error message and a reference to the inner exception that is the cause of
            this exception.
            </summary>
            <param name="message">The error message that explains the reason for the exception.</param>
            <param name="innerException">The exception that is the cause of the current exception.</param>
        </member>
    </members>
</doc>
