<?xml version="1.0"?>
<doc>
    <assembly>
        <name>CodeSmith.Core</name>
    </assembly>
    <members>
        <member name="T:CodeSmith.Core.BusinessDay">
            <summary>
            A class defining a business day.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.BusinessDay.#ctor(System.DayOfWeek)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.BusinessDay"/> class.
            </summary>
            <param name="dayOfWeek">The day of week this business day represents.</param>
        </member>
        <member name="M:CodeSmith.Core.BusinessDay.#ctor(System.DayOfWeek,System.TimeSpan,System.TimeSpan)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.BusinessDay"/> class.
            </summary>
            <param name="dayOfWeek">The day of week this business day represents.</param>
            <param name="startTime">The start time of the business day.</param>
            <param name="endTime">The end time of the business day.</param>
        </member>
        <member name="M:CodeSmith.Core.BusinessDay.IsBusinessDay(System.DateTime)">
            <summary>
            Determines whether the specified date falls in the business day.
            </summary>
            <param name="date">The date to check.</param>
            <returns>
            	<c>true</c> if the specified date falls in the business day; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="P:CodeSmith.Core.BusinessDay.DayOfWeek">
            <summary>
            Gets the day of week this business day represents..
            </summary>
            <value>The day of week.</value>
        </member>
        <member name="P:CodeSmith.Core.BusinessDay.StartTime">
            <summary>
            Gets the start time of the business day.
            </summary>
            <value>The start time of the business day.</value>
        </member>
        <member name="P:CodeSmith.Core.BusinessDay.EndTime">
            <summary>
            Gets the end time of the business day.
            </summary>
            <value>The end time of the business day.</value>
        </member>
        <member name="T:CodeSmith.Core.BusinessWeek">
            <summary>
            A class representing a business week.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.BusinessWeek.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.BusinessWeek"/> class.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.BusinessWeek.IsBusinessDay(System.DateTime)">
            <summary>
            Determines whether the specified date falls on a business day.
            </summary>
            <param name="date">The date to check.</param>
            <returns>
            	<c>true</c> if the specified date falls on a business day; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.BusinessWeek.GetBusinessTime(System.DateTime,System.DateTime)">
            <summary>
            Gets the business time between the start date and end date.
            </summary>
            <param name="startDate">The start date.</param>
            <param name="endDate">The end date.</param>
            <returns>
            A TimeSpan of the amount of business time between the start and end date.
            </returns>
            <remarks>
            Business time is calculated by adding only the time that falls inside the business day range.
            If all the time between the start and end date fall outside the business day, the time will be zero.
            </remarks>
        </member>
        <member name="M:CodeSmith.Core.BusinessWeek.GetBusinessEndDate(System.DateTime,System.TimeSpan)">
            <summary>
            Gets the business end date using the specified time.
            </summary>
            <param name="startDate">The start date.</param>
            <param name="businessTime">The business time.</param>
            <returns></returns>
        </member>
        <member name="M:CodeSmith.Core.BusinessWeek.Validate(System.Boolean)">
            <summary>
            Validates the business week.
            </summary>
            <param name="throwExcption">if set to <c>true</c> throw excption if invalid.</param>
            <returns><c>true</c> if valid; otherwise <c>false</c>.</returns>
        </member>
        <member name="P:CodeSmith.Core.BusinessWeek.BusinessDays">
            <summary>
            Gets the business days for the week.
            </summary>
            <value>The business days for the week.</value>
        </member>
        <member name="P:CodeSmith.Core.BusinessWeek.DefaultWeek">
            <summary>
            Gets the default BusinessWeek.
            </summary>
        </member>
        <member name="T:CodeSmith.Core.BusinessWeek.Nested">
            <summary>
            Nested class to lazy-load singleton.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.BusinessWeek.Nested.#cctor">
            <summary>
            Initializes the Nested class.
            </summary>
            <remarks>
            Explicit static constructor to tell C# compiler not to mark type as beforefieldinit.
            </remarks>
        </member>
        <member name="F:CodeSmith.Core.BusinessWeek.Nested.Current">
            <summary>
            Current singleton instance.
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Collections.IndexedEnumerable">
            <summary>
            IndexedEnumerable makes enumerating over collections much easier by implementing properties like: IsEven, IsOdd, IsLast.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Collections.IndexedEnumerable.Create``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Returns an IndexedEnumerable from any collection implementing IEnumerable&lt;T&gt;
            </summary>
            <typeparam name="T">Type of enumerable</typeparam>
            <param name="source">Source enumerable</param>
            <returns>A new IndexedEnumerable&lt;T&gt;.</returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.IndexedEnumerable.AsIndexedEnumerable``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Returns an IndexedEnumerable from any collection implementing IEnumerable&lt;T&gt;
            </summary>
            <typeparam name="T">Type of enumerable</typeparam>
            <param name="source">Source enumerable</param>
            <returns>A new IndexedEnumerable&lt;T&gt;.</returns>
        </member>
        <member name="T:CodeSmith.Core.Collections.IndexedEnumerable`1">
            <summary>
            IndexedEnumerable makes enumerating over collections much easier by implementing properties like: IsEven, IsOdd, IsLast.
            </summary>
            <typeparam name="T">Type to iterate over</typeparam>
        </member>
        <member name="M:CodeSmith.Core.Collections.IndexedEnumerable`1.#ctor">
            <summary>
            Default constructor.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Collections.IndexedEnumerable`1.#ctor(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Constructor that takes an IEnumerable&lt;T&gt;
            </summary>
            <param name="enumerable">The collection to enumerate.</param>
        </member>
        <member name="M:CodeSmith.Core.Collections.IndexedEnumerable`1.GetEnumerator">
            <summary>
            Returns an enumeration of Entry objects.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Collections.IndexedEnumerable`1.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Non-generic form of GetEnumerator.
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Collections.IndexedEnumerable`1.EntryItem">
            <summary>
            Represents each entry returned within a collection,
            containing the _value and whether it is the first and/or
            the last entry in the collection's. enumeration
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Collections.IndexedEnumerable`1.EntryItem.Value">
            <summary>
            The Entry Value.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Collections.IndexedEnumerable`1.EntryItem.IsFirst">
            <summary>
            Returns true if it is the first item in the collection.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Collections.IndexedEnumerable`1.EntryItem.IsLast">
            <summary>
            Returns true if it is the last item in the collection.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Collections.IndexedEnumerable`1.EntryItem.Index">
            <summary>
            The index of the current item in the collection.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Collections.IndexedEnumerable`1.EntryItem.IsEven">
            <summary>
            Returns true if the current item has an even index
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Collections.IndexedEnumerable`1.EntryItem.IsOdd">
            <summary>
            Returns true if the current item has an odd index
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Collections.NamedObjectBase">
            <summary>
            Provides a base for objects with names to derive from.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Collections.INamedObject.Name">
            <summary>
            The name of the object.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Collections.NamedObjectBase.ToString">
            <summary>
            Returns the name of the table.
            </summary>
            <returns></returns>
        </member>
        <member name="P:CodeSmith.Core.Collections.NamedObjectBase.Name">
            <summary>
            The name of the object.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Collections.INamedObjectCollection`1.Contains(System.String)">
            <summary>
            Determines whether an element is in the collection with the specified name.
            </summary>
            <param name="name">The name of the item to locate in the collection.</param>
            <returns>
              <c>true</c> if item is found in the collection; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.INamedObjectCollection`1.IndexOf(System.String)">
            <summary>
            Determines the index of a specific item in the list.
            </summary>
            <param name="name">The name of the item to locate in the list.</param>
            <returns>The index of item if found in the list; otherwise, -1.</returns>
        </member>
        <member name="P:CodeSmith.Core.Collections.INamedObjectCollection`1.Item(System.String)">
            <summary>
            Gets the item with the specified name.
            </summary>
            <returns>
            The item with the specified name.
            </returns>
        </member>
        <member name="T:CodeSmith.Core.Collections.NamedObjectCollection`1">
            <summary>
            Implements a strongly typed collection of <see cref="T:CodeSmith.Core.Collections.INamedObject"/> elements.
            </summary>
            <remarks>
            <b>SchemaObjectBaseCollection</b> provides an <see cref="T:CodeSmith.Core.Collections.ObservableList`1"/>
            that is strongly typed for <see cref="T:CodeSmith.Core.Collections.INamedObject"/> elements.
            </remarks>
        </member>
        <member name="T:CodeSmith.Core.Collections.ObservableList`1">
            <summary>
            Represents a strongly typed list of objects that provides notifications when items get added, removed, or when the whole list is refreshed.
            </summary>
            <typeparam name="T">The type of elements in the list.</typeparam>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Generic.List`1" /> class that is empty and has the default initial capacity.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Generic.List`1" /> class that is empty and has the specified initial capacity.
            </summary>
            <param name="capacity">
            The number of elements that the new list can initially store.
            </param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="capacity" /> is less than 0. 
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.#ctor(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:System.Collections.Generic.List`1" /> class that contains elements copied from the specified collection and has sufficient capacity to accommodate the number of elements copied.
            </summary>
            <param name="collection">
            The collection whose elements are copied to the new list.
            </param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="collection" /> is <c>null</c>.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.IndexOf(`0)">
            <summary>
            Searches for the specified object and returns the zero-based index of the first occurrence within the entire <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
            <returns>
            The zero-based index of the first occurrence of <paramref name="item" /> within the entire <see cref="T:System.Collections.Generic.List`1" />, if found; otherwise, –1.
            </returns>
            <param name="item">
            The object to locate in the <see cref="T:System.Collections.Generic.List`1" />. The value can be <c>null</c> for reference types.
            </param>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.Insert(System.Int32,`0)">
            <summary>
            Inserts an element into the <see cref="T:System.Collections.Generic.List`1" /> at the specified index.
            </summary>
            <param name="index">
            The zero-based index at which <paramref name="item" /> should be inserted.
            </param>
            <param name="item">
            The object to insert. The value can be <c>null</c> for reference types.
            </param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index" /> is less than 0.
            
            -or-
            <paramref name="index" /> is greater than <see cref="P:System.Collections.Generic.List`1.Count" />.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.RemoveAt(System.Int32)">
            <summary>
            Removes the element at the specified index of the <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
            <param name="index">
            The zero-based index of the element to remove.
            </param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index" /> is less than 0.
            
            -or-
            <paramref name="index" /> is equal to or greater than <see cref="P:System.Collections.Generic.List`1.Count" />.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.Add(`0)">
            <summary>
            Adds an object to the end of the <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
            <param name="item">
            The object to be added to the end of the <see cref="T:System.Collections.Generic.List`1" />. The value can be <c>null</c> for reference types.
            </param>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.Clear">
            <summary>
            Removes all elements from the <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.Contains(`0)">
            <summary>
            Determines whether an element is in the <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
            <returns><c>true</c> if <paramref name="item" /> is found in the <see cref="T:System.Collections.Generic.List`1" />; otherwise, <c>false</c>.
            </returns>
            <param name="item">
            The object to locate in the <see cref="T:System.Collections.Generic.List`1" />. The value can be <c>null</c> for reference types.
            </param>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.CopyTo(`0[])">
            <summary>
            Copies the entire <see cref="T:System.Collections.Generic.List`1" /> to a compatible one-dimensional array, starting at the specified index of the target array.
            </summary>
            <param name="array">
            The one-dimensional <see cref="T:System.Array" /> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.List`1" />. The <see cref="T:System.Array" /> must have zero-based indexing.
            </param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="array" /> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="array" /> index is less than 0.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="array" /> index is equal to or greater than the length of <paramref name="array" />.
            
            -or-
            
            The number of elements in the source <see cref="T:System.Collections.Generic.List`1" /> is greater than the available space from <paramref name="array" /> index to the end of the destination <paramref name="array" />.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.CopyTo(`0[],System.Int32)">
            <summary>
            Copies the entire <see cref="T:System.Collections.Generic.List`1" /> to a compatible one-dimensional array, starting at the specified index of the target array.
            </summary>
            <param name="array">
            The one-dimensional <see cref="T:System.Array" /> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.List`1" />. The <see cref="T:System.Array" /> must have zero-based indexing.
            </param>
            <param name="arrayIndex">
            The zero-based index in <paramref name="array" /> at which copying begins.
            </param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="array" /> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="arrayIndex" /> is less than 0.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="arrayIndex" /> is equal to or greater than the length of <paramref name="array" />.
            
            -or-
            
            The number of elements in the source <see cref="T:System.Collections.Generic.List`1" /> is greater than the available space from <paramref name="arrayIndex" /> to the end of the destination <paramref name="array" />.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.Remove(`0)">
            <summary>
            Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
            <returns><c>true</c> if <paramref name="item" /> is successfully removed; otherwise, <c>false</c>.  This method also returns <c>false</c> if <paramref name="item" /> was not found in the <see cref="T:System.Collections.Generic.List`1" />.
            </returns>
            <param name="item">
            The object to remove from the <see cref="T:System.Collections.Generic.List`1" />. The value can be <c>null</c> for reference types.
            </param>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.List`1.Enumerator" /> for the <see cref="T:System.Collections.Generic.List`1" />.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.System#Collections#IList#Add(System.Object)">
            <summary>
            Adds an item to the <see cref="T:System.Collections.IList"/>.
            </summary>
            <param name="value">The object to add to the <see cref="T:System.Collections.IList"/>.</param>
            <returns>
            The position into which the new element was inserted, or -1 to indicate that the item was not inserted into the collection,
            </returns>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:System.Collections.IList"/> is read-only.-or- The <see cref="T:System.Collections.IList"/> has a fixed size. 
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.System#Collections#IList#Contains(System.Object)">
            <summary>
            Determines whether the <see cref="T:System.Collections.IList"/> contains a specific value.
            </summary>
            <param name="value">The object to locate in the <see cref="T:System.Collections.IList"/>.</param>
            <returns>
            <c>true</c> if the <see cref="T:System.Object"/> is found in the <see cref="T:System.Collections.IList"/>; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.System#Collections#IList#IndexOf(System.Object)">
            <summary>
            Determines the index of a specific item in the <see cref="T:System.Collections.IList"/>.
            </summary>
            <param name="value">The object to locate in the <see cref="T:System.Collections.IList"/>.</param>
            <returns>
            The index of <paramref name="value"/> if found in the list; otherwise, -1.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.System#Collections#IList#Insert(System.Int32,System.Object)">
            <summary>
            Inserts an item to the <see cref="T:System.Collections.IList"/> at the specified index.
            </summary>
            <param name="index">The zero-based index at which <paramref name="value"/> should be inserted.</param>
            <param name="value">The object to insert into the <see cref="T:System.Collections.IList"/>.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is not a valid index in the <see cref="T:System.Collections.IList"/>. 
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:System.Collections.IList"/> is read-only.-or- The <see cref="T:System.Collections.IList"/> has a fixed size. 
            </exception>
            <exception cref="T:System.NullReferenceException">
            <paramref name="value"/> is <c>null</c> reference in the <see cref="T:System.Collections.IList"/>.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.System#Collections#IList#Remove(System.Object)">
            <summary>
            Removes the first occurrence of a specific object from the <see cref="T:System.Collections.IList"/>.
            </summary>
            <param name="value">The object to remove from the <see cref="T:System.Collections.IList"/>.</param>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:System.Collections.IList"/> is read-only.-or- The <see cref="T:System.Collections.IList"/> has a fixed size. 
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
            <summary>
            Copies the elements of the <see cref="T:System.Collections.ICollection"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
            </summary>
            <param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.ICollection"/>. The <see cref="T:System.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 <c>null</c>. 
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is less than zero. 
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="array"/> is multidimensional.-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>
            <exception cref="T:System.ArgumentException">
            The type of the source <see cref="T:System.Collections.ICollection"/> cannot be cast automatically to the type of the destination <paramref name="array"/>. 
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.AddRange(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Adds the elements of the specified collection to the end of the <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
            <param name="collection">
            The collection whose elements should be added to the end of the <see cref="T:System.Collections.Generic.List`1" />. The collection itself cannot be <c>null</c>, but it can contain elements that are <c>null</c>, if type T is a reference type.
            </param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="collection" /> is <c>null</c>.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.AsReadOnly">
            <summary>
            Returns a read-only <see cref="T:System.Collections.Generic.IList`1" /> wrapper for the current collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.ObjectModel.ReadOnlyCollection`1" /> that acts as a read-only wrapper around the current <see cref="T:System.Collections.Generic.List`1" />.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.BinarySearch(System.Int32,System.Int32,`0,System.Collections.Generic.IComparer{`0})">
            <summary>
            Searches a range of elements in the sorted <see cref="T:System.Collections.Generic.List`1" /> for an element using the specified comparer and returns the zero-based index of the element.
            </summary>
            <returns>
            The zero-based index of <paramref name="item" /> in the sorted <see cref="T:System.Collections.Generic.List`1" />, if <paramref name="item" /> is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than <paramref name="item" /> or, if there is no larger element, the bitwise complement of <see cref="P:System.Collections.Generic.List`1.Count" />.
            </returns>
            <param name="index">
            The zero-based starting index of the range to search.
            </param>
            <param name="count">
            The length of the range to search.
            </param>
            <param name="item">
            The object to locate. The value can be <c>null</c> for reference types.
            </param>
            <param name="comparer">
            The <see cref="T:System.Collections.Generic.IComparer`1" /> implementation to use when comparing elements, or <c>null</c> to use the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default" />.
            </param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index" /> is less than 0.
            
            -or-
            <paramref name="count" /> is less than 0. 
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="index" /> and <paramref name="count" /> do not denote a valid range in the <see cref="T:System.Collections.Generic.List`1" />.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            <paramref name="comparer" /> is <c>null</c>, and the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default" /> cannot find an implementation of the <see cref="T:System.IComparable`1" /> generic interface or the <see cref="T:System.IComparable" /> interface for type T.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.BinarySearch(`0)">
            <summary>
            Searches the entire sorted <see cref="T:System.Collections.Generic.List`1" /> for an element using the default comparer and returns the zero-based index of the element.
            </summary>
            <returns>
            The zero-based index of <paramref name="item" /> in the sorted <see cref="T:System.Collections.Generic.List`1" />, if <paramref name="item" /> is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than <paramref name="item" /> or, if there is no larger element, the bitwise complement of <see cref="P:System.Collections.Generic.List`1.Count" />.
            </returns>
            <param name="item">
            The object to locate. The value can be <c>null</c> for reference types.
            </param>
            <exception cref="T:System.InvalidOperationException">
            The default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default" /> cannot find an implementation of the <see cref="T:System.IComparable`1" /> generic interface or the <see cref="T:System.IComparable" /> interface for type T.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.BinarySearch(`0,System.Collections.Generic.IComparer{`0})">
            <summary>
            Searches the entire sorted <see cref="T:System.Collections.Generic.List`1" /> for an element using the specified comparer and returns the zero-based index of the element.
            </summary>
            <returns>
            The zero-based index of <paramref name="item" /> in the sorted <see cref="T:System.Collections.Generic.List`1" />, if <paramref name="item" /> is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than <paramref name="item" /> or, if there is no larger element, the bitwise complement of <see cref="P:System.Collections.Generic.List`1.Count" />.
            </returns>
            <param name="item">
            The object to locate. The value can be <c>null</c> for reference types.
            </param>
            <param name="comparer">
            The <see cref="T:System.Collections.Generic.IComparer`1" /> implementation to use when comparing elements.
            
            -or-
            <c>null</c> to use the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default" />.
            </param>
            <exception cref="T:System.InvalidOperationException">
            <paramref name="comparer" /> is <c>null</c>, and the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default" /> cannot find an implementation of the <see cref="T:System.IComparable`1" /> generic interface or the <see cref="T:System.IComparable" /> interface for type T.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.ConvertAll``1(System.Converter{`0,``0})">
            <summary>
            Converts the elements in the current <see cref="T:System.Collections.Generic.List`1" /> to another type, and returns a list containing the converted elements.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.List`1" /> of the target type containing the converted elements from the current <see cref="T:System.Collections.Generic.List`1" />.
            </returns>
            <param name="converter">
            A <see cref="T:System.Converter`2" /> delegate that converts each element from one type to another type.
            </param>
            <typeparam name="TOutput">
            The type of the elements of the target array.
            </typeparam>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="converter" /> is <c>null</c>.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.Exists(System.Predicate{`0})">
            <summary>
            Determines whether the <see cref="T:System.Collections.Generic.List`1" /> contains elements that match the conditions defined by the specified predicate.
            </summary>
            <returns><c>true</c> if the <see cref="T:System.Collections.Generic.List`1" /> contains one or more elements that match the conditions defined by the specified predicate; otherwise, <c>false</c>.
            </returns>
            <param name="match">
            The <see cref="T:System.Predicate`1" /> delegate that defines the conditions of the elements to search for.
            </param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="match" /> is <c>null</c>.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.Find(System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified predicate, and returns the first occurrence within the entire <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
            <returns>
            The first element that matches the conditions defined by the specified predicate, if found; otherwise, the default value for type T.
            </returns>
            <param name="match">
            The <see cref="T:System.Predicate`1" /> delegate that defines the conditions of the element to search for.
            </param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="match" /> is <c>null</c>.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.FindAll(System.Predicate{`0})">
            <summary>
            Retrieves all the elements that match the conditions defined by the specified predicate.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.List`1" /> containing all the elements that match the conditions defined by the specified predicate, if found; otherwise, an empty <see cref="T:System.Collections.Generic.List`1" />.
            </returns>
            <param name="match">
            The <see cref="T:System.Predicate`1" /> delegate that defines the conditions of the elements to search for.
            </param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="match" /> is <c>null</c>.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.FindIndex(System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the entire <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
            <returns>
            The zero-based index of the first occurrence of an element that matches the conditions defined by <paramref name="match" />, if found; otherwise, –1.
            </returns>
            <param name="match">
            The <see cref="T:System.Predicate`1" /> delegate that defines the conditions of the element to search for.
            </param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="match" /> is <c>null</c>.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.FindIndex(System.Int32,System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the <see cref="T:System.Collections.Generic.List`1" /> that extends from the specified index to the last element.
            </summary>
            <returns>
            The zero-based index of the first occurrence of an element that matches the conditions defined by <paramref name="match" />, if found; otherwise, –1.
            </returns>
            <param name="startIndex">
            The zero-based starting index of the search.
            </param>
            <param name="match">
            The <see cref="T:System.Predicate`1" /> delegate that defines the conditions of the element to search for.
            </param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="match" /> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex" /> is outside the range of valid indexes for the <see cref="T:System.Collections.Generic.List`1" />.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.FindIndex(System.Int32,System.Int32,System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the <see cref="T:System.Collections.Generic.List`1" /> that starts at the specified index and contains the specified number of elements.
            </summary>
            <returns>
            The zero-based index of the first occurrence of an element that matches the conditions defined by <paramref name="match" />, if found; otherwise, –1.
            </returns>
            <param name="startIndex">
            The zero-based starting index of the search.
            </param>
            <param name="count">
            The number of elements in the section to search.
            </param>
            <param name="match">
            The <see cref="T:System.Predicate`1" /> delegate that defines the conditions of the element to search for.
            </param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="match" /> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex" /> is outside the range of valid indexes for the <see cref="T:System.Collections.Generic.List`1" />.
            
            -or-
            <paramref name="count" /> is less than 0.
            
            -or-
            <paramref name="startIndex" /> and <paramref name="count" /> do not specify a valid section in the <see cref="T:System.Collections.Generic.List`1" />.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.FindLast(System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified predicate, and returns the last occurrence within the entire <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
            <returns>
            The last element that matches the conditions defined by the specified predicate, if found; otherwise, the default value for type T.
            </returns>
            <param name="match">
            The <see cref="T:System.Predicate`1" /> delegate that defines the conditions of the element to search for.
            </param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="match" /> is <c>null</c>.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.FindLastIndex(System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the entire <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
            <returns>
            The zero-based index of the last occurrence of an element that matches the conditions defined by <paramref name="match" />, if found; otherwise, –1.
            </returns>
            <param name="match">
            The <see cref="T:System.Predicate`1" /> delegate that defines the conditions of the element to search for.
            </param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="match" /> is <c>null</c>.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.FindLastIndex(System.Int32,System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the <see cref="T:System.Collections.Generic.List`1" /> that extends from the first element to the specified index.
            </summary>
            <returns>
            The zero-based index of the last occurrence of an element that matches the conditions defined by <paramref name="match" />, if found; otherwise, –1.
            </returns>
            <param name="startIndex">
            The zero-based starting index of the backward search.
            </param>
            <param name="match">
            The <see cref="T:System.Predicate`1" /> delegate that defines the conditions of the element to search for.
            </param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="match" /> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex" /> is outside the range of valid indexes for the <see cref="T:System.Collections.Generic.List`1" />.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.FindLastIndex(System.Int32,System.Int32,System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the <see cref="T:System.Collections.Generic.List`1" /> that contains the specified number of elements and ends at the specified index.
            </summary>
            <returns>
            The zero-based index of the last occurrence of an element that matches the conditions defined by <paramref name="match" />, if found; otherwise, –1.
            </returns>
            <param name="startIndex">
            The zero-based starting index of the backward search.
            </param>
            <param name="count">
            The number of elements in the section to search.
            </param>
            <param name="match">
            The <see cref="T:System.Predicate`1" /> delegate that defines the conditions of the element to search for.
            </param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="match" /> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex" /> is outside the range of valid indexes for the <see cref="T:System.Collections.Generic.List`1" />.
            
            -or-
            <paramref name="count" /> is less than 0.
            
            -or-
            <paramref name="startIndex" /> and <paramref name="count" /> do not specify a valid section in the <see cref="T:System.Collections.Generic.List`1" />.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.ForEach(System.Action{`0})">
            <summary>
            Performs the specified action on each element of the <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
            <param name="action">
            The <see cref="T:System.Action`1" /> delegate to perform on each element of the <see cref="T:System.Collections.Generic.List`1" />.
            </param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="action" /> is <c>null</c>.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.GetRange(System.Int32,System.Int32)">
            <summary>
            Creates a shallow copy of a range of elements in the source <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
            <returns>
            A shallow copy of a range of elements in the source <see cref="T:System.Collections.Generic.List`1" />.
            </returns>
            <param name="index">
            The zero-based <see cref="T:System.Collections.Generic.List`1" /> index at which the range starts.
            </param>
            <param name="count">
            The number of elements in the range.
            </param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index" /> is less than 0.
            
            -or-
            <paramref name="count" /> is less than 0.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="index" /> and <paramref name="count" /> do not denote a valid range of elements in the <see cref="T:System.Collections.Generic.List`1" />.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.IndexOf(`0,System.Int32)">
            <summary>
            Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the <see cref="T:System.Collections.Generic.List`1" /> that extends from the specified index to the last element.
            </summary>
            <returns>
            The zero-based index of the first occurrence of <paramref name="item" /> within the range of elements in the <see cref="T:System.Collections.Generic.List`1" /> that extends from <paramref name="index" /> to the last element, if found; otherwise, –1.
            </returns>
            <param name="item">
            The object to locate in the <see cref="T:System.Collections.Generic.List`1" />. The value can be <c>null</c> for reference types.
            </param>
            <param name="index">
            The zero-based starting index of the search.
            </param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index" /> is outside the range of valid indexes for the <see cref="T:System.Collections.Generic.List`1" />.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.IndexOf(`0,System.Int32,System.Int32)">
            <summary>
            Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the <see cref="T:System.Collections.Generic.List`1" /> that starts at the specified index and contains the specified number of elements.
            </summary>
            <returns>
            The zero-based index of the first occurrence of <paramref name="item" /> within the range of elements in the <see cref="T:System.Collections.Generic.List`1" /> that starts at <paramref name="index" /> and contains <paramref name="count" /> number of elements, if found; otherwise, –1.
            </returns>
            <param name="item">
            The object to locate in the <see cref="T:System.Collections.Generic.List`1" />. The value can be <c>null</c> for reference types.
            </param>
            <param name="index">
            The zero-based starting index of the search.
            </param>
            <param name="count">
            The number of elements in the section to search.
            </param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index" /> is outside the range of valid indexes for the <see cref="T:System.Collections.Generic.List`1" />.
            
            -or-
            <paramref name="count" /> is less than 0.
            
            -or-
            <paramref name="index" /> and <paramref name="count" /> do not specify a valid section in the <see cref="T:System.Collections.Generic.List`1" />.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.InsertRange(System.Int32,System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Inserts the elements of a collection into the <see cref="T:System.Collections.Generic.List`1" /> at the specified index.
            </summary>
            <param name="index">
            The zero-based index at which the new elements should be inserted.
            </param>
            <param name="collection">
            The collection whose elements should be inserted into the <see cref="T:System.Collections.Generic.List`1" />. The collection itself cannot be <c>null</c>, but it can contain elements that are <c>null</c>, if type T is a reference type.
            </param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="collection" /> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index" /> is less than 0.
            
            -or-
            <paramref name="index" /> is greater than <see cref="P:System.Collections.Generic.List`1.Count" />.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.LastIndexOf(`0)">
            <summary>
            Searches for the specified object and returns the zero-based index of the last occurrence within the entire <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
            <returns>
            The zero-based index of the last occurrence of <paramref name="item" /> within the entire the <see cref="T:System.Collections.Generic.List`1" />, if found; otherwise, –1.
            </returns>
            <param name="item">
            The object to locate in the <see cref="T:System.Collections.Generic.List`1" />. The value can be <c>null</c> for reference types.
            </param>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.LastIndexOf(`0,System.Int32)">
            <summary>
            Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the <see cref="T:System.Collections.Generic.List`1" /> that extends from the first element to the specified index.
            </summary>
            <returns>
            The zero-based index of the last occurrence of <paramref name="item" /> within the range of elements in the <see cref="T:System.Collections.Generic.List`1" /> that extends from the first element to <paramref name="index" />, if found; otherwise, –1.
            </returns>
            <param name="item">
            The object to locate in the <see cref="T:System.Collections.Generic.List`1" />. The value can be <c>null</c> for reference types.
            </param>
            <param name="index">
            The zero-based starting index of the backward search.
            </param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index" /> is outside the range of valid indexes for the <see cref="T:System.Collections.Generic.List`1" />. 
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.LastIndexOf(`0,System.Int32,System.Int32)">
            <summary>
            Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the <see cref="T:System.Collections.Generic.List`1" /> that contains the specified number of elements and ends at the specified index.
            </summary>
            <returns>
            The zero-based index of the last occurrence of <paramref name="item" /> within the range of elements in the <see cref="T:System.Collections.Generic.List`1" /> that contains <paramref name="count" /> number of elements and ends at <paramref name="index" />, if found; otherwise, –1.
            </returns>
            <param name="item">
            The object to locate in the <see cref="T:System.Collections.Generic.List`1" />. The value can be <c>null</c> for reference types.
            </param>
            <param name="index">
            The zero-based starting index of the backward search.
            </param>
            <param name="count">
            The number of elements in the section to search.
            </param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index" /> is outside the range of valid indexes for the <see cref="T:System.Collections.Generic.List`1" />.
            
            -or-
            <paramref name="count" /> is less than 0.
            
            -or-
            <paramref name="index" /> and <paramref name="count" /> do not specify a valid section in the <see cref="T:System.Collections.Generic.List`1" />. 
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.RemoveAll(System.Predicate{`0})">
            <summary>
            Removes the all the elements that match the conditions defined by the specified predicate.
            </summary>
            <returns>
            The number of elements removed from the <see cref="T:System.Collections.Generic.List`1" /> .
            </returns>
            <param name="match">
            The <see cref="T:System.Predicate`1" /> delegate that defines the conditions of the elements to remove.
            </param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="match" /> is <c>null</c>.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.RemoveRange(System.Int32,System.Int32)">
            <summary>
            Removes a range of elements from the <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
            <param name="index">
            The zero-based starting index of the range of elements to remove.
            </param>
            <param name="count">
            The number of elements to remove.
            </param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index" /> is less than 0.
            
            -or-
            <paramref name="count" /> is less than 0.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="index" /> and <paramref name="count" /> do not denote a valid range of elements in the <see cref="T:System.Collections.Generic.List`1" />.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.TrueForAll(System.Predicate{`0})">
            <summary>
            Determines whether every element in the <see cref="T:System.Collections.Generic.List`1" /> matches the conditions defined by the specified predicate.
            </summary>
            <returns><c>true</c> if every element in the <see cref="T:System.Collections.Generic.List`1" /> matches the conditions defined by the specified predicate; otherwise, <c>false</c>. If the list has no elements, the return value is <c>true</c>.
            </returns>
            <param name="match">
            The <see cref="T:System.Predicate`1" /> delegate that defines the conditions to check against the elements.
            </param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="match" /> is <c>null</c>.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.ToArray">
            <summary>
            Copies the elements of the <see cref="T:System.Collections.Generic.List`1" /> to a new array.
            </summary>
            <returns>
            An array containing copies of the elements of the <see cref="T:System.Collections.Generic.List`1" />.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.TrimExcess">
            <summary>
            Sets the capacity to the actual number of elements in the <see cref="T:System.Collections.Generic.List`1" />, if that number is less than a threshold value.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.Reverse">
            <summary>
            Reverses the order of the elements in the entire <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.Reverse(System.Int32,System.Int32)">
            <summary>
            Reverses the order of the elements in the specified range.
            </summary>
            <param name="index">
            The zero-based starting index of the range to reverse.
            </param>
            <param name="count">
            The number of elements in the range to reverse.
            </param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index" /> is less than 0.
            
            -or-
            <paramref name="count" /> is less than 0. 
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="index" /> and <paramref name="count" /> do not denote a valid range of elements in the <see cref="T:System.Collections.Generic.List`1" />. 
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.Sort">
            <summary>
            Sorts the elements in the entire <see cref="T:System.Collections.Generic.List`1" /> using the default comparer.
            </summary>
            <exception cref="T:System.InvalidOperationException">
            The default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default" /> cannot find an implementation of the <see cref="T:System.IComparable`1" /> generic interface or the <see cref="T:System.IComparable" /> interface for type T.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.Sort(System.Collections.IComparer)">
            <summary>
            Sorts the elements in the entire <see cref="T:System.Collections.Generic.List`1" /> using the specified comparer.
            </summary>
            <param name="comparer">
            The <see cref="T:System.Collections.IComparer" /> implementation to use when comparing elements.
            </param>
            <exception cref="T:System.InvalidOperationException">
            <paramref name="comparer" /> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The implementation of <paramref name="comparer" /> caused an error during the sort. For example, <paramref name="comparer" /> might not return 0 when comparing an item with itself.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.Sort(System.Collections.Generic.IComparer{`0})">
            <summary>
            Sorts the elements in the entire <see cref="T:System.Collections.Generic.List`1" /> using the specified comparer.
            </summary>
            <param name="comparer">
            The <see cref="T:System.Collections.Generic.IComparer`1" /> implementation to use when comparing elements, or <c>null</c> to use the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default" />.
            </param>
            <exception cref="T:System.InvalidOperationException">
            <paramref name="comparer" /> is <c>null</c>, and the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default" /> cannot find implementation of the <see cref="T:System.IComparable`1" /> generic interface or the <see cref="T:System.IComparable" /> interface for type T.
            </exception>
            <exception cref="T:System.ArgumentException">
            The implementation of <paramref name="comparer" /> caused an error during the sort. For example, <paramref name="comparer" /> might not return 0 when comparing an item with itself.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.Sort(System.Int32,System.Int32,System.Collections.Generic.IComparer{`0})">
            <summary>
            Sorts the elements in a range of elements in <see cref="T:System.Collections.Generic.List`1" /> using the specified comparer.
            </summary>
            <param name="index">
            The zero-based starting index of the range to sort.
            </param>
            <param name="count">
            The length of the range to sort.
            </param>
            <param name="comparer">
            The <see cref="T:System.Collections.Generic.IComparer`1" /> implementation to use when comparing elements, or <c>null</c> to use the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default" />.
            </param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index" /> is less than 0.
            
            -or-
            <paramref name="count" /> is less than 0.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="index" /> and <paramref name="count" /> do not specify a valid range in the <see cref="T:System.Collections.Generic.List`1" />.
            
            -or-
            
            The implementation of <paramref name="comparer" /> caused an error during the sort. For example, <paramref name="comparer" /> might not return 0 when comparing an item with itself.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            <paramref name="comparer" /> is <c>null</c>, and the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default" /> cannot find implementation of the <see cref="T:System.IComparable`1" /> generic interface or the <see cref="T:System.IComparable" /> interface for type T.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.Sort(System.Comparison{`0})">
            <summary>
            Sorts the elements in the entire <see cref="T:System.Collections.Generic.List`1" /> using the specified <see cref="T:System.Comparison`1" />.
            </summary>
            <param name="comparison">
            The <see cref="T:System.Comparison`1" /> to use when comparing elements.
            </param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="comparison" /> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The implementation of <paramref name="comparison" /> caused an error during the sort. For example, <paramref name="comparison" /> might not return 0 when comparing an item with itself.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.OnCollectionAdd(System.Int32,`0[])">
            <summary>
            Raises the <see cref="E:CodeSmith.Core.Collections.ObservableList`1.CollectionChanged"/> event with the provided arguments.
            </summary>
            <param name="startIndex">The start index.</param>
            <param name="newItems">The new items.</param>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.OnCollectionRemove(System.Int32,`0[])">
            <summary>
            Raises the <see cref="E:CodeSmith.Core.Collections.ObservableList`1.CollectionChanged"/> event with the provided arguments.
            </summary>
            <param name="startIndex">The start index.</param>
            <param name="oldItems">The old items.</param>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.OnCollectionReplace(System.Int32,`0,`0)">
            <summary>
            Raises the <see cref="E:CodeSmith.Core.Collections.ObservableList`1.CollectionChanged"/> event with the provided arguments.
            </summary>
            <param name="index">The index.</param>
            <param name="oldItem">The old item.</param>
            <param name="newItem">The new item.</param>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.OnCountChanged">
            <summary>
            Raises the <see cref="E:CodeSmith.Core.Collections.ObservableList`1.PropertyChanged"/> event for the Count property.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.OnItemsChanged">
            <summary>
            Raises the <see cref="E:CodeSmith.Core.Collections.ObservableList`1.PropertyChanged"/> event for the Item[] property.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableList`1.OnPropertyChanged(System.ComponentModel.PropertyChangedEventArgs)">
            <summary>
            Raises the <see cref="E:CodeSmith.Core.Collections.ObservableList`1.PropertyChanged"/> event with the provided arguments.
            </summary>
            <param name="e">Arguments of the event being raised.</param>
        </member>
        <member name="P:CodeSmith.Core.Collections.ObservableList`1.Items">
            <summary>
            Gets a <see cref="T:System.Collections.Generic.List`1" /> wrapper around the <see cref="T:CodeSmith.Core.Collections.ObservableList`1" />.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.List`1" /> wrapper around the <see cref="T:CodeSmith.Core.Collections.ObservableList`1" />.
            </returns>
        </member>
        <member name="P:CodeSmith.Core.Collections.ObservableList`1.Item(System.Int32)">
            <summary>
            Gets or sets the element at the specified index.
            </summary>
            <returns>
            The element at the specified index.
            </returns>
            <param name="index">
            The zero-based index of the element to get or set.
            </param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index" /> is less than 0.
            
            -or-
            <paramref name="index" /> is equal to or greater than <see cref="P:System.Collections.Generic.List`1.Count" />. 
            </exception>
        </member>
        <member name="P:CodeSmith.Core.Collections.ObservableList`1.Count">
            <summary>
            Gets the number of elements actually contained in the <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
            <returns>
            The number of elements actually contained in the <see cref="T:System.Collections.Generic.List`1" />.
            </returns>
        </member>
        <member name="P:CodeSmith.Core.Collections.ObservableList`1.System#Collections#Generic#ICollection{T}#IsReadOnly">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
            </summary>
            <returns><c>true</c> if the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only; otherwise, <c>false</c>.
              </returns>
        </member>
        <member name="P:CodeSmith.Core.Collections.ObservableList`1.System#Collections#IList#Item(System.Int32)">
            <summary>
            Gets or sets the element at the specified index.
            </summary>
            <returns>
            The element at the specified index.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is not a valid index in the <see cref="T:System.Collections.Generic.IList`1"/>.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The property is set and the <see cref="T:System.Collections.Generic.IList`1"/> is read-only.
            </exception>
        </member>
        <member name="P:CodeSmith.Core.Collections.ObservableList`1.System#Collections#IList#IsReadOnly">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
            </summary>
            <returns>
            <c>true</c> if the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="P:CodeSmith.Core.Collections.ObservableList`1.System#Collections#IList#IsFixedSize">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.IList"/> has a fixed size.
            </summary>
            <returns>
            <c>true</c> if the <see cref="T:System.Collections.IList"/> has a fixed size; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="P:CodeSmith.Core.Collections.ObservableList`1.System#Collections#ICollection#SyncRoot">
            <summary>
            Gets an object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.
            </summary>
            <returns>
            An object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.
            </returns>
        </member>
        <member name="P:CodeSmith.Core.Collections.ObservableList`1.System#Collections#ICollection#IsSynchronized">
            <summary>
            Gets a value indicating whether access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread safe).
            </summary>
            <returns>
            <c>true</c> if access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread safe); otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="E:CodeSmith.Core.Collections.ObservableList`1.CollectionChanged">
            <summary>
            Occurs when an item is added, removed, changed, moved, or the entire list is refreshed.
            </summary>
        </member>
        <member name="E:CodeSmith.Core.Collections.ObservableList`1.PropertyChanged">
            <summary>
            Occurs when a property value changes.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Collections.IReadOnlyCollection`1.Item(System.Int32)">
            <summary>
            Gets the item with the specified index.
            </summary>
            <returns>
            The item with the specified index.
            </returns>
        </member>
        <member name="P:CodeSmith.Core.Collections.IReadOnlyCollection`1.Count">
            <summary>
            How many items are in the collection.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Collections.IReadOnlyNamedObjectCollection`1.Contains(System.String)">
            <summary>
            Determines whether an element is in the collection with the specified name.
            </summary>
            <param name="name">The name of the item to locate in the collection.</param>
            <returns>
              <c>true</c> if item is found in the collection; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.IReadOnlyNamedObjectCollection`1.IndexOf(System.String)">
            <summary>
            Determines the index of a specific item in the list.
            </summary>
            <param name="name">The name of the item to locate in the list.</param>
            <returns>The index of item if found in the list; otherwise, -1.</returns>
        </member>
        <member name="P:CodeSmith.Core.Collections.IReadOnlyNamedObjectCollection`1.Item(System.String)">
            <summary>
            Gets the item with the specified name.
            </summary>
            <returns>
            The item with the specified name.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.NamedObjectCollection`1.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Collections.NamedObjectCollection`1"/> class.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Collections.NamedObjectCollection`1.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Collections.NamedObjectCollection`1"/> class.
            </summary>
            <param name="capacity">The number of elements that the new list can initially store.</param>
        </member>
        <member name="M:CodeSmith.Core.Collections.NamedObjectCollection`1.#ctor(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Collections.NamedObjectCollection`1"/> class.
            </summary>
            <param name="collection">The collection from which the elements are copied.</param>
        </member>
        <member name="M:CodeSmith.Core.Collections.NamedObjectCollection`1.Contains(System.String)">
            <summary>
            Determines whether an element is in the collection with the specified name.
            </summary>
            <param name="name">The name of the item to locate in the collection.</param>
            <returns>
              <c>true</c> if item is found in the collection; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.NamedObjectCollection`1.IndexOf(System.String)">
            <summary>
            Determines the index of a specific item in the list.
            </summary>
            <param name="name">The name of the item to locate in the list.</param>
            <returns>The index of item if found in the list; otherwise, -1.</returns>
        </member>
        <member name="P:CodeSmith.Core.Collections.NamedObjectCollection`1.Item(System.String)">
            <summary>
            Gets the item with the specified name.
            </summary>
            <returns>
            The item with the specified name.
            </returns>
        </member>
        <member name="T:CodeSmith.Core.Collections.SmartObservableCollection`1">
            <summary>
            Represents a dynamic data collection that provides notifications when items get added, removed, or when the whole list is refreshed.
            </summary>
            <typeparam name="T">The type of elements in the collection.</typeparam>
        </member>
        <member name="T:CodeSmith.Core.Collections.ObservableHashSet`1">
            <summary>
            Represents an observable set of values.
            </summary>
            <typeparam name="T">The type of elements in the hash set.</typeparam>    
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableHashSet`1.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> class.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableHashSet`1.#ctor(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> class.
            </summary>
            <param name="collection">The collection whose elements are copied to the new set.</param>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableHashSet`1.#ctor(System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> class.
            </summary>
            <param name="comparer">The IEqualityComparer&lt;T&gt; implementation to use when comparing values in the set, or null to use the default EqualityComparer&lt;T&gt; implementation for the set type.</param>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableHashSet`1.#ctor(System.Collections.Generic.IEnumerable{`0},System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> class.
            </summary>
            <param name="collection">The collection whose elements are copied to the new set.</param>
            <param name="comparer">The IEqualityComparer&lt;T&gt; implementation to use when comparing values in the set, or null to use the default EqualityComparer&lt;T&gt; implementation for the set type.</param>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableHashSet`1.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableHashSet`1.Add(`0)">
            <summary>
            Adds the specified element to a set.
            </summary>
            <param name="item">The element to add to the set.</param>
            <returns>true if the element is added to the <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> object; false if the element is already present.</returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableHashSet`1.AddRange(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Adds the elements of the specified collection..
            </summary>
            <param name="collection">The collection whose elements should be added.</param>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableHashSet`1.System#Collections#Generic#ICollection{T}#Add(`0)">
            <summary>
            Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1"/>.
            </summary>
            <param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
              </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableHashSet`1.Clear">
            <summary>
            Removes all elements from a <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> object.
            </summary>        
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableHashSet`1.Contains(`0)">
            <summary>
            Determines whether a <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> object contains the specified element.
            </summary>
            <param name="item">The element to locate in the <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> object.</param>
            <returns>true if the <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> object contains the specified element; otherwise, false.</returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableHashSet`1.CopyTo(`0[])">
            <summary>
            Copies the elements of a <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> collection to an array.
            </summary>
            <param name="array">The one-dimensional array that is the destination of the elements copied from the <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> object. The array must have zero-based indexing.</param>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableHashSet`1.CopyTo(`0[],System.Int32)">
            <summary>
            Copies the elements of a <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> collection to an array.
            </summary>
            <param name="array">The one-dimensional array that is the destination of the elements copied from the <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> object. The array must have zero-based indexing.</param>
            <param name="arrayIndex">The zero-based index in array at which copying begins.</param>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableHashSet`1.CopyTo(`0[],System.Int32,System.Int32)">
            <summary>
            Copies the elements of a <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> collection to an array.
            </summary>
            <param name="array">The one-dimensional array that is the destination of the elements copied from the <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> object. The array must have zero-based indexing.</param>
            <param name="arrayIndex">The zero-based index in array at which copying begins.</param>
            <param name="count">The number of elements to copy to array.</param>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableHashSet`1.ExceptWith(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Removes all elements in the specified collection from the current <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> object.
            </summary>
            <param name="other">The collection of items to remove from the <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> object.</param>        
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableHashSet`1.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/>.
            </summary>
            <returns>A <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/>.Enumerator object for the <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> object.</returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableHashSet`1.IntersectWith(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Modifies the current <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> object to contain only elements that are present in that object and in the specified collection.
            </summary>
            <param name="other">The collection to compare to the current <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> object.</param>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableHashSet`1.IsProperSubsetOf(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Determines whether a <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> object is a proper subset of the specified collection.
            </summary>
            <param name="other">The collection to compare to the current <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> object.</param>
            <returns>true if the <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> object is a proper subset of other; otherwise, false.</returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableHashSet`1.IsProperSupersetOf(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Determines whether a <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> object is a proper subset of the specified collection.
            </summary>
            <param name="other">The collection to compare to the current <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> object. </param>
            <returns>true if the <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> object is a proper superset of other; otherwise, false.</returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableHashSet`1.IsSubsetOf(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Determines whether a <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> object is a subset of the specified collection.
            </summary>
            <param name="other">The collection to compare to the current <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> object. </param>
            <returns>true if the <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> object is a subset of other; otherwise, false.</returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableHashSet`1.IsSupersetOf(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Determines whether a <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> object is a superset of the specified collection.
            </summary>
            <param name="other">The collection to compare to the current <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> object. </param>
            <returns>true if the <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> object is a superset of other; otherwise, false.</returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableHashSet`1.Overlaps(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Determines whether the current <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> object and a specified collection share common elements.
            </summary>
            <param name="other">The collection to compare to the current <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> object. </param>
            <returns>true if the <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> object and other share at least one common element; otherwise, false.</returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableHashSet`1.Remove(`0)">
            <summary>
            Removes the specified element from a <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> object.
            </summary>
            <param name="item">The element to remove.</param>
            <returns>true if the element is successfully found and removed; otherwise, false. This method returns false if item is not found in the <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> object.</returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableHashSet`1.SetEquals(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Determines whether a <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> object and the specified collection contain the same elements.
            </summary>
            <param name="other">The collection to compare to the current <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> object. </param>
            <returns>true if the <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> object is equal to other; otherwise, false.</returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableHashSet`1.SymmetricExceptWith(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Modifies the current <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> object to contain only elements that are present either in that object or in the specified collection, but not both.
            </summary>
            <param name="other">The collection to compare to the current <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> object.</param>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableHashSet`1.TrimExcess">
            <summary>
            Sets the capacity of a <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> object to the actual number of elements it contains, rounded up to a nearby, implementation-specific value.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableHashSet`1.UnionWith(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Modifies the current <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> object to contain all elements that are present in itself, the specified collection, or both.
            </summary>
            <param name="other">The collection to compare to the current <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/> object.</param>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableHashSet`1.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="P:CodeSmith.Core.Collections.ObservableHashSet`1.Comparer">
            <summary>
            Gets the IEqualityComparer&lt;T&gt; object that is used to determine equality for the values in the set.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Collections.ObservableHashSet`1.Count">
            <summary>
            Gets the number of elements contained in the <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/>.
            </summary>
            <returns>
            The number of elements contained in the <see cref="T:CodeSmith.Core.Collections.ObservableHashSet`1"/>.
              </returns>
        </member>
        <member name="P:CodeSmith.Core.Collections.ObservableHashSet`1.System#Collections#Generic#ICollection{T}#IsReadOnly">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
            </summary>
            <returns>true if the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only; otherwise, false.
              </returns>
        </member>
        <member name="E:CodeSmith.Core.Collections.ObservableHashSet`1.CollectionChanged">
            <summary>
            Raised when the collection changes.
            </summary>
        </member>
        <member name="E:CodeSmith.Core.Collections.ObservableHashSet`1.PropertyChanged">
            <summary>
            Raised when a property value changes.
            </summary>       
        </member>
        <member name="T:CodeSmith.Core.Collections.ObservableHashSet`1.PropertyNames">
            <summary>
            The property names used with INotifyPropertyChanged.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Collections.ReadOnlyCollection`1.#ctor(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Collections.NamedObjectCollection`1"/> class.
            </summary>
            <param name="items">The items from which the elements are copied.</param>
        </member>
        <member name="M:CodeSmith.Core.Collections.ReadOnlyNamedObjectCollection`1.#ctor(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Collections.NamedObjectCollection`1"/> class.
            </summary>
            <param name="items">The items from which the elements are copied.</param>
        </member>
        <member name="M:CodeSmith.Core.Collections.ReadOnlyNamedObjectCollection`1.Contains(System.String)">
            <summary>
            Determines whether an element is in the collection with the specified name.
            </summary>
            <param name="name">The name of the item to locate in the collection.</param>
            <returns>
              <c>true</c> if item is found in the collection; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.ReadOnlyNamedObjectCollection`1.IndexOf(System.String)">
            <summary>
            Determines the index of a specific item in the list.
            </summary>
            <param name="name">The name of the item to locate in the list.</param>
            <returns>The index of item if found in the list; otherwise, -1.</returns>
        </member>
        <member name="P:CodeSmith.Core.Collections.ReadOnlyNamedObjectCollection`1.Item(System.String)">
            <summary>
            Gets the item with the specified name.
            </summary>
            <returns>
            The item with the specified name.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.IndexOf(`0)">
            <summary>
            Searches for the specified object and returns the zero-based index of the first occurrence within the entire <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
            <returns>
            The zero-based index of the first occurrence of <paramref name="item" /> within the entire <see cref="T:System.Collections.Generic.List`1" />, if found; otherwise, –1.
            </returns>
            <param name="item">
            The object to locate in the <see cref="T:System.Collections.Generic.List`1" />. The value can be <c>null</c> for reference types.
            </param>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.Insert(System.Int32,`0)">
            <summary>
            Inserts an element into the <see cref="T:System.Collections.Generic.List`1" /> at the specified index.
            </summary>
            <param name="index">
            The zero-based index at which <paramref name="item" /> should be inserted.
            </param>
            <param name="item">
            The object to insert. The value can be <c>null</c> for reference types.
            </param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index" /> is less than 0.
            
            -or-
            <paramref name="index" /> is greater than <see cref="P:System.Collections.Generic.List`1.Count" />.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.RemoveAt(System.Int32)">
            <summary>
            Removes the element at the specified index of the <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
            <param name="index">
            The zero-based index of the element to remove.
            </param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index" /> is less than 0.
            
            -or-
            <paramref name="index" /> is equal to or greater than <see cref="P:System.Collections.Generic.List`1.Count" />.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.Add(`0)">
            <summary>
            Adds an object to the end of the <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
            <param name="item">
            The object to be added to the end of the <see cref="T:System.Collections.Generic.List`1" />. The value can be <c>null</c> for reference types.
            </param>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.Clear">
            <summary>
            Removes all elements from the <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.Contains(`0)">
            <summary>
            Determines whether an element is in the <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
            <returns><c>true</c> if <paramref name="item" /> is found in the <see cref="T:System.Collections.Generic.List`1" />; otherwise, <c>false</c>.
            </returns>
            <param name="item">
            The object to locate in the <see cref="T:System.Collections.Generic.List`1" />. The value can be <c>null</c> for reference types.
            </param>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.CopyTo(`0[],System.Int32)">
            <summary>
            Copies the entire <see cref="T:System.Collections.Generic.List`1" /> to a compatible one-dimensional array, starting at the specified index of the target array.
            </summary>
            <param name="array">
            The one-dimensional <see cref="T:System.Array" /> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.List`1" />. The <see cref="T:System.Array" /> must have zero-based indexing.
            </param>
            <param name="arrayIndex">
            The zero-based index in <paramref name="array" /> at which copying begins.
            </param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="array" /> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="arrayIndex" /> is less than 0.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="arrayIndex" /> is equal to or greater than the length of <paramref name="array" />.
            
            -or-
            
            The number of elements in the source <see cref="T:System.Collections.Generic.List`1" /> is greater than the available space from <paramref name="arrayIndex" /> to the end of the destination <paramref name="array" />.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.Remove(`0)">
            <summary>
            Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
            <returns><c>true</c> if <paramref name="item" /> is successfully removed; otherwise, <c>false</c>.  This method also returns <c>false</c> if <paramref name="item" /> was not found in the <see cref="T:System.Collections.Generic.List`1" />.
            </returns>
            <param name="item">
            The object to remove from the <see cref="T:System.Collections.Generic.List`1" />. The value can be <c>null</c> for reference types.
            </param>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.List`1.Enumerator" /> for the <see cref="T:System.Collections.Generic.List`1" />.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.System#Collections#IList#Add(System.Object)">
            <summary>
            Adds an item to the <see cref="T:System.Collections.IList"/>.
            </summary>
            <param name="value">The object to add to the <see cref="T:System.Collections.IList"/>.</param>
            <returns>
            The position into which the new element was inserted, or -1 to indicate that the item was not inserted into the collection,
            </returns>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:System.Collections.IList"/> is read-only.-or- The <see cref="T:System.Collections.IList"/> has a fixed size. 
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.System#Collections#IList#Contains(System.Object)">
            <summary>
            Determines whether the <see cref="T:System.Collections.IList"/> contains a specific value.
            </summary>
            <param name="value">The object to locate in the <see cref="T:System.Collections.IList"/>.</param>
            <returns>
            <c>true</c> if the <see cref="T:System.Object"/> is found in the <see cref="T:System.Collections.IList"/>; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.System#Collections#IList#IndexOf(System.Object)">
            <summary>
            Determines the index of a specific item in the <see cref="T:System.Collections.IList"/>.
            </summary>
            <param name="value">The object to locate in the <see cref="T:System.Collections.IList"/>.</param>
            <returns>
            The index of <paramref name="value"/> if found in the list; otherwise, -1.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.System#Collections#IList#Insert(System.Int32,System.Object)">
            <summary>
            Inserts an item to the <see cref="T:System.Collections.IList"/> at the specified index.
            </summary>
            <param name="index">The zero-based index at which <paramref name="value"/> should be inserted.</param>
            <param name="value">The object to insert into the <see cref="T:System.Collections.IList"/>.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is not a valid index in the <see cref="T:System.Collections.IList"/>. 
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:System.Collections.IList"/> is read-only.-or- The <see cref="T:System.Collections.IList"/> has a fixed size. 
            </exception>
            <exception cref="T:System.NullReferenceException">
            <paramref name="value"/> is <c>null</c> reference in the <see cref="T:System.Collections.IList"/>.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.System#Collections#IList#Remove(System.Object)">
            <summary>
            Removes the first occurrence of a specific object from the <see cref="T:System.Collections.IList"/>.
            </summary>
            <param name="value">The object to remove from the <see cref="T:System.Collections.IList"/>.</param>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:System.Collections.IList"/> is read-only.-or- The <see cref="T:System.Collections.IList"/> has a fixed size. 
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
            <summary>
            Copies the elements of the <see cref="T:System.Collections.ICollection"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
            </summary>
            <param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.ICollection"/>. The <see cref="T:System.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 <c>null</c>. 
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is less than zero. 
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="array"/> is multidimensional.-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>
            <exception cref="T:System.ArgumentException">
            The type of the source <see cref="T:System.Collections.ICollection"/> cannot be cast automatically to the type of the destination <paramref name="array"/>. 
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.AddRange(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Adds the elements of the specified collection to the end of the <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
            <param name="collection">
            The collection whose elements should be added to the end of the <see cref="T:System.Collections.Generic.List`1" />. The collection itself cannot be <c>null</c>, but it can contain elements that are <c>null</c>, if type T is a reference type.
            </param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="collection" /> is <c>null</c>.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.AsReadOnly">
            <summary>
            Returns a read-only <see cref="T:System.Collections.Generic.IList`1" /> wrapper for the current collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.ObjectModel.ReadOnlyCollection`1" /> that acts as a read-only wrapper around the current <see cref="T:System.Collections.Generic.List`1" />.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.BinarySearch(System.Int32,System.Int32,`0,System.Collections.Generic.IComparer{`0})">
            <summary>
            Searches a range of elements in the sorted <see cref="T:System.Collections.Generic.List`1" /> for an element using the specified comparer and returns the zero-based index of the element.
            </summary>
            <returns>
            The zero-based index of <paramref name="item" /> in the sorted <see cref="T:System.Collections.Generic.List`1" />, if <paramref name="item" /> is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than <paramref name="item" /> or, if there is no larger element, the bitwise complement of <see cref="P:System.Collections.Generic.List`1.Count" />.
            </returns>
            <param name="index">
            The zero-based starting index of the range to search.
            </param>
            <param name="count">
            The length of the range to search.
            </param>
            <param name="item">
            The object to locate. The value can be <c>null</c> for reference types.
            </param>
            <param name="comparer">
            The <see cref="T:System.Collections.Generic.IComparer`1" /> implementation to use when comparing elements, or <c>null</c> to use the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default" />.
            </param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index" /> is less than 0.
            
            -or-
            <paramref name="count" /> is less than 0. 
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="index" /> and <paramref name="count" /> do not denote a valid range in the <see cref="T:System.Collections.Generic.List`1" />.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            <paramref name="comparer" /> is <c>null</c>, and the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default" /> cannot find an implementation of the <see cref="T:System.IComparable`1" /> generic interface or the <see cref="T:System.IComparable" /> interface for type T.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.BinarySearch(`0)">
            <summary>
            Searches the entire sorted <see cref="T:System.Collections.Generic.List`1" /> for an element using the default comparer and returns the zero-based index of the element.
            </summary>
            <returns>
            The zero-based index of <paramref name="item" /> in the sorted <see cref="T:System.Collections.Generic.List`1" />, if <paramref name="item" /> is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than <paramref name="item" /> or, if there is no larger element, the bitwise complement of <see cref="P:System.Collections.Generic.List`1.Count" />.
            </returns>
            <param name="item">
            The object to locate. The value can be <c>null</c> for reference types.
            </param>
            <exception cref="T:System.InvalidOperationException">
            The default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default" /> cannot find an implementation of the <see cref="T:System.IComparable`1" /> generic interface or the <see cref="T:System.IComparable" /> interface for type T.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.BinarySearch(`0,System.Collections.Generic.IComparer{`0})">
            <summary>
            Searches the entire sorted <see cref="T:System.Collections.Generic.List`1" /> for an element using the specified comparer and returns the zero-based index of the element.
            </summary>
            <returns>
            The zero-based index of <paramref name="item" /> in the sorted <see cref="T:System.Collections.Generic.List`1" />, if <paramref name="item" /> is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than <paramref name="item" /> or, if there is no larger element, the bitwise complement of <see cref="P:System.Collections.Generic.List`1.Count" />.
            </returns>
            <param name="item">
            The object to locate. The value can be <c>null</c> for reference types.
            </param>
            <param name="comparer">
            The <see cref="T:System.Collections.Generic.IComparer`1" /> implementation to use when comparing elements.
            
            -or-
            <c>null</c> to use the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default" />.
            </param>
            <exception cref="T:System.InvalidOperationException">
            <paramref name="comparer" /> is <c>null</c>, and the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default" /> cannot find an implementation of the <see cref="T:System.IComparable`1" /> generic interface or the <see cref="T:System.IComparable" /> interface for type T.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.ConvertAll``1(System.Converter{`0,``0})">
            <summary>
            Converts the elements in the current <see cref="T:System.Collections.Generic.List`1" /> to another type, and returns a list containing the converted elements.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.List`1" /> of the target type containing the converted elements from the current <see cref="T:System.Collections.Generic.List`1" />.
            </returns>
            <param name="converter">
            A <see cref="T:System.Converter`2" /> delegate that converts each element from one type to another type.
            </param>
            <typeparam name="TOutput">
            The type of the elements of the target array.
            </typeparam>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="converter" /> is <c>null</c>.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.Exists(System.Predicate{`0})">
            <summary>
            Determines whether the <see cref="T:System.Collections.Generic.List`1" /> contains elements that match the conditions defined by the specified predicate.
            </summary>
            <returns><c>true</c> if the <see cref="T:System.Collections.Generic.List`1" /> contains one or more elements that match the conditions defined by the specified predicate; otherwise, <c>false</c>.
            </returns>
            <param name="match">
            The <see cref="T:System.Predicate`1" /> delegate that defines the conditions of the elements to search for.
            </param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="match" /> is <c>null</c>.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.Find(System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified predicate, and returns the first occurrence within the entire <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
            <returns>
            The first element that matches the conditions defined by the specified predicate, if found; otherwise, the default value for type T.
            </returns>
            <param name="match">
            The <see cref="T:System.Predicate`1" /> delegate that defines the conditions of the element to search for.
            </param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="match" /> is <c>null</c>.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.FindAll(System.Predicate{`0})">
            <summary>
            Retrieves all the elements that match the conditions defined by the specified predicate.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.List`1" /> containing all the elements that match the conditions defined by the specified predicate, if found; otherwise, an empty <see cref="T:System.Collections.Generic.List`1" />.
            </returns>
            <param name="match">
            The <see cref="T:System.Predicate`1" /> delegate that defines the conditions of the elements to search for.
            </param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="match" /> is <c>null</c>.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.FindIndex(System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the entire <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
            <returns>
            The zero-based index of the first occurrence of an element that matches the conditions defined by <paramref name="match" />, if found; otherwise, –1.
            </returns>
            <param name="match">
            The <see cref="T:System.Predicate`1" /> delegate that defines the conditions of the element to search for.
            </param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="match" /> is <c>null</c>.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.FindIndex(System.Int32,System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the <see cref="T:System.Collections.Generic.List`1" /> that extends from the specified index to the last element.
            </summary>
            <returns>
            The zero-based index of the first occurrence of an element that matches the conditions defined by <paramref name="match" />, if found; otherwise, –1.
            </returns>
            <param name="startIndex">
            The zero-based starting index of the search.
            </param>
            <param name="match">
            The <see cref="T:System.Predicate`1" /> delegate that defines the conditions of the element to search for.
            </param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="match" /> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex" /> is outside the range of valid indexes for the <see cref="T:System.Collections.Generic.List`1" />.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.FindIndex(System.Int32,System.Int32,System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the <see cref="T:System.Collections.Generic.List`1" /> that starts at the specified index and contains the specified number of elements.
            </summary>
            <returns>
            The zero-based index of the first occurrence of an element that matches the conditions defined by <paramref name="match" />, if found; otherwise, –1.
            </returns>
            <param name="startIndex">
            The zero-based starting index of the search.
            </param>
            <param name="count">
            The number of elements in the section to search.
            </param>
            <param name="match">
            The <see cref="T:System.Predicate`1" /> delegate that defines the conditions of the element to search for.
            </param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="match" /> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex" /> is outside the range of valid indexes for the <see cref="T:System.Collections.Generic.List`1" />.
            
            -or-
            <paramref name="count" /> is less than 0.
            
            -or-
            <paramref name="startIndex" /> and <paramref name="count" /> do not specify a valid section in the <see cref="T:System.Collections.Generic.List`1" />.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.FindLast(System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified predicate, and returns the last occurrence within the entire <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
            <returns>
            The last element that matches the conditions defined by the specified predicate, if found; otherwise, the default value for type T.
            </returns>
            <param name="match">
            The <see cref="T:System.Predicate`1" /> delegate that defines the conditions of the element to search for.
            </param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="match" /> is <c>null</c>.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.FindLastIndex(System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the entire <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
            <returns>
            The zero-based index of the last occurrence of an element that matches the conditions defined by <paramref name="match" />, if found; otherwise, –1.
            </returns>
            <param name="match">
            The <see cref="T:System.Predicate`1" /> delegate that defines the conditions of the element to search for.
            </param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="match" /> is <c>null</c>.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.FindLastIndex(System.Int32,System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the <see cref="T:System.Collections.Generic.List`1" /> that extends from the first element to the specified index.
            </summary>
            <returns>
            The zero-based index of the last occurrence of an element that matches the conditions defined by <paramref name="match" />, if found; otherwise, –1.
            </returns>
            <param name="startIndex">
            The zero-based starting index of the backward search.
            </param>
            <param name="match">
            The <see cref="T:System.Predicate`1" /> delegate that defines the conditions of the element to search for.
            </param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="match" /> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex" /> is outside the range of valid indexes for the <see cref="T:System.Collections.Generic.List`1" />.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.FindLastIndex(System.Int32,System.Int32,System.Predicate{`0})">
            <summary>
            Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the <see cref="T:System.Collections.Generic.List`1" /> that contains the specified number of elements and ends at the specified index.
            </summary>
            <returns>
            The zero-based index of the last occurrence of an element that matches the conditions defined by <paramref name="match" />, if found; otherwise, –1.
            </returns>
            <param name="startIndex">
            The zero-based starting index of the backward search.
            </param>
            <param name="count">
            The number of elements in the section to search.
            </param>
            <param name="match">
            The <see cref="T:System.Predicate`1" /> delegate that defines the conditions of the element to search for.
            </param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="match" /> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex" /> is outside the range of valid indexes for the <see cref="T:System.Collections.Generic.List`1" />.
            
            -or-
            <paramref name="count" /> is less than 0.
            
            -or-
            <paramref name="startIndex" /> and <paramref name="count" /> do not specify a valid section in the <see cref="T:System.Collections.Generic.List`1" />.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.ForEach(System.Action{`0})">
            <summary>
            Performs the specified action on each element of the <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
            <param name="action">
            The <see cref="T:System.Action`1" /> delegate to perform on each element of the <see cref="T:System.Collections.Generic.List`1" />.
            </param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="action" /> is <c>null</c>.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.GetRange(System.Int32,System.Int32)">
            <summary>
            Creates a shallow copy of a range of elements in the source <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
            <returns>
            A shallow copy of a range of elements in the source <see cref="T:System.Collections.Generic.List`1" />.
            </returns>
            <param name="index">
            The zero-based <see cref="T:System.Collections.Generic.List`1" /> index at which the range starts.
            </param>
            <param name="count">
            The number of elements in the range.
            </param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index" /> is less than 0.
            
            -or-
            <paramref name="count" /> is less than 0.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="index" /> and <paramref name="count" /> do not denote a valid range of elements in the <see cref="T:System.Collections.Generic.List`1" />.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.IndexOf(`0,System.Int32)">
            <summary>
            Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the <see cref="T:System.Collections.Generic.List`1" /> that extends from the specified index to the last element.
            </summary>
            <returns>
            The zero-based index of the first occurrence of <paramref name="item" /> within the range of elements in the <see cref="T:System.Collections.Generic.List`1" /> that extends from <paramref name="index" /> to the last element, if found; otherwise, –1.
            </returns>
            <param name="item">
            The object to locate in the <see cref="T:System.Collections.Generic.List`1" />. The value can be <c>null</c> for reference types.
            </param>
            <param name="index">
            The zero-based starting index of the search.
            </param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index" /> is outside the range of valid indexes for the <see cref="T:System.Collections.Generic.List`1" />.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.IndexOf(`0,System.Int32,System.Int32)">
            <summary>
            Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the <see cref="T:System.Collections.Generic.List`1" /> that starts at the specified index and contains the specified number of elements.
            </summary>
            <returns>
            The zero-based index of the first occurrence of <paramref name="item" /> within the range of elements in the <see cref="T:System.Collections.Generic.List`1" /> that starts at <paramref name="index" /> and contains <paramref name="count" /> number of elements, if found; otherwise, –1.
            </returns>
            <param name="item">
            The object to locate in the <see cref="T:System.Collections.Generic.List`1" />. The value can be <c>null</c> for reference types.
            </param>
            <param name="index">
            The zero-based starting index of the search.
            </param>
            <param name="count">
            The number of elements in the section to search.
            </param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index" /> is outside the range of valid indexes for the <see cref="T:System.Collections.Generic.List`1" />.
            
            -or-
            <paramref name="count" /> is less than 0.
            
            -or-
            <paramref name="index" /> and <paramref name="count" /> do not specify a valid section in the <see cref="T:System.Collections.Generic.List`1" />.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.InsertRange(System.Int32,System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Inserts the elements of a collection into the <see cref="T:System.Collections.Generic.List`1" /> at the specified index.
            </summary>
            <param name="index">
            The zero-based index at which the new elements should be inserted.
            </param>
            <param name="collection">
            The collection whose elements should be inserted into the <see cref="T:System.Collections.Generic.List`1" />. The collection itself cannot be <c>null</c>, but it can contain elements that are <c>null</c>, if type T is a reference type.
            </param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="collection" /> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index" /> is less than 0.
            
            -or-
            <paramref name="index" /> is greater than <see cref="P:System.Collections.Generic.List`1.Count" />.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.LastIndexOf(`0)">
            <summary>
            Searches for the specified object and returns the zero-based index of the last occurrence within the entire <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
            <returns>
            The zero-based index of the last occurrence of <paramref name="item" /> within the entire the <see cref="T:System.Collections.Generic.List`1" />, if found; otherwise, –1.
            </returns>
            <param name="item">
            The object to locate in the <see cref="T:System.Collections.Generic.List`1" />. The value can be <c>null</c> for reference types.
            </param>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.LastIndexOf(`0,System.Int32)">
            <summary>
            Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the <see cref="T:System.Collections.Generic.List`1" /> that extends from the first element to the specified index.
            </summary>
            <returns>
            The zero-based index of the last occurrence of <paramref name="item" /> within the range of elements in the <see cref="T:System.Collections.Generic.List`1" /> that extends from the first element to <paramref name="index" />, if found; otherwise, –1.
            </returns>
            <param name="item">
            The object to locate in the <see cref="T:System.Collections.Generic.List`1" />. The value can be <c>null</c> for reference types.
            </param>
            <param name="index">
            The zero-based starting index of the backward search.
            </param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index" /> is outside the range of valid indexes for the <see cref="T:System.Collections.Generic.List`1" />. 
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.LastIndexOf(`0,System.Int32,System.Int32)">
            <summary>
            Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the <see cref="T:System.Collections.Generic.List`1" /> that contains the specified number of elements and ends at the specified index.
            </summary>
            <returns>
            The zero-based index of the last occurrence of <paramref name="item" /> within the range of elements in the <see cref="T:System.Collections.Generic.List`1" /> that contains <paramref name="count" /> number of elements and ends at <paramref name="index" />, if found; otherwise, –1.
            </returns>
            <param name="item">
            The object to locate in the <see cref="T:System.Collections.Generic.List`1" />. The value can be <c>null</c> for reference types.
            </param>
            <param name="index">
            The zero-based starting index of the backward search.
            </param>
            <param name="count">
            The number of elements in the section to search.
            </param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index" /> is outside the range of valid indexes for the <see cref="T:System.Collections.Generic.List`1" />.
            
            -or-
            <paramref name="count" /> is less than 0.
            
            -or-
            <paramref name="index" /> and <paramref name="count" /> do not specify a valid section in the <see cref="T:System.Collections.Generic.List`1" />. 
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.RemoveAll(System.Predicate{`0})">
            <summary>
            Removes the all the elements that match the conditions defined by the specified predicate.
            </summary>
            <returns>
            The number of elements removed from the <see cref="T:System.Collections.Generic.List`1" /> .
            </returns>
            <param name="match">
            The <see cref="T:System.Predicate`1" /> delegate that defines the conditions of the elements to remove.
            </param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="match" /> is <c>null</c>.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.RemoveRange(System.Int32,System.Int32)">
            <summary>
            Removes a range of elements from the <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
            <param name="index">
            The zero-based starting index of the range of elements to remove.
            </param>
            <param name="count">
            The number of elements to remove.
            </param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index" /> is less than 0.
            
            -or-
            <paramref name="count" /> is less than 0.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="index" /> and <paramref name="count" /> do not denote a valid range of elements in the <see cref="T:System.Collections.Generic.List`1" />.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.TrueForAll(System.Predicate{`0})">
            <summary>
            Determines whether every element in the <see cref="T:System.Collections.Generic.List`1" /> matches the conditions defined by the specified predicate.
            </summary>
            <returns><c>true</c> if every element in the <see cref="T:System.Collections.Generic.List`1" /> matches the conditions defined by the specified predicate; otherwise, <c>false</c>. If the list has no elements, the return value is <c>true</c>.
            </returns>
            <param name="match">
            The <see cref="T:System.Predicate`1" /> delegate that defines the conditions to check against the elements.
            </param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="match" /> is <c>null</c>.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.ToArray">
            <summary>
            Copies the elements of the <see cref="T:System.Collections.Generic.List`1" /> to a new array.
            </summary>
            <returns>
            An array containing copies of the elements of the <see cref="T:System.Collections.Generic.List`1" />.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.TrimExcess">
            <summary>
            Sets the capacity to the actual number of elements in the <see cref="T:System.Collections.Generic.List`1" />, if that number is less than a threshold value.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.Reverse">
            <summary>
            Reverses the order of the elements in the entire <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.Reverse(System.Int32,System.Int32)">
            <summary>
            Reverses the order of the elements in the specified range.
            </summary>
            <param name="index">
            The zero-based starting index of the range to reverse.
            </param>
            <param name="count">
            The number of elements in the range to reverse.
            </param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index" /> is less than 0.
            
            -or-
            <paramref name="count" /> is less than 0. 
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="index" /> and <paramref name="count" /> do not denote a valid range of elements in the <see cref="T:System.Collections.Generic.List`1" />. 
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.Sort">
            <summary>
            Sorts the elements in the entire <see cref="T:System.Collections.Generic.List`1" /> using the default comparer.
            </summary>
            <exception cref="T:System.InvalidOperationException">
            The default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default" /> cannot find an implementation of the <see cref="T:System.IComparable`1" /> generic interface or the <see cref="T:System.IComparable" /> interface for type T.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.Sort(System.Collections.IComparer)">
            <summary>
            Sorts the elements in the entire <see cref="T:System.Collections.Generic.List`1" /> using the specified comparer.
            </summary>
            <param name="comparer">
            The <see cref="T:System.Collections.IComparer" /> implementation to use when comparing elements.
            </param>
            <exception cref="T:System.InvalidOperationException">
            <paramref name="comparer" /> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The implementation of <paramref name="comparer" /> caused an error during the sort. For example, <paramref name="comparer" /> might not return 0 when comparing an item with itself.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.Sort(System.Collections.Generic.IComparer{`0})">
            <summary>
            Sorts the elements in the entire <see cref="T:System.Collections.Generic.List`1" /> using the specified comparer.
            </summary>
            <param name="comparer">
            The <see cref="T:System.Collections.Generic.IComparer`1" /> implementation to use when comparing elements, or <c>null</c> to use the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default" />.
            </param>
            <exception cref="T:System.InvalidOperationException">
            <paramref name="comparer" /> is <c>null</c>, and the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default" /> cannot find implementation of the <see cref="T:System.IComparable`1" /> generic interface or the <see cref="T:System.IComparable" /> interface for type T.
            </exception>
            <exception cref="T:System.ArgumentException">
            The implementation of <paramref name="comparer" /> caused an error during the sort. For example, <paramref name="comparer" /> might not return 0 when comparing an item with itself.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.Sort(System.Int32,System.Int32,System.Collections.Generic.IComparer{`0})">
            <summary>
            Sorts the elements in a range of elements in <see cref="T:System.Collections.Generic.List`1" /> using the specified comparer.
            </summary>
            <param name="index">
            The zero-based starting index of the range to sort.
            </param>
            <param name="count">
            The length of the range to sort.
            </param>
            <param name="comparer">
            The <see cref="T:System.Collections.Generic.IComparer`1" /> implementation to use when comparing elements, or <c>null</c> to use the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default" />.
            </param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index" /> is less than 0.
            
            -or-
            <paramref name="count" /> is less than 0.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="index" /> and <paramref name="count" /> do not specify a valid range in the <see cref="T:System.Collections.Generic.List`1" />.
            
            -or-
            
            The implementation of <paramref name="comparer" /> caused an error during the sort. For example, <paramref name="comparer" /> might not return 0 when comparing an item with itself.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            <paramref name="comparer" /> is <c>null</c>, and the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default" /> cannot find implementation of the <see cref="T:System.IComparable`1" /> generic interface or the <see cref="T:System.IComparable" /> interface for type T.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableList`2.Sort(System.Comparison{`0})">
            <summary>
            Sorts the elements in the entire <see cref="T:System.Collections.Generic.List`1" /> using the specified <see cref="T:System.Comparison`1" />.
            </summary>
            <param name="comparison">
            The <see cref="T:System.Comparison`1" /> to use when comparing elements.
            </param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="comparison" /> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The implementation of <paramref name="comparison" /> caused an error during the sort. For example, <paramref name="comparison" /> might not return 0 when comparing an item with itself.
            </exception>
        </member>
        <member name="P:CodeSmith.Core.Collections.WrappedObservableList`2.Item(System.Int32)">
            <summary>
            Gets or sets the element at the specified index.
            </summary>
            <returns>
            The element at the specified index.
            </returns>
            <param name="index">
            The zero-based index of the element to get or set.
            </param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index" /> is less than 0.
            
            -or-
            <paramref name="index" /> is equal to or greater than <see cref="P:System.Collections.Generic.List`1.Count" />. 
            </exception>
        </member>
        <member name="P:CodeSmith.Core.Collections.WrappedObservableList`2.Count">
            <summary>
            Gets the number of elements actually contained in the <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
            <returns>
            The number of elements actually contained in the <see cref="T:System.Collections.Generic.List`1" />.
            </returns>
        </member>
        <member name="P:CodeSmith.Core.Collections.WrappedObservableList`2.System#Collections#Generic#ICollection{TBase}#IsReadOnly">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
            </summary>
            <returns><c>true</c> if the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only; otherwise, <c>false</c>.
              </returns>
        </member>
        <member name="P:CodeSmith.Core.Collections.WrappedObservableList`2.System#Collections#IList#Item(System.Int32)">
            <summary>
            Gets or sets the element at the specified index.
            </summary>
            <returns>
            The element at the specified index.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is not a valid index in the <see cref="T:System.Collections.Generic.IList`1"/>.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The property is set and the <see cref="T:System.Collections.Generic.IList`1"/> is read-only.
            </exception>
        </member>
        <member name="P:CodeSmith.Core.Collections.WrappedObservableList`2.System#Collections#IList#IsReadOnly">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
            </summary>
            <returns>
            <c>true</c> if the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="P:CodeSmith.Core.Collections.WrappedObservableList`2.System#Collections#IList#IsFixedSize">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.IList"/> has a fixed size.
            </summary>
            <returns>
            <c>true</c> if the <see cref="T:System.Collections.IList"/> has a fixed size; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="P:CodeSmith.Core.Collections.WrappedObservableList`2.System#Collections#ICollection#SyncRoot">
            <summary>
            Gets an object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.
            </summary>
            <returns>
            An object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.
            </returns>
        </member>
        <member name="P:CodeSmith.Core.Collections.WrappedObservableList`2.System#Collections#ICollection#IsSynchronized">
            <summary>
            Gets a value indicating whether access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread safe).
            </summary>
            <returns>
            <c>true</c> if access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread safe); otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="E:CodeSmith.Core.Collections.WrappedObservableList`2.CollectionChanged">
            <summary>
            Occurs when an item is added, removed, changed, moved, or the entire list is refreshed.
            </summary>
        </member>
        <member name="E:CodeSmith.Core.Collections.WrappedObservableList`2.PropertyChanged">
            <summary>
            Occurs when a property value changes.
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Collections.DelimitedStringCollection">
            <summary>
            A collection that provides notifications when items get added, removed, or when the whole list is refreshed. 
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Collections.DelimitedStringCollection.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Collections.DelimitedStringCollection"/> class.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Collections.DelimitedStringCollection.#ctor(System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Collections.DelimitedStringCollection"/> class.
            </summary>
            <param name="collection">The collection.</param>
        </member>
        <member name="M:CodeSmith.Core.Collections.DelimitedStringCollection.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Collections.DelimitedStringCollection"/> class.
            </summary>
            <param name="delimitedValues">The delimited values.</param>
        </member>
        <member name="M:CodeSmith.Core.Collections.DelimitedStringCollection.BlockReentrancy">
            <summary>
            Disallows reentrant attempts to change this collection.
            </summary>
            <returns>An IDisposable object that can be used to dispose of the object.</returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.DelimitedStringCollection.CheckReentrancy">
            <summary>
            Checks for reentrant attempts to change this collection.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Collections.DelimitedStringCollection.ClearItems">
            <summary>
            Removes all elements from the <see cref="T:System.Collections.ObjectModel.Collection`1"/>.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Collections.DelimitedStringCollection.InsertItem(System.Int32,System.String)">
            <summary>
            Inserts an element into the <see cref="T:System.Collections.ObjectModel.Collection`1"/> at the specified index.
            </summary>
            <param name="index">The zero-based index at which <paramref name="item"/> should be inserted.</param>
            <param name="item">The object to insert. The value can be null for reference types.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            	<paramref name="index"/> is less than zero.
            -or-
            <paramref name="index"/> is greater than <see cref="P:System.Collections.ObjectModel.Collection`1.Count"/>.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.DelimitedStringCollection.Move(System.Int32,System.Int32)">
            <summary>
            Moves the item at the specified index to a new location in the collection.
            </summary>
            <param name="oldIndex">The zero-based index specifying the location of the item to be moved.</param>
            <param name="newIndex">The zero-based index specifying the new location of the item.</param>
        </member>
        <member name="M:CodeSmith.Core.Collections.DelimitedStringCollection.MoveItem(System.Int32,System.Int32)">
            <summary>
            Moves the item at the specified index to a new location in the collection.
            </summary>
            <param name="oldIndex">The zero-based index specifying the location of the item to be moved.</param>
            <param name="newIndex">The zero-based index specifying the new location of the item.</param>
        </member>
        <member name="M:CodeSmith.Core.Collections.DelimitedStringCollection.OnCollectionChanged">
            <summary>
            Raises the CollectionChanged event with the provided arguments.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Collections.DelimitedStringCollection.OnPropertyChanged(System.ComponentModel.PropertyChangedEventArgs)">
            <summary>
            Raises the PropertyChanged event with the provided arguments.
            </summary>
            <param name="e">The <see cref="T:System.ComponentModel.PropertyChangedEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:CodeSmith.Core.Collections.DelimitedStringCollection.OnPropertyChanged(System.String)">
            <summary>
            Raises the PropertyChanged event with the provided arguments.
            </summary>
            <param name="propertyName">Name of the property.</param>
        </member>
        <member name="M:CodeSmith.Core.Collections.DelimitedStringCollection.RemoveItem(System.Int32)">
            <summary>
            Removes the element at the specified index of the <see cref="T:System.Collections.ObjectModel.Collection`1"/>.
            </summary>
            <param name="index">The zero-based index of the element to remove.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            	<paramref name="index"/> is less than zero.
            -or-
            <paramref name="index"/> is equal to or greater than <see cref="P:System.Collections.ObjectModel.Collection`1.Count"/>.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.DelimitedStringCollection.SetItem(System.Int32,System.String)">
            <summary>
            Replaces the element at the specified index.
            </summary>
            <param name="index">The zero-based index of the element to replace.</param>
            <param name="item">The new value for the element at the specified index. The value can be null for reference types.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            	<paramref name="index"/> is less than zero.
            -or-
            <paramref name="index"/> is greater than <see cref="P:System.Collections.ObjectModel.Collection`1.Count"/>.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.DelimitedStringCollection.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.DelimitedStringCollection.ToString(System.Collections.Generic.IEnumerable{System.String},System.Char)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents the values.
            </summary>
            <param name="values">The values.</param>
            <param name="delimiter">The delimiter.</param>
            <returns>
            A <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.DelimitedStringCollection.ToString(System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Returns a <see cref="T:System.String"/> that represents the values.
            </summary>
            <param name="values">The values.</param>
            <returns>
            A <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.DelimitedStringCollection.ToArray">
            <summary>
            Returns an array of strings that represents the current collection.
            </summary>
            <returns>An array of strings that represents the current collection.</returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.DelimitedStringCollection.AddDelimited(System.String)">
            <summary>
            Adds the split values from <paramref name="delimitedValues"/> to the collection.
            The string is split using the <see cref="P:CodeSmith.Core.Collections.DelimitedStringCollection.Delimiter"/> property.
            </summary>
            <param name="delimitedValues">The delimited values.</param>
            <returns>The number of values added.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="delimitedValues"/> is null.</exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.DelimitedStringCollection.Parse(System.String,System.Char[])">
            <summary>
            Parses the specified delimited values.
            </summary>
            <param name="delimitedValues">The delimited values.</param>
            <param name="delimiter">The list delimiters.</param>
            <returns></returns>
        </member>
        <member name="P:CodeSmith.Core.Collections.DelimitedStringCollection.Delimiter">
            <summary>
            Gets or sets the string delimiter.
            </summary>
            <value>The string delimiter.</value>
        </member>
        <member name="E:CodeSmith.Core.Collections.DelimitedStringCollection.PropertyChanged">
            <summary>
            Occurs when a property value changed.
            </summary>
        </member>
        <member name="E:CodeSmith.Core.Collections.DelimitedStringCollection.CollectionChanged">
            <summary>
            Occurs when the collection changed.
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Collections.DelimitedStringCollection.DelimitedStringTypeConverter">
            <summary>
            A type converter for the <see cref="T:CodeSmith.Core.Collections.DelimitedStringCollection"/>.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Collections.DelimitedStringCollection.DelimitedStringTypeConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
            <summary>
            Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context.
            </summary>
            <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext"/> that provides a format context.</param>
            <param name="sourceType">A <see cref="T:System.Type"/> that represents the type you want to convert from.</param>
            <returns>
            true if this converter can perform the conversion; otherwise, false.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.DelimitedStringCollection.DelimitedStringTypeConverter.CanConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Type)">
            <summary>
            Returns whether this converter can convert the object to the specified type, using the specified context.
            </summary>
            <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext"/> that provides a format context.</param>
            <param name="destinationType">A <see cref="T:System.Type"/> that represents the type you want to convert to.</param>
            <returns>
            true if this converter can perform the conversion; otherwise, false.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.DelimitedStringCollection.DelimitedStringTypeConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
            <summary>
            Converts the given object to the type of this converter, using the specified context and culture information.
            </summary>
            <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext"/> that provides a format context.</param>
            <param name="culture">The <see cref="T:System.Globalization.CultureInfo"/> to use as the current culture.</param>
            <param name="value">The <see cref="T:System.Object"/> to convert.</param>
            <returns>
            An <see cref="T:System.Object"/> that represents the converted value.
            </returns>
            <exception cref="T:System.NotSupportedException">
            The conversion cannot be performed.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.DelimitedStringCollection.DelimitedStringTypeConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)">
            <summary>
            Converts the given value object to the specified type, using the specified context and culture information.
            </summary>
            <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext"/> that provides a format context.</param>
            <param name="culture">A <see cref="T:System.Globalization.CultureInfo"/>. If null is passed, the current culture is assumed.</param>
            <param name="value">The <see cref="T:System.Object"/> to convert.</param>
            <param name="destinationType">The <see cref="T:System.Type"/> to convert the <paramref name="value"/> parameter to.</param>
            <returns>
            An <see cref="T:System.Object"/> that represents the converted value.
            </returns>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="destinationType"/> parameter is null.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The conversion cannot be performed.
            </exception>
        </member>
        <member name="T:CodeSmith.Core.Collections.ObservableCollection`1">
            <summary>
            A collection that provides notifications when items get added, removed, or when the whole list is refreshed. 
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableCollection`1.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Collections.ObservableCollection`1"/> class.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableCollection`1.#ctor(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Collections.ObservableCollection`1"/> class.
            </summary>
            <param name="collection">The collection.</param>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableCollection`1.BlockReentrancy">
            <summary>
            Disallows reentrant attempts to change this collection.
            </summary>
            <returns>An IDisposable object that can be used to dispose of the object.</returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableCollection`1.CheckReentrancy">
            <summary>
            Checks for reentrant attempts to change this collection.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableCollection`1.ClearItems">
            <summary>
            Removes all elements from the <see cref="T:System.Collections.ObjectModel.Collection`1"/>.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableCollection`1.InsertItem(System.Int32,`0)">
            <summary>
            Inserts an element into the <see cref="T:System.Collections.ObjectModel.Collection`1"/> at the specified index.
            </summary>
            <param name="index">The zero-based index at which <paramref name="item"/> should be inserted.</param>
            <param name="item">The object to insert. The value can be null for reference types.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            	<paramref name="index"/> is less than zero.
            -or-
            <paramref name="index"/> is greater than <see cref="P:System.Collections.ObjectModel.Collection`1.Count"/>.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableCollection`1.Move(System.Int32,System.Int32)">
            <summary>
            Moves the item at the specified index to a new location in the collection.
            </summary>
            <param name="oldIndex">The zero-based index specifying the location of the item to be moved.</param>
            <param name="newIndex">The zero-based index specifying the new location of the item.</param>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableCollection`1.MoveItem(System.Int32,System.Int32)">
            <summary>
            Moves the item at the specified index to a new location in the collection.
            </summary>
            <param name="oldIndex">The zero-based index specifying the location of the item to be moved.</param>
            <param name="newIndex">The zero-based index specifying the new location of the item.</param>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableCollection`1.OnCollectionChanged">
            <summary>
            Raises the CollectionChanged event with the provided arguments.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableCollection`1.OnPropertyChanged(System.ComponentModel.PropertyChangedEventArgs)">
            <summary>
            Raises the PropertyChanged event with the provided arguments.
            </summary>
            <param name="e">The <see cref="T:System.ComponentModel.PropertyChangedEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableCollection`1.OnPropertyChanged(System.String)">
            <summary>
            Raises the PropertyChanged event with the provided arguments.
            </summary>
            <param name="propertyName">Name of the property.</param>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableCollection`1.RemoveItem(System.Int32)">
            <summary>
            Removes the element at the specified index of the <see cref="T:System.Collections.ObjectModel.Collection`1"/>.
            </summary>
            <param name="index">The zero-based index of the element to remove.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            	<paramref name="index"/> is less than zero.
            -or-
            <paramref name="index"/> is equal to or greater than <see cref="P:System.Collections.ObjectModel.Collection`1.Count"/>.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ObservableCollection`1.SetItem(System.Int32,`0)">
            <summary>
            Replaces the element at the specified index.
            </summary>
            <param name="index">The zero-based index of the element to replace.</param>
            <param name="item">The new value for the element at the specified index. The value can be null for reference types.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            	<paramref name="index"/> is less than zero.
            -or-
            <paramref name="index"/> is greater than <see cref="P:System.Collections.ObjectModel.Collection`1.Count"/>.
            </exception>
        </member>
        <member name="E:CodeSmith.Core.Collections.ObservableCollection`1.PropertyChanged">
            <summary>
            Occurs when a property value changed.
            </summary>
        </member>
        <member name="E:CodeSmith.Core.Collections.ObservableCollection`1.CollectionChanged">
            <summary>
            Occurs when the collection changed.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Collections.ThreadSafeDictionary`2.OnPropertyChanged(System.ComponentModel.PropertyChangedEventArgs)">
            <summary>
            Raises the PropertyChanged event with the provided arguments.
            </summary>
            <param name="e">The <see cref="T:System.ComponentModel.PropertyChangedEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:CodeSmith.Core.Collections.ThreadSafeDictionary`2.OnPropertyChanged(System.String)">
            <summary>
            Raises the PropertyChanged event with the provided arguments.
            </summary>
            <param name="propertyName">Name of the property.</param>
        </member>
        <member name="M:CodeSmith.Core.Collections.ThreadSafeDictionary`2.OnCollectionChanged">
            <summary>
            Raises the CollectionChanged event with the provided arguments.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Collections.ThreadSafeDictionary`2.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Collections.ThreadSafeDictionary`2"/> class.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Collections.ThreadSafeDictionary`2.#ctor(System.Collections.Generic.IDictionary{`0,`1})">
            <summary>Initializes a new instance of the <see cref="T:CodeSmith.Core.Collections.ThreadSafeDictionary`2"></see> class that contains elements copied from the specified <see cref="T:System.Collections.Generic.IDictionary`2"></see> and uses the default equality comparer for the key type.</summary>
            <param name="dictionary">The <see cref="T:System.Collections.Generic.IDictionary`2"></see> whose elements are copied to the new <see cref="T:CodeSmith.Core.Collections.ThreadSafeDictionary`2"></see>.</param>
            <exception cref="T:System.ArgumentException">dictionary contains one or more duplicate keys.</exception>
            <exception cref="T:System.ArgumentNullException">dictionary is null.</exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ThreadSafeDictionary`2.#ctor(System.Collections.Generic.IEqualityComparer{`0})">
            <summary>Initializes a new instance of the <see cref="T:CodeSmith.Core.Collections.ThreadSafeDictionary`2"></see> class that is empty, has the default initial capacity, and uses the specified <see cref="T:System.Collections.Generic.IEqualityComparer`1"></see>.</summary>
            <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer`1"></see> implementation to use when comparing keys, or null to use the default <see cref="T:System.Collections.Generic.EqualityComparer`1"></see> for the type of the key.</param>
        </member>
        <member name="M:CodeSmith.Core.Collections.ThreadSafeDictionary`2.#ctor(System.Int32)">
            <summary>Initializes a new instance of the <see cref="T:CodeSmith.Core.Collections.ThreadSafeDictionary`2"></see> class that is empty, has the specified initial capacity, and uses the default equality comparer for the key type.</summary>
            <param name="capacity">The initial number of elements that the <see cref="T:CodeSmith.Core.Collections.ThreadSafeDictionary`2"></see> can contain.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">capacity is less than 0.</exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ThreadSafeDictionary`2.#ctor(System.Collections.Generic.IDictionary{`0,`1},System.Collections.Generic.IEqualityComparer{`0})">
            <summary>Initializes a new instance of the <see cref="T:CodeSmith.Core.Collections.ThreadSafeDictionary`2"></see> class that contains elements copied from the specified <see cref="T:System.Collections.Generic.IDictionary`2"></see> and uses the specified <see cref="T:System.Collections.Generic.IEqualityComparer`1"></see>.</summary>
            <param name="dictionary">The <see cref="T:System.Collections.Generic.IDictionary`2"></see> whose elements are copied to the new <see cref="T:CodeSmith.Core.Collections.ThreadSafeDictionary`2"></see>.</param>
            <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer`1"></see> implementation to use when comparing keys, or null to use the default <see cref="T:System.Collections.Generic.EqualityComparer`1"></see> for the type of the key.</param>
            <exception cref="T:System.ArgumentException">dictionary contains one or more duplicate keys.</exception>
            <exception cref="T:System.ArgumentNullException">dictionary is null.</exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ThreadSafeDictionary`2.#ctor(System.Int32,System.Collections.Generic.IEqualityComparer{`0})">
            <summary>Initializes a new instance of the <see cref="T:CodeSmith.Core.Collections.ThreadSafeDictionary`2"></see> class that is empty, has the specified initial capacity, and uses the specified <see cref="T:System.Collections.Generic.IEqualityComparer`1"></see>.</summary>
            <param name="capacity">The initial number of elements that the <see cref="T:CodeSmith.Core.Collections.ThreadSafeDictionary`2"></see> can contain.</param>
            <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer`1"></see> implementation to use when comparing keys, or null to use the default <see cref="T:System.Collections.Generic.EqualityComparer`1"></see> for the type of the key.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">capacity is less than 0.</exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ThreadSafeDictionary`2.OnDeserialization(System.Object)">
            <summary>Implements the <see cref="T:System.Runtime.Serialization.ISerializable"></see> interface and raises the deserialization event when the deserialization is complete.</summary>
            <param name="sender">The source of the deserialization event.</param>
            <exception cref="T:System.Runtime.Serialization.SerializationException">The <see cref="T:System.Runtime.Serialization.SerializationInfo"></see> object associated with the current <see cref="T:CodeSmith.Core.Collections.ThreadSafeDictionary`2"></see> instance is invalid.</exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ThreadSafeDictionary`2.Add(`0,`1)">
            <summary>Adds the specified key and value to the dictionary.</summary>
            <param name="value">The value of the element to add. The value can be null for reference types.</param>
            <param name="key">The key of the element to add.</param>
            <exception cref="T:System.ArgumentException">An element with the same key already exists in the <see cref="T:CodeSmith.Core.Collections.ThreadSafeDictionary`2"></see>.</exception>
            <exception cref="T:System.ArgumentNullException">key is null.</exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ThreadSafeDictionary`2.Clear">
            <summary>Removes all keys and values from the <see cref="T:CodeSmith.Core.Collections.ThreadSafeDictionary`2"></see>.</summary>
        </member>
        <member name="M:CodeSmith.Core.Collections.ThreadSafeDictionary`2.ContainsKey(`0)">
            <summary>Determines whether the <see cref="T:CodeSmith.Core.Collections.ThreadSafeDictionary`2"></see> contains the specified key.</summary>
            <returns>true if the <see cref="T:CodeSmith.Core.Collections.ThreadSafeDictionary`2"></see> contains an element with the specified key; otherwise, false.</returns>
            <param name="key">The key to locate in the <see cref="T:CodeSmith.Core.Collections.ThreadSafeDictionary`2"></see>.</param>
            <exception cref="T:System.ArgumentNullException">key is null.</exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ThreadSafeDictionary`2.Remove(`0)">
            <summary>Removes the value with the specified key from the <see cref="T:CodeSmith.Core.Collections.ThreadSafeDictionary`2"></see>.</summary>
            <returns>true if the element is successfully found and removed; otherwise, false.  This method returns false if key is not found in the <see cref="T:CodeSmith.Core.Collections.ThreadSafeDictionary`2"></see>.</returns>
            <param name="key">The key of the element to remove.</param>
            <exception cref="T:System.ArgumentNullException">key is null.</exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ThreadSafeDictionary`2.TryGetValue(`0,`1@)">
            <summary>
            Gets the value associated with the specified key.
            </summary>
            <param name="key">The key whose value to get.</param>
            <param name="value">When this method returns, the value associated with the specified key, if the key is found; otherwise, the default value for the type of the <paramref name="value"/> parameter. This parameter is passed uninitialized.</param>
            <returns>
            true if the object that implements <see cref="T:System.Collections.Generic.IDictionary`2"/> contains an element with the specified key; otherwise, false.
            </returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is null.</exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ThreadSafeDictionary`2.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>Implements the <see cref="T:System.Runtime.Serialization.ISerializable"></see> interface and returns the data needed to serialize the <see cref="T:CodeSmith.Core.Collections.ThreadSafeDictionary`2"></see> instance.</summary>
            <param name="context">A <see cref="T:System.Runtime.Serialization.StreamingContext"></see> structure that contains the source and destination of the serialized stream associated with the <see cref="T:CodeSmith.Core.Collections.ThreadSafeDictionary`2"></see> instance.</param>
            <param name="info">A <see cref="T:System.Runtime.Serialization.SerializationInfo"></see> object that contains the information required to serialize the <see cref="T:CodeSmith.Core.Collections.ThreadSafeDictionary`2"></see> instance.</param>
            <exception cref="T:System.ArgumentNullException">info is null.</exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.ThreadSafeDictionary`2.ContainsValue(`1)">
            <summary>Determines whether the <see cref="T:CodeSmith.Core.Collections.ThreadSafeDictionary`2"></see> contains a specific value.</summary>
            <returns>true if the <see cref="T:CodeSmith.Core.Collections.ThreadSafeDictionary`2"></see> contains an element with the specified value; otherwise, false.</returns>
            <param name="value">The value to locate in the <see cref="T:CodeSmith.Core.Collections.ThreadSafeDictionary`2"></see>. The value can be null for reference types.</param>
        </member>
        <member name="M:CodeSmith.Core.Collections.ThreadSafeDictionary`2.GetEnumerator">
            <summary>Returns an enumerator that iterates through the <see cref="T:CodeSmith.Core.Collections.ThreadSafeDictionary`2"></see>.</summary>
            <returns>A <see cref="T:System.Collections.Generic.Dictionary`2.Enumerator"></see> structure for the <see cref="T:CodeSmith.Core.Collections.ThreadSafeDictionary`2"></see>.</returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.ThreadSafeDictionary`2.EnterReadLock">
            <summary>
            Enters the read lock.
            </summary>
            <returns></returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.ThreadSafeDictionary`2.EnterUpgradeableReadLock">
            <summary>
            Enters the upgradeable read lock.
            </summary>
            <returns></returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.ThreadSafeDictionary`2.EnterWriteLock">
            <summary>
            Enters the write lock.
            </summary>
            <returns></returns>
        </member>
        <member name="E:CodeSmith.Core.Collections.ThreadSafeDictionary`2.PropertyChanged">
            <summary>
            Occurs when a property value changed.
            </summary>
        </member>
        <member name="E:CodeSmith.Core.Collections.ThreadSafeDictionary`2.CollectionChanged">
            <summary>
            Occurs when the collection changed.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Collections.ThreadSafeDictionary`2.Comparer">
            <summary>Gets the <see cref="T:System.Collections.Generic.IEqualityComparer`1"></see> that is used to determine equality of keys for the dictionary. </summary>
            <returns>The <see cref="T:System.Collections.Generic.IEqualityComparer`1"></see> generic interface implementation that is used to determine equality of keys for the current <see cref="T:CodeSmith.Core.Collections.ThreadSafeDictionary`2"></see> and to provide hash values for the keys.</returns>
        </member>
        <member name="P:CodeSmith.Core.Collections.ThreadSafeDictionary`2.Keys">
            <summary>Gets a collection containing the keys in the <see cref="T:CodeSmith.Core.Collections.ThreadSafeDictionary`2"></see>.</summary>
            <returns>A <see cref="T:System.Collections.Generic.Dictionary`2.KeyCollection"></see> containing the keys in the <see cref="T:CodeSmith.Core.Collections.ThreadSafeDictionary`2"></see>.</returns>
        </member>
        <member name="P:CodeSmith.Core.Collections.ThreadSafeDictionary`2.Values">
            <summary>Gets a collection containing the values in the <see cref="T:CodeSmith.Core.Collections.ThreadSafeDictionary`2"></see>.</summary>
            <returns>A <see cref="T:System.Collections.Generic.Dictionary`2.ValueCollection"></see> containing the values in the <see cref="T:CodeSmith.Core.Collections.ThreadSafeDictionary`2"></see>.</returns>
        </member>
        <member name="P:CodeSmith.Core.Collections.ThreadSafeDictionary`2.Count">
            <summary>Gets the number of key/value pairs contained in the <see cref="T:CodeSmith.Core.Collections.ThreadSafeDictionary`2"></see>.</summary>
            <returns>The number of key/value pairs contained in the <see cref="T:CodeSmith.Core.Collections.ThreadSafeDictionary`2"></see>.</returns>
        </member>
        <member name="P:CodeSmith.Core.Collections.ThreadSafeDictionary`2.Item(`0)">
            <summary>Gets or sets the value associated with the specified key.</summary>
            <returns>The value associated with the specified key. If the specified key is not found, a get operation throws a <see cref="T:System.Collections.Generic.KeyNotFoundException"></see>, and a set operation creates a new element with the specified key.</returns>
            <param name="key">The key of the value to get or set.</param>
            <exception cref="T:System.ArgumentNullException">key is null.</exception>
            <exception cref="T:System.Collections.Generic.KeyNotFoundException">The property is retrieved and key does not exist in the collection.</exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableCollection`2.Add(`0)">
            <summary>
            Adds an object to the end of the <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
            <param name="item">
            The object to be added to the end of the <see cref="T:System.Collections.Generic.List`1" />. The value can be <c>null</c> for reference types.
            </param>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableCollection`2.Clear">
            <summary>
            Removes all elements from the <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableCollection`2.Contains(`0)">
            <summary>
            Determines whether an element is in the <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
            <returns><c>true</c> if <paramref name="item" /> is found in the <see cref="T:System.Collections.Generic.List`1" />; otherwise, <c>false</c>.
            </returns>
            <param name="item">
            The object to locate in the <see cref="T:System.Collections.Generic.List`1" />. The value can be <c>null</c> for reference types.
            </param>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableCollection`2.CopyTo(`0[],System.Int32)">
            <summary>
            Copies the entire <see cref="T:System.Collections.Generic.List`1" /> to a compatible one-dimensional array, starting at the specified index of the target array.
            </summary>
            <param name="array">
            The one-dimensional <see cref="T:System.Array" /> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.List`1" />. The <see cref="T:System.Array" /> must have zero-based indexing.
            </param>
            <param name="arrayIndex">
            The zero-based index in <paramref name="array" /> at which copying begins.
            </param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="array" /> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="arrayIndex" /> is less than 0.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="arrayIndex" /> is equal to or greater than the length of <paramref name="array" />.
            
            -or-
            
            The number of elements in the source <see cref="T:System.Collections.Generic.List`1" /> is greater than the available space from <paramref name="arrayIndex" /> to the end of the destination <paramref name="array" />.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableCollection`2.Remove(`0)">
            <summary>
            Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
            <returns><c>true</c> if <paramref name="item" /> is successfully removed; otherwise, <c>false</c>.  This method also returns <c>false</c> if <paramref name="item" /> was not found in the <see cref="T:System.Collections.Generic.List`1" />.
            </returns>
            <param name="item">
            The object to remove from the <see cref="T:System.Collections.Generic.List`1" />. The value can be <c>null</c> for reference types.
            </param>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableCollection`2.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.List`1.Enumerator" /> for the <see cref="T:System.Collections.Generic.List`1" />.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Collections.WrappedObservableCollection`2.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="P:CodeSmith.Core.Collections.WrappedObservableCollection`2.Count">
            <summary>
            Gets the number of elements actually contained in the <see cref="T:System.Collections.Generic.List`1" />.
            </summary>
            <returns>
            The number of elements actually contained in the <see cref="T:System.Collections.Generic.List`1" />.
            </returns>
        </member>
        <member name="P:CodeSmith.Core.Collections.WrappedObservableCollection`2.System#Collections#Generic#ICollection{TBase}#IsReadOnly">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
            </summary>
            <returns><c>true</c> if the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only; otherwise, <c>false</c>.
              </returns>
        </member>
        <member name="E:CodeSmith.Core.Collections.WrappedObservableCollection`2.CollectionChanged">
            <summary>
            Occurs when an item is added, removed, changed, moved, or the entire list is refreshed.
            </summary>
        </member>
        <member name="E:CodeSmith.Core.Collections.WrappedObservableCollection`2.PropertyChanged">
            <summary>
            Occurs when a property value changes.
            </summary>
        </member>
        <member name="T:CodeSmith.Core.CommandLine.ArgumentAttribute">
            <summary>
            Allows control of command line parsing.
            Attach this attribute to instance fields of types used
            as the destination of command line argument parsing.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.CommandLine.ArgumentAttribute.#ctor(CodeSmith.Core.CommandLine.ArgumentType)">
            <summary>
            Allows control of command line parsing.
            </summary>
            <param name="type"> Specifies the error checking to be done on the argument. </param>
        </member>
        <member name="P:CodeSmith.Core.CommandLine.ArgumentAttribute.Type">
            <summary>
            The error checking to be done on the argument.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.CommandLine.ArgumentAttribute.DefaultShortName">
            <summary>
            Returns true if the argument did not have an explicit short name specified.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.CommandLine.ArgumentAttribute.ShortName">
            <summary>
            The short name of the argument.
            Set to null means use the default short name if it does not
            conflict with any other parameter name.
            Set to String.Empty for no short name.
            This property should not be set for DefaultArgumentAttributes.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.CommandLine.ArgumentAttribute.DefaultLongName">
            <summary>
            Returns true if the argument did not have an explicit long name specified.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.CommandLine.ArgumentAttribute.LongName">
            <summary>
            The long name of the argument.
            Set to null means use the default long name.
            The long name for every argument must be unique.
            It is an error to specify a long name of String.Empty.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.CommandLine.ArgumentAttribute.DefaultValue">
            <summary>
            The default value of the argument.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.CommandLine.ArgumentAttribute.HasDefaultValue">
            <summary>
            Returns true if the argument has a default value.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.CommandLine.ArgumentAttribute.HasHelpText">
            <summary>
            Returns true if the argument has help text specified.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.CommandLine.ArgumentAttribute.HelpText">
            <summary>
            The help text for the argument.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.CommandLine.ArgumentAttribute.IsToggle">
            <summary>
            Show optional boolean toggle syntax options for the arguments.  
            </summary>
        </member>
        <member name="T:CodeSmith.Core.CommandLine.ArgumentType">
            <summary>
            Used to control parsing of command line arguments.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.CommandLine.ArgumentType.Required">
            <summary>
            Indicates that this field is required. An error will be displayed
            if it is not present when parsing arguments.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.CommandLine.ArgumentType.Unique">
            <summary>
            Only valid in conjunction with Multiple.
            Duplicate values will result in an error.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.CommandLine.ArgumentType.Multiple">
            <summary>
            Indicates that the argument may be specified more than once.
            Only valid if the argument is a collection
            </summary>
        </member>
        <member name="F:CodeSmith.Core.CommandLine.ArgumentType.AtMostOnce">
            <summary>
            The default type for non-collection arguments.
            The argument is not required, but an error will be reported if it is specified more than once.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.CommandLine.ArgumentType.LastOccurenceWins">
            <summary>
            For non-collection arguments, when the argument is specified more than
            once no error is reported and the value of the argument is the last
            value which occurs in the argument list.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.CommandLine.ArgumentType.MultipleUnique">
            <summary>
            The default type for collection arguments.
            The argument is permitted to occur multiple times, but duplicate 
            values will cause an error to be reported.
            </summary>
        </member>
        <member name="T:CodeSmith.Core.CommandLine.DefaultArgumentAttribute">
            <summary>
            Indicates that this argument is the default argument.
            '/' or '-' prefix only the argument value is specified.
            The ShortName property should not be set for DefaultArgumentAttribute
            instances. The LongName property is used for usage text only and
            does not affect the usage of the argument.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.CommandLine.DefaultArgumentAttribute.#ctor(CodeSmith.Core.CommandLine.ArgumentType)">
            <summary>
            Indicates that this argument is the default argument.
            </summary>
            <param name="type"> Specifies the error checking to be done on the argument. </param>
        </member>
        <member name="T:CodeSmith.Core.CommandLine.ErrorReporter">
            <summary>
            A delegate used in error reporting.
            </summary>
        </member>
        <member name="T:CodeSmith.Core.CommandLine.Parser">
             <summary>
             Parser for command line arguments.
            
             The parser specification is inferred from the instance fields of the object
             specified as the destination of the parse.
             Valid argument types are: int, uint, string, bool, enums
             Also argument types of Array of the above types are also valid.
             
             Error checking options can be controlled by adding a ArgumentAttribute
             to the instance fields of the destination object.
            
             At most one field may be marked with the DefaultArgumentAttribute
             indicating that arguments without a '-' or '/' prefix will be parsed as that argument.
            
             If not specified then the parser will infer default options for parsing each
             instance field. The default long name of the argument is the field name. The
             default short name is the first character of the long name. Long names and explicitly
             specified short names must be unique. Default short names will be used provided that
             the default short name does not conflict with a long name or an explicitly
             specified short name.
            
             Arguments which are array types are collection arguments. Collection
             arguments can be specified multiple times.
             </summary>
        </member>
        <member name="F:CodeSmith.Core.CommandLine.Parser.NewLine">
            <summary>
            The System Defined new line String.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.CommandLine.Parser.#ctor">
            <summary>
            Don't ever call this.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.CommandLine.Parser.ParseArgumentsWithUsage(System.String[],System.Object)">
            <summary>
            Parses Command Line Arguments. Displays usage message to Console.Out
            if /?, /help or invalid arguments are encountered.
            Errors are output on Console.Error.
            Use ArgumentAttributes to control parsing behavior.
            </summary>
            <param name="arguments"> The actual arguments. </param>
            <param name="destination"> The resulting parsed arguments. </param>
            <returns> true if no errors were detected. </returns>
        </member>
        <member name="M:CodeSmith.Core.CommandLine.Parser.ParseArguments(System.String[],System.Object)">
            <summary>
            Parses Command Line Arguments. 
            Errors are output on Console.Error.
            Use ArgumentAttributes to control parsing behavior.
            </summary>
            <param name="arguments"> The actual arguments. </param>
            <param name="destination"> The resulting parsed arguments. </param>
            <returns> true if no errors were detected. </returns>
        </member>
        <member name="M:CodeSmith.Core.CommandLine.Parser.ParseArguments(System.String[],System.Object,CodeSmith.Core.CommandLine.ErrorReporter)">
            <summary>
            Parses Command Line Arguments. 
            Use ArgumentAttributes to control parsing behavior.
            </summary>
            <param name="arguments"> The actual arguments. </param>
            <param name="destination"> The resulting parsed arguments. </param>
            <param name="reporter"> The destination for parse errors. </param>
            <returns> true if no errors were detected. </returns>
        </member>
        <member name="M:CodeSmith.Core.CommandLine.Parser.ParseHelp(System.String[])">
            <summary>
            Checks if a set of arguments asks for help.
            </summary>
            <param name="args"> Args to check for help. </param>
            <returns> Returns true if args contains /? or /help. </returns>
        </member>
        <member name="M:CodeSmith.Core.CommandLine.Parser.ArgumentsUsage(System.Type)">
            <summary>
            Returns a Usage string for command line argument parsing.
            Use ArgumentAttributes to control parsing behavior.
            Formats the output to the width of the current console window.
            </summary>
            <param name="argumentType"> The type of the arguments to display usage for. </param>
            <returns> Printable string containing a user friendly description of command line arguments. </returns>
        </member>
        <member name="M:CodeSmith.Core.CommandLine.Parser.ArgumentsUsage(System.Type,System.Int32)">
            <summary>
            Returns a Usage string for command line argument parsing.
            Use ArgumentAttributes to control parsing behavior.
            </summary>
            <param name="argumentType"> The type of the arguments to display usage for. </param>
            <param name="columns"> The number of columns to format the output to. </param>
            <returns> Printable string containing a user friendly description of command line arguments. </returns>
        </member>
        <member name="M:CodeSmith.Core.CommandLine.Parser.IndexOf(System.Text.StringBuilder,System.Char,System.Int32)">
            <summary>
            Searches a StringBuilder for a character
            </summary>
            <param name="text"> The text to search. </param>
            <param name="value"> The character value to search for. </param>
            <param name="startIndex"> The index to stat searching at. </param>
            <returns> The index of the first occurrence of value or -1 if it is not found. </returns>
        </member>
        <member name="M:CodeSmith.Core.CommandLine.Parser.LastIndexOf(System.Text.StringBuilder,System.Char,System.Int32)">
            <summary>
            Searches a StringBuilder for a character in reverse
            </summary>
            <param name="text"> The text to search. </param>
            <param name="value"> The character to search for. </param>
            <param name="startIndex"> The index to start the search at. </param>
            <returns>The index of the last occurrence of value in text or -1 if it is not found. </returns>
        </member>
        <member name="M:CodeSmith.Core.CommandLine.Parser.#ctor(System.Type,CodeSmith.Core.CommandLine.ErrorReporter)">
            <summary>
            Creates a new command line argument parser.
            </summary>
            <param name="argumentSpecification"> The type of object to  parse. </param>
            <param name="reporter"> The destination for parse errors. </param>
        </member>
        <member name="M:CodeSmith.Core.CommandLine.Parser.ParseArgumentList(System.String[],System.Object)">
            <summary>
            Parses an argument list into an object
            </summary>
            <param name="args"></param>
            <param name="destination"></param>
            <returns> true if an error occurred </returns>
        </member>
        <member name="M:CodeSmith.Core.CommandLine.Parser.Parse(System.String[],System.Object)">
            <summary>
            Parses an argument list.
            </summary>
            <param name="args"> The arguments to parse. </param>
            <param name="destination"> The destination of the parsed arguments. </param>
            <returns> true if no parse errors were encountered. </returns>
        </member>
        <member name="M:CodeSmith.Core.CommandLine.Parser.GetUsageString(System.Int32)">
            <summary>
            A user firendly usage string describing the command line argument syntax.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.CommandLine.Parser.HasDefaultArgument">
            <summary>
            Does this parser have a default argument.
            </summary>
            <value> Does this parser have a default argument. </value>
        </member>
        <member name="T:CodeSmith.Core.Component.IPipelineContext">
            <summary>
            The interface for pipeline context data
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Component.IPipelineContext.IsCancelled">
            <summary>
            Gets or sets a value indicating whether this pipeline is cancelled.
            </summary>
            <value>
            	<c>true</c> if this pipeline is cancelled; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:CodeSmith.Core.Component.IPipelineContext.IsProcessed">
            <summary>
            Gets or sets a value indicating whether this pipeline context is processed.
            </summary>
            <value>
            	<c>true</c> if this pipeline context is processed; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="T:CodeSmith.Core.Component.PipelineContextBase">
            <summary>
            The base class for pipeline context data
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Component.PipelineContextBase.IsCancelled">
            <summary>
            Gets or sets a value indicating whether this pipeline is cancelled.
            </summary>
            <value>
            	<c>true</c> if this pipeline is cancelled; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:CodeSmith.Core.Component.PipelineContextBase.IsProcessed">
            <summary>
            Gets or sets a value indicating whether this pipeline context is processed.
            </summary>
            <value>
            	<c>true</c> if this pipeline context is processed; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="M:CodeSmith.Core.Component.IPipelineAction`1.Process(`0)">
            <summary>
            Processes this action using the specified pipeline context.
            </summary>
            <param name="context">The pipeline context.</param>
        </member>
        <member name="M:CodeSmith.Core.Component.IPipelineAction`1.HandleError(System.Exception,`0)">
            <summary>
            Handle exceptions thrown by this action.
            </summary>
            <param name="exception">The exception that occurred while processing the action.</param>
            <param name="context">The pipeline context.</param>
            <returns>Return true if processing should continue or false if processing should halt.</returns>
        </member>
        <member name="T:CodeSmith.Core.Component.PipelineActionBase`1">
            <summary>
            The base class for pipeline actions
            </summary>
            <typeparam name="TContext">The type of the pipeline context.</typeparam>
        </member>
        <member name="M:CodeSmith.Core.Component.PipelineActionBase`1.Process(`0)">
            <summary>
            Processes this action using the specified pipeline context.
            </summary>
            <param name="context">The pipeline context.</param>
        </member>
        <member name="M:CodeSmith.Core.Component.PipelineActionBase`1.HandleError(System.Exception,`0)">
            <summary>
            Handle exceptions thrown by this action.
            </summary>
            <param name="exception">The exception that occurred while processing the action.</param>
            <param name="context">The pipeline context.</param>
            <returns>Return true if processing should continue or false if processing should halt.</returns>
        </member>
        <member name="T:CodeSmith.Core.Component.PipelineBase`2">
            <summary>
            The base class for a pipeline service.
            </summary>
            <typeparam name="TContext">The type used as the context for the pipeline.</typeparam>
            <typeparam name="TAction">The base type of the pipeline action to run in this pipeline.</typeparam>
            <remarks>
            The pipeline works by executing actions (classes) that have a common base class in a series.
            To setup a pipeline, you have to have a context class that will hold all the common data for the pipeline.
            You also have to have a common base class that inherits <see cref="T:CodeSmith.Core.Component.IPipelineContext"/> for all your actions.
            The pipeline looks for all types that inherit that action base class to run.
            </remarks>
        </member>
        <member name="M:CodeSmith.Core.Component.PipelineBase`2.Run(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Runs all the modules of pipeline with the specified context list.
            </summary>
            <param name="contexts">The context list to run the modules with.</param>
        </member>
        <member name="M:CodeSmith.Core.Component.PipelineBase`2.Run(`0)">
            <summary>
            Runs all the modules of pipeline with the specified context.
            </summary>
            <param name="context">The context to run the modules with.</param>
        </member>
        <member name="M:CodeSmith.Core.Component.PipelineBase`2.Run(`0,System.Collections.Generic.IEnumerable{System.Type})">
            <summary>
            Runs all the specified actions with the specified context.
            </summary>
            <param name="context">The context to run the modules with.</param>
            <param name="actionTypes">The ordered list of action types to run on the context.</param>
        </member>
        <member name="M:CodeSmith.Core.Component.PipelineBase`2.PipelineRunning(`0)">
            <summary>
            Called before any pipeline modules are run.
            </summary>
            <param name="context">The context the modules will run with.</param>
        </member>
        <member name="M:CodeSmith.Core.Component.PipelineBase`2.PipelineCompleted(`0)">
            <summary>
            Called after all pipeline modules have run.
            </summary>
            <param name="context">The context the modules ran with.</param>
        </member>
        <member name="M:CodeSmith.Core.Component.PipelineBase`2.GetActionTypes">
            <summary>
            Gets the types that are subclasses of <typeparamref name="TAction"/>.
            </summary>
            <returns>An enumerable list of action types in priority order to run for the pipeline.</returns>
        </member>
        <member name="T:CodeSmith.Core.Component.PriorityAttribute">
            <summary>
            Used to determine action priority.
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Component.Singleton`1">
            <summary>
            Provides a global point of access to a single instance of a given class.
            </summary>
            <typeparam name="T">The type to provide a singleton instance for.</typeparam>
            <remarks>
            <para>
            The singleton instance can be accessed through a static property,
            where the type of the singleton is passed as a generic type parameter.
            Subsequent requests for the instance will yield the same class instance.
            </para>
            <para>
            The singleton is thread-safe and lazy (i.e. it is created when the instance is first requested).
            </para>
            </remarks>
            <example>
            The following example gets a singleton instance of a <c>Foo</c> class:
            <code>
            Foo singleInstance = Singleton.Current;
            </code>
            </example>
        </member>
        <member name="P:CodeSmith.Core.Component.Singleton`1.Current">
            <summary>
            Gets the singleton instance.
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Component.SingletonBase`1">
            <summary>
            A class representing a singleton pattern.
            </summary>
            <typeparam name="T">The type of the singleton</typeparam>
        </member>
        <member name="M:CodeSmith.Core.Component.SingletonBase`1.#ctor">
            <summary>
            Initializes a new instance of the class.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Component.SingletonBase`1.Current">
            <summary>
            Gets the current instance of the singleton.
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Component.WeakReference`1">
            <summary> 
            Represents a weak reference, which references an object while still allowing   
            that object to be reclaimed by garbage collection.    
            </summary>    
            <typeparam name="T">The type of the object that is referenced.</typeparam>    
        </member>
        <member name="M:CodeSmith.Core.Component.WeakReference`1.#ctor(`0)">
            <summary>        
            Initializes a new instance of the Minimal.WeakReference{T} class, referencing        
            the specified object.        
            </summary>        
            <param name="target">The object to reference.</param>        
        </member>
        <member name="M:CodeSmith.Core.Component.WeakReference`1.#ctor(`0,System.Boolean)">
            <summary>        
            Initializes a new instance of the WeakReference{T} class, referencing 
            the specified object and using the specified resurrection tracking. 
            </summary>        
            <param name="target">An object to track.</param> 
            <param name="trackResurrection">Indicates when to stop tracking the object. If true, the object is tracked 
            after finalization; if false, the object is only tracked until finalization.</param> 
        </member>
        <member name="M:CodeSmith.Core.Component.WeakReference`1.op_Implicit(`0)~CodeSmith.Core.Component.WeakReference{`0}">
            <summary> 
            Casts an object of the type T to a weak reference 
            of T. 
            </summary> 
        </member>
        <member name="M:CodeSmith.Core.Component.WeakReference`1.op_Implicit(CodeSmith.Core.Component.WeakReference{`0})~`0">
            <summary> 
            Casts a weak reference to an object of the type the 
            reference represents. 
            </summary> 
        </member>
        <member name="P:CodeSmith.Core.Component.WeakReference`1.Target">
            <summary> 
            Gets or sets the object (the target) referenced by the current WeakReference{T} 
            object. 
            </summary> 
        </member>
        <member name="M:CodeSmith.Core.ContentType.GetByExtension(System.String)">
            <summary>
            Gets the content type based on file extension .
            </summary>
            <param name="fileExtension">The file extension.</param>
            <returns>The content type.</returns>
        </member>
        <member name="T:CodeSmith.Core.ContentType.Text">
            <summary>
            Human-readable text and source code content types
            </summary>
        </member>
        <member name="F:CodeSmith.Core.ContentType.Text.Enriched">
            <summary>RichText; text/enriched</summary>
        </member>
        <member name="F:CodeSmith.Core.ContentType.Text.Html">
            <summary>Html; text/html</summary>
        </member>
        <member name="F:CodeSmith.Core.ContentType.Text.Plain">
            <summary>Plain Text; text/plain</summary>
        </member>
        <member name="F:CodeSmith.Core.ContentType.Text.RichText">
            <summary>RichText; text/richtext</summary>
        </member>
        <member name="F:CodeSmith.Core.ContentType.Text.Sgml">
            <summary>Sgml; text/sgml</summary>
        </member>
        <member name="F:CodeSmith.Core.ContentType.Text.JavaScript">
            <summary>JavaScript; text/javascript</summary>
        </member>
        <member name="F:CodeSmith.Core.ContentType.Text.Css">
            <summary>Cascading Style Sheets; text/css</summary>
        </member>
        <member name="F:CodeSmith.Core.ContentType.Text.Xml">
            <summary>Xml; text/xml</summary>
        </member>
        <member name="M:CodeSmith.Core.Component.DisposableBase.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Component.DisposableBase.Dispose(System.Boolean)">
            <summary>
            Releases unmanaged and - optionally - managed resources
            </summary>
            <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
        </member>
        <member name="M:CodeSmith.Core.Component.DisposableBase.DisposeManagedResources">
            <summary>
            Disposes the managed resources.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Component.DisposableBase.DisposeUnmanagedResources">
            <summary>
            Disposes the unmanaged resources.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Component.DisposableBase.Finalize">
            <summary>
            Releases unmanaged resources and performs other cleanup operations before the
            <see cref="T:CodeSmith.Core.Component.DisposableBase"/> is reclaimed by garbage collection.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.DataAnnotations.CreditCardValidation.IsCardNumberValid(System.String)">
            <summary>
            Validates a credit card number using the standard Luhn/mod10 validation algorithm.
            </summary>
            <param name="cardNumber">Card number, with or without punctuation</param>
            <returns>
            	<c>true</c> if card number appears valid; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.DataAnnotations.CreditCardValidation.CleanCardNumber(System.String)">
            <summary>
            Cleans the credit card number.
            </summary>
            <param name="cardNumber">The card number.</param>
            <returns>The card number with only the valid digits.</returns>
        </member>
        <member name="M:CodeSmith.Core.DataAnnotations.CreditCardValidation.IsCardExired(System.Int32,System.Int32)">
            <summary>
            Determines whether the credit card is exired.
            </summary>
            <param name="year">The year.</param>
            <param name="month">The month.</param>
            <returns>
            	<c>true</c> if credit card is exired; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="T:CodeSmith.Core.Database.AdoHelper`1">
            <summary>
            The AdoHelper class is intended to encapsulate high performance, scalable best practices for
            common data access uses.
            </summary>
            <typeparam name="TFactory">The type of the factory.</typeparam>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.GetParameter(System.String,System.Object)">
            <summary>
            Get an IDataParameter for use in a SQL command
            </summary>
            <param name="name">The name of the parameter to create</param>
            <param name="value">The value of the specified parameter</param>
            <returns>An IDataParameter object</returns>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.GetParameter(System.String,System.Data.DbType,System.Int32,System.Data.ParameterDirection)">
            <summary>
            Get an IDataParameter for use in a SQL command
            </summary>
            <param name="name">The name of the parameter to create</param>
            <param name="dbType">The System.Data.DbType of the parameter</param>
            <param name="size">The size of the parameter</param>
            <param name="direction">The System.Data.ParameterDirection of the parameter</param>
            <returns>An IDataParameter object</returns>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.GetParameter(System.String,System.Data.DbType,System.Int32,System.String,System.Data.DataRowVersion)">
            <summary>
            Get an IDataParameter for use in a SQL command
            </summary>
            <param name="name">The name of the parameter to create</param>
            <param name="dbType">The System.Data.DbType of the parameter</param>
            <param name="size">The size of the parameter</param>
            <param name="sourceColumn">The source column of the parameter</param>
            <param name="sourceVersion">The System.Data.DataRowVersion of the parameter</param>
            <returns>An IDataParameter object</returns>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.AttachParameters(System.Data.IDbCommand,System.Data.IDataParameter[])">
            <summary>
            This method is used to attach array of IDataParameters to an IDbCommand.
            
            This method will assign a value of DbNull to any parameter with a direction of
            InputOutput and a value of null.  
            
            This behavior will prevent default values from being used, but
            this will be the less common case than an intended pure output parameter (derived as InputOutput)
            where the user provided no input value.
            </summary>
            <param name="command">The command to which the parameters will be added</param>
            <param name="commandParameters">An array of IDataParameterParameters to be added to command</param>
            <exception cref="T:System.ArgumentNullException">Thrown if command is null.</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.AssignParameterValues(System.Data.IDataParameterCollection,System.Data.DataRow)">
            <summary>
            This method assigns dataRow column values to an IDataParameterCollection
            </summary>
            <param name="commandParameters">The IDataParameterCollection to be assigned values</param>
            <param name="dataRow">The dataRow used to hold the stored procedure's parameter values</param>
            <exception cref="T:System.InvalidOperationException">Thrown if any of the parameter names are invalid.</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.AssignParameterValues(System.Data.IDataParameter[],System.Data.DataRow)">
            <summary>
            This method assigns dataRow column values to an array of IDataParameters
            </summary>
            <param name="commandParameters">Array of IDataParameters to be assigned values</param>
            <param name="dataRow">The dataRow used to hold the stored procedure's parameter values</param>
            <exception cref="T:System.InvalidOperationException">Thrown if any of the parameter names are invalid.</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.AssignParameterValues(System.Data.IDataParameter[],System.Object[])">
            <summary>
            This method assigns an array of values to an array of IDataParameters
            </summary>
            <param name="commandParameters">Array of IDataParameters to be assigned values</param>
            <param name="parameterValues">Array of objects holding the values to be assigned</param>
            <exception cref="T:System.ArgumentException">Thrown if an incorrect number of parameters are passed.</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.CleanParameterSyntax(System.Data.IDbCommand)">
            <summary>
            This method cleans up the parameter syntax for the provider
            </summary>
            <param name="command">The IDbCommand containing the parameters to clean up.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.PrepareCommand(System.Data.IDbCommand,System.Data.IDbConnection,System.Data.IDbTransaction,System.Data.CommandType,System.String,System.Data.IDataParameter[],System.Boolean@)">
            <summary>
            This method opens (if necessary) and assigns a connection, transaction, command type and parameters 
            to the provided command
            </summary>
            <param name="command">The IDbCommand to be prepared</param>
            <param name="connection">A valid IDbConnection, on which to execute this command</param>
            <param name="transaction">A valid IDbTransaction, or 'null'</param>
            <param name="commandType">The CommandType (stored procedure, text, etc.)</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <param name="commandParameters">An array of IDataParameters to be associated with the command or 'null' if no parameters are required</param>
            <param name="mustCloseConnection"><c>true</c> if the connection was opened by the method, otherwose is false.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if command is null.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if commandText is null.</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ClearCommand(System.Data.IDbCommand)">
            <summary>
            This method clears (if necessary) the connection, transaction, command type and parameters 
            from the provided command
            </summary>
            <remarks>
            Not implemented here because the behavior of this method differs on each data provider. 
            </remarks>
            <param name="command">The IDbCommand to be cleared</param>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteDataset(System.Data.IDbCommand)">
            <summary>
            Execute an IDbCommand (that returns a resultset) against the database specified in 
            the connection String. 
            </summary>
            <param name="command">The IDbCommand object to use</param>
            <returns>A DataSet containing the resultset generated by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if command is null.</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteDataset(System.String,System.Data.CommandType,System.String)">
            <summary>
            Execute an IDbCommand (that returns a resultset and takes no parameters) against the database specified in 
            the connection String. 
            </summary>
            <example>
            <code>
            DataSet ds = helper.ExecuteDataset(connString, CommandType.StoredProcedure, "GetOrders");
            </code></example>
            <param name="connectionString">A valid connection string for an IDbConnection</param>
            <param name="commandType">The CommandType (stored procedure, text, etc.)</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <returns>A DataSet containing the resultset generated by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if connectionString is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if commandText is null</exception>
            <returns>A DataSet containing the resultset generated by the command</returns>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteDataset(System.String,System.Data.CommandType,System.String,System.Data.IDataParameter[])">
            <summary>
            Execute an IDbCommand (that returns a resultset) against the database specified in the connection string 
            using the provided parameters.
            </summary>
            <example>
            <code>
            DataSet ds = helper.ExecuteDataset(connString, CommandType.StoredProcedure, "GetOrders", new IDbParameter("@prodid", 24));
            </code></example>
            <param name="connectionString">A valid connection string for an IDbConnection</param>
            <param name="commandType">The CommandType (stored procedure, text, etc.)</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <param name="commandParameters">An array of IDbParamters used to execute the command</param>
            <returns>A DataSet containing the resultset generated by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if connectionString is null</exception>
            <exception cref="T:System.InvalidOperationException">Thrown if any of the IDataParameters.ParameterNames are null, or if the parameter count does not match the number of values supplied</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if commandText is null</exception>
            <exception cref="T:System.ArgumentException">Thrown if the parameter count does not match the number of values supplied</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteDataset(System.String,System.String,System.Object[])">
            <summary>
            Execute a stored procedure via an IDbCommand (that returns a resultset) against the database specified in 
            the connection string using the provided parameter values.  This method will query the database to discover the parameters for the 
            stored procedure (the first time each stored procedure is called), and assign the values based on parameter order.
            </summary>
            <remarks>
            This method provides no access to output parameters or the stored procedure's return value parameter.
            </remarks>
            <example>
            <code>
            DataSet ds = helper.ExecuteDataset(connString, "GetOrders", 24, 36);
            </code></example>
            <param name="connectionString">A valid connection string for an IDbConnection</param>
            <param name="spName">The name of the stored procedure</param>
            <param name="parameterValues">An array of objects to be assigned as the input values of the stored procedure</param>
            <returns>A DataSet containing the resultset generated by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if connectionString is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if spName is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteDataset(System.Data.IDbConnection,System.Data.CommandType,System.String)">
            <summary>
            Execute an IDbCommand (that returns a resultset and takes no parameters) against the provided IDbConnection. 
            </summary>
            <example>
            <code>
            DataSet ds = helper.ExecuteDataset(conn, CommandType.StoredProcedure, "GetOrders");
            </code></example>
            <param name="connection">A valid IDbConnection</param>
            <param name="commandType">The CommandType (stored procedure, text, etc.)</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <returns>A DataSet containing the resultset generated by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if commandText is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if connection is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteDataset(System.Data.IDbConnection,System.Data.CommandType,System.String,System.Data.IDataParameter[])">
            <summary>
            Execute an IDbCommand (that returns a resultset) against the specified IDbConnection 
            using the provided parameters.
            </summary>
            <example>
            <code>
            DataSet ds = helper.ExecuteDataset(conn, CommandType.StoredProcedure, "GetOrders", new IDataParameter("@prodid", 24));
            </code></example>
            <param name="connection">A valid IDbConnection</param>
            <param name="commandType">The CommandType (stored procedure, text, etc.)</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <param name="commandParameters">An array of IDataParameters used to execute the command</param>
            <returns>A DataSet containing the resultset generated by the command</returns>
            <exception cref="T:System.InvalidOperationException">Thrown if any of the IDataParameters.ParameterNames are null, or if the parameter count does not match the number of values supplied</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if commandText is null</exception>
            <exception cref="T:System.ArgumentException">Thrown if the parameter count does not match the number of values supplied</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if connection is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteDataset(System.Data.IDbConnection,System.String,System.Object[])">
            <summary>
            Execute a stored procedure via an IDbCommand (that returns a resultset) against the specified IDbConnection 
            using the provided parameter values.  This method will query the database to discover the parameters for the 
            stored procedure (the first time each stored procedure is called), and assign the values based on parameter order.
            </summary>
            <remarks>
            This method provides no access to output parameters or the stored procedure's return value parameter.
            </remarks>
            <example>
            <code>
            DataSet ds = helper.ExecuteDataset(conn, "GetOrders", 24, 36);
            </code></example>
            <param name="connection">A valid IDbConnection</param>
            <param name="spName">The name of the stored procedure</param>
            <param name="parameterValues">An array of objects to be assigned as the input values of the stored procedure</param>
            <returns>A DataSet containing the resultset generated by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if spName is null</exception>
            <exception cref="T:System.ArgumentException">Thrown if the parameter count does not match the number of values supplied</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if connection is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteDataset(System.Data.IDbTransaction,System.Data.CommandType,System.String)">
            <summary>
            Execute an IDbCommand (that returns a resultset and takes no parameters) against the provided IDbTransaction. 
            </summary>
            <example><code>
             DataSet ds = helper.ExecuteDataset(trans, CommandType.StoredProcedure, "GetOrders");
            </code></example>
            <param name="transaction">A valid IDbTransaction</param>
            <param name="commandType">The CommandType (stored procedure, text, etc.)</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <returns>A DataSet containing the resultset generated by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if commandText is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if transaction is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if transaction.Connection is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteDataset(System.Data.IDbTransaction,System.Data.CommandType,System.String,System.Data.IDataParameter[])">
            <summary>
            Execute an IDbCommand (that returns a resultset) against the specified IDbTransaction
            using the provided parameters.
            </summary>
            <example>
            <code>
            DataSet ds = helper.ExecuteDataset(trans, CommandType.StoredProcedure, "GetOrders", new IDataParameter("@prodid", 24));
            </code></example>
            <param name="transaction">A valid IDbTransaction</param>
            <param name="commandType">The CommandType (stored procedure, text, etc.)</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <param name="commandParameters">An array of IDataParameters used to execute the command</param>
            <returns>A DataSet containing the resultset generated by the command</returns>
            <exception cref="T:System.InvalidOperationException">Thrown if any of the IDataParameters.ParameterNames are null, or if the parameter count does not match the number of values supplied</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if commandText is null</exception>
            <exception cref="T:System.ArgumentException">Thrown if the parameter count does not match the number of values supplied</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if transaction is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if transaction.Connection is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteDataset(System.Data.IDbTransaction,System.String,System.Object[])">
            <summary>
            Execute a stored procedure via an IDbCommand (that returns a resultset) against the specified 
            IDbTransaction using the provided parameter values.  This method will query the database to discover the parameters for the 
            stored procedure (the first time each stored procedure is called), and assign the values based on parameter order.
            </summary>
            <remarks>
            This method provides no access to output parameters or the stored procedure's return value parameter.
            </remarks>
            <example>
            <code>
            DataSet ds = helper.ExecuteDataset(tran, "GetOrders", 24, 36);
            </code></example>
            <param name="transaction">A valid IDbTransaction</param>
            <param name="spName">The name of the stored procedure</param>
            <param name="parameterValues">An array of objects to be assigned as the input values of the stored procedure</param>
            <returns>A DataSet containing the resultset generated by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if spName is null</exception>
            <exception cref="T:System.ArgumentException">Thrown if the parameter count does not match the number of values supplied</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if transaction is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if transaction.Connection is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteNonQuery(System.Data.IDbCommand)">
            <summary>
            Execute an IDbCommand (that returns no resultset) against the database
            </summary>
            <param name="command">The IDbCommand to execute</param>
            <returns>An int representing the number of rows affected by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if command is null.</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteNonQuery(System.String,System.Data.CommandType,System.String)">
            <summary>
            Execute an IDbCommand (that returns no resultset and takes no parameters) against the database specified in 
            the connection string
            </summary>
            <param name="connectionString">A valid connection string for an IDbConnection</param>
            <param name="commandType">The CommandType (stored procedure, text, etc.)</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <returns>An int representing the number of rows affected by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if connectionString is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if commandText is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteNonQuery(System.String,System.Data.CommandType,System.String,System.Data.IDataParameter[])">
            <summary>
            Execute an IDbCommand (that returns no resultset) against the database specified in the connection string 
            using the provided parameters
            </summary>
            <param name="connectionString">A valid connection string for an IDbConnection</param>
            <param name="commandType">The CommandType (stored procedure, text, etc.)</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <param name="commandParameters">An array of IDataParameters used to execute the command</param>
            <returns>An int representing the number of rows affected by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if connectionString is null</exception>
            <exception cref="T:System.InvalidOperationException">Thrown if any of the IDataParameters.ParameterNames are null, or if the parameter count does not match the number of values supplied</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if commandText is null</exception>
            <exception cref="T:System.ArgumentException">Thrown if the parameter count does not match the number of values supplied</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteNonQuery(System.String,System.String,System.Object[])">
            <summary>
            Execute a stored procedure via an IDbCommand (that returns no resultset) against the database specified in 
            the connection string using the provided parameter values.  This method will query the database to discover the parameters for the 
            stored procedure (the first time each stored procedure is called), and assign the values based on parameter order.
            </summary>
            <remarks>
            This method provides no access to output parameters or the stored procedure's return value parameter.
            
            </remarks>
            <param name="connectionString">A valid connection string for an IDbConnection</param>
            <param name="spName">The name of the stored prcedure</param>
            <param name="parameterValues">An array of objects to be assigned as the input values of the stored procedure</param>
            <returns>An int representing the number of rows affected by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if connectionString is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if spName is null</exception>
            <exception cref="T:System.ArgumentException">Thrown if the parameter count does not match the number of values supplied</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteNonQuery(System.Data.IDbConnection,System.Data.CommandType,System.String)">
            <summary>
            Execute an IDbCommand (that returns no resultset and takes no parameters) against the provided IDbConnection. 
            </summary>
            <param name="connection">A valid IDbConnection</param>
            <param name="commandType">The CommandType (stored procedure, text, etc.)</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <returns>An int representing the number of rows affected by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if commandText is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if connection is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteNonQuery(System.Data.IDbConnection,System.Data.CommandType,System.String,System.Data.IDataParameter[])">
            <summary>
            Execute an IDbCommand (that returns no resultset) against the specified IDbConnection 
            using the provided parameters.
            </summary>
            <remarks>
            </remarks>
            <param name="connection">A valid IDbConnection</param>
            <param name="commandType">The CommandType (stored procedure, text, etc.)</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <param name="commandParameters">An array of IDbParamters used to execute the command</param>
            <returns>An int representing the number of rows affected by the command</returns>
            <exception cref="T:System.InvalidOperationException">Thrown if any of the IDataParameters.ParameterNames are null, or if the parameter count does not match the number of values supplied</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if commandText is null</exception>
            <exception cref="T:System.ArgumentException">Thrown if the parameter count does not match the number of values supplied</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if connection is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteNonQuery(System.Data.IDbConnection,System.String,System.Object[])">
            <summary>
            Execute a stored procedure via an IDbCommand (that returns no resultset) against the specified IDbConnection 
            using the provided parameter values.  This method will query the database to discover the parameters for the 
            stored procedure (the first time each stored procedure is called), and assign the values based on parameter order.
            </summary>
            <remarks>
            This method provides no access to output parameters or the stored procedure's return value parameter.
            
            </remarks>
            <param name="connection">A valid IDbConnection</param>
            <param name="spName">The name of the stored procedure</param>
            <param name="parameterValues">An array of objects to be assigned as the input values of the stored procedure</param>
            <returns>An int representing the number of rows affected by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if spName is null</exception>
            <exception cref="T:System.ArgumentException">Thrown if the parameter count does not match the number of values supplied</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if connection is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteNonQuery(System.Data.IDbTransaction,System.Data.CommandType,System.String)">
            <summary>
            Execute an IDbCommand (that returns no resultset and takes no parameters) against the provided IDbTransaction. 
            </summary>
            <param name="transaction">A valid IDbTransaction</param>
            <param name="commandType">The CommandType (stored procedure, text, etc.)</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <returns>An int representing the number of rows affected by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if commandText is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if transaction is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if transaction.Connection is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteNonQuery(System.Data.IDbTransaction,System.Data.CommandType,System.String,System.Data.IDataParameter[])">
            <summary>
            Execute an IDbCommand (that returns no resultset) against the specified IDbTransaction
            using the provided parameters.
            </summary>
            <param name="transaction">A valid IDbTransaction</param>
            <param name="commandType">The CommandType (stored procedure, text, etc.)</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <param name="commandParameters">An array of IDataParameters used to execute the command</param>
            <returns>An int representing the number of rows affected by the command</returns>
            <exception cref="T:System.InvalidOperationException">Thrown if any of the IDataParameters.ParameterNames are null, or if the parameter count does not match the number of values supplied</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if commandText is null</exception>
            <exception cref="T:System.ArgumentException">Thrown if the parameter count does not match the number of values supplied</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if transaction is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if transaction.Connection is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteNonQuery(System.Data.IDbTransaction,System.String,System.Object[])">
            <summary>
            Execute a stored procedure via an IDbCommand (that returns no resultset) against the specified 
            IDbTransaction using the provided parameter values.  This method will query the database to discover the parameters for the 
            stored procedure (the first time each stored procedure is called), and assign the values based on parameter order.
            </summary>
            <remarks>
            This method provides no access to output parameters or the stored procedure's return value parameter.
            </remarks>
            <param name="transaction">A valid IDbTransaction</param>
            <param name="spName">The name of the stored procedure</param>
            <param name="parameterValues">An array of objects to be assigned as the input values of the stored procedure</param>
            <returns>An int representing the number of rows affected by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if spName is null</exception>
            <exception cref="T:System.ArgumentException">Thrown if the parameter count does not match the number of values supplied</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if transaction is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if transaction.Connection is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteReader(System.Data.IDbCommand)">
            <summary>
            Execute an IDbCommand (that returns a resultset) against the database specified in 
            the connection String. 
            </summary>
            <param name="command">The IDbCommand object to use</param>
            <returns>A IDataReader containing the resultset generated by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if command is null.</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteReader(System.Data.IDbCommand,CodeSmith.Core.Database.AdoHelper{`0}.AdoConnectionOwnership)">
            <summary>
            Execute an IDbCommand (that returns a resultset) against the database specified in 
            the connection String. 
            </summary>
            <param name="command">The IDbCommand object to use</param>
            <param name="connectionOwnership">Enum indicating whether the connection was created internally or externally.</param>
            <returns>A IDataReader containing the resultset generated by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if command is null.</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteReader(System.Data.IDbConnection,System.Data.IDbTransaction,System.Data.CommandType,System.String,System.Data.IDataParameter[],CodeSmith.Core.Database.AdoHelper{`0}.AdoConnectionOwnership)">
            <summary>
            Create and prepare an IDbCommand, and call ExecuteReader with the appropriate CommandBehavior.
            </summary>
            <remarks>
            If we created and opened the connection, we want the connection to be closed when the DataReader is closed.
            
            If the caller provided the connection, we want to leave it to them to manage.
            </remarks>
            <param name="connection">A valid IDbConnection, on which to execute this command</param>
            <param name="transaction">A valid IDbTransaction, or 'null'</param>
            <param name="commandType">The CommandType (stored procedure, text, etc.)</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <param name="commandParameters">An array of IDataParameters to be associated with the command or 'null' if no parameters are required</param>
            <param name="connectionOwnership">Indicates whether the connection parameter was provided by the caller, or created by AdoHelper</param>
            <returns>IDataReader containing the results of the command</returns>
            <exception cref="T:System.InvalidOperationException">Thrown if any of the IDataParameters.ParameterNames are null, or if the parameter count does not match the number of values supplied</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if commandText is null</exception>
            <exception cref="T:System.ArgumentException">Thrown if the parameter count does not match the number of values supplied</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if connection is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteReader(System.String,System.Data.CommandType,System.String)">
            <summary>
            Execute an IDbCommand (that returns a resultset and takes no parameters) against the database specified in 
            the connection String. 
            </summary>
            <param name="connectionString">A valid connection string for an IDbConnection</param>
            <param name="commandType">The CommandType (stored procedure, text, etc.)</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <returns>A IDataReader containing the resultset generated by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if connectionString is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if commandText is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteReader(System.String,System.Data.CommandType,System.String,System.Data.IDataParameter[])">
            <summary>
            Execute an IDbCommand (that returns a resultset) against the database specified in the connection string 
            using the provided parameters.
            </summary>
            <param name="connectionString">A valid connection string for an IDbConnection</param>
            <param name="commandType">The CommandType (stored procedure, text, etc.)</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <param name="commandParameters">An array of IDataParameters used to execute the command</param>
            <returns>A IDataReader containing the resultset generated by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if connectionString is null</exception>
            <exception cref="T:System.InvalidOperationException">Thrown if any of the IDataParameters.ParameterNames are null, or if the parameter count does not match the number of values supplied</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if commandText is null</exception>
            <exception cref="T:System.ArgumentException">Thrown if the parameter count does not match the number of values supplied</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteReader(System.String,System.String,System.Object[])">
            <summary>
            Execute a stored procedure via an IDbCommand (that returns a resultset) against the database specified in 
            the connection string using the provided parameter values.  This method will query the database to discover the parameters for the 
            stored procedure (the first time each stored procedure is called), and assign the values based on parameter order.
            </summary>
            <remarks>
            This method provides no access to output parameters or the stored procedure's return value parameter.
            </remarks>
            <example>
            <code>
            IDataReader dr = helper.ExecuteReader(connString, "GetOrders", 24, 36);
            </code></example>
            <param name="connectionString">A valid connection string for an IDbConnection</param>
            <param name="spName">The name of the stored procedure</param>
            <param name="parameterValues">An array of objects to be assigned as the input values of the stored procedure</param>
            <returns>an IDataReader containing the resultset generated by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if connectionString is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if spName is null</exception>
            <exception cref="T:System.ArgumentException">Thrown if the parameter count does not match the number of values supplied</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteReader(System.Data.IDbConnection,System.Data.CommandType,System.String)">
            <summary>
            Execute an IDbCommand (that returns a resultset and takes no parameters) against the provided IDbConnection. 
            </summary>
            <example>
            <code>
            IDataReader dr = helper.ExecuteReader(conn, CommandType.StoredProcedure, "GetOrders");
            </code></example>
            <param name="connection">A valid IDbConnection</param>
            <param name="commandType">The CommandType (stored procedure, text, etc.)</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <returns>an IDataReader containing the resultset generated by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if commandText is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteReader(System.Data.IDbConnection,System.Data.CommandType,System.String,System.Data.IDataParameter[])">
            <summary>
            Execute an IDbCommand (that returns a resultset) against the specified IDbConnection 
            using the provided parameters.
            </summary>
            <example>
            <code>
            IDataReader dr = helper.ExecuteReader(conn, CommandType.StoredProcedure, "GetOrders", new IDataParameter("@prodid", 24));
            </code></example>
            <param name="connection">A valid IDbConnection</param>
            <param name="commandType">The CommandType (stored procedure, text, etc.)</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <param name="commandParameters">An array of IDataParameters used to execute the command</param>
            <returns>an IDataReader containing the resultset generated by the command</returns>
            <exception cref="T:System.InvalidOperationException">Thrown if any of the IDataParameters.ParameterNames are null, or if the parameter count does not match the number of values supplied</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if commandText is null</exception>
            <exception cref="T:System.ArgumentException">Thrown if the parameter count does not match the number of values supplied</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if connection is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteReader(System.Data.IDbConnection,System.String,System.Object[])">
            <summary>
            Execute a stored procedure via an IDbCommand (that returns a resultset) against the specified IDbConnection 
            using the provided parameter values.  This method will query the database to discover the parameters for the 
            stored procedure (the first time each stored procedure is called), and assign the values based on parameter order.
            </summary>
            <remarks>
            This method provides no access to output parameters or the stored procedure's return value parameter.
            </remarks>
            <example>
            <code>
            IDataReader dr = helper.ExecuteReader(conn, "GetOrders", 24, 36);
            </code></example>
            <param name="connection">A valid IDbConnection</param>
            <param name="spName">The name of the stored procedure</param>
            <param name="parameterValues">An array of objects to be assigned as the input values of the stored procedure</param>
            <returns>an IDataReader containing the resultset generated by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if spName is null</exception>
            <exception cref="T:System.ArgumentException">Thrown if the parameter count does not match the number of values supplied</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if connection is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteReader(System.Data.IDbTransaction,System.Data.CommandType,System.String)">
            <summary>
            Execute an IDbCommand (that returns a resultset and takes no parameters) against the provided IDbTransaction. 
            </summary>
            <example><code>
             IDataReader dr = helper.ExecuteReader(trans, CommandType.StoredProcedure, "GetOrders");
            </code></example>
            <param name="transaction">A valid IDbTransaction</param>
            <param name="commandType">The CommandType (stored procedure, text, etc.)</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <returns>A IDataReader containing the resultset generated by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if commandText is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteReader(System.Data.IDbTransaction,System.Data.CommandType,System.String,System.Data.IDataParameter[])">
            <summary>
            Execute an IDbCommand (that returns a resultset) against the specified IDbTransaction
            using the provided parameters.
            </summary>
            <example>
            <code>
            IDataReader dr = helper.ExecuteReader(trans, CommandType.StoredProcedure, "GetOrders", new IDataParameter("@prodid", 24));
            </code></example>
            <param name="transaction">A valid IDbTransaction</param>
            <param name="commandType">The CommandType (stored procedure, text, etc.)</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <param name="commandParameters">An array of IDataParameters used to execute the command</param>
            <returns>A IDataReader containing the resultset generated by the command</returns>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteReader(System.Data.IDbTransaction,System.String,System.Object[])">
            <summary>
            Execute a stored procedure via an IDbCommand (that returns a resultset) against the specified
            IDbTransaction using the provided parameter values.  This method will query the database to discover the parameters for the 
            stored procedure (the first time each stored procedure is called), and assign the values based on parameter order.
            </summary>
            <remarks>
            This method provides no access to output parameters or the stored procedure's return value parameter.
            </remarks>
            <example>
            <code>
            IDataReader dr = helper.ExecuteReader(tran, "GetOrders", 24, 36);
            </code></example>
            <param name="transaction">A valid IDbTransaction</param>
            <param name="spName">The name of the stored procedure</param>
            <param name="parameterValues">An array of objects to be assigned as the input values of the stored procedure</param>
            <returns>an IDataReader containing the resultset generated by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if spName is null</exception>
            <exception cref="T:System.ArgumentException">Thrown if the parameter count does not match the number of values supplied</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if transaction is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if transaction.Connection is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteScalar(System.Data.IDbCommand)">
            <summary>
            Execute an IDbCommand (that returns a 1x1 resultset) against the database specified in 
            the connection String. 
            </summary>
            <param name="command">The IDbCommand to execute</param>
            <returns>An object containing the value in the 1x1 resultset generated by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if command is null.</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteScalar(System.String,System.Data.CommandType,System.String)">
            <summary>
            Execute an IDbCommand (that returns a 1x1 resultset and takes no parameters) against the database specified in 
            the connection String. 
            </summary>
            <example>
            <code>
            int orderCount = (int)helper.ExecuteScalar(connString, CommandType.StoredProcedure, "GetOrderCount");
            </code></example>
            <param name="connectionString">A valid connection string for an IDbConnection</param>
            <param name="commandType">The CommandType (stored procedure, text, etc.)</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <returns>An object containing the value in the 1x1 resultset generated by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if connectionString is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if commandText is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteScalar(System.String,System.Data.CommandType,System.String,System.Data.IDataParameter[])">
            <summary>
            Execute an IDbCommand (that returns a 1x1 resultset) against the database specified in the connection string 
            using the provided parameters.
            </summary>
            <param name="connectionString">A valid connection string for an IDbConnection</param>
            <param name="commandType">The CommandType (stored procedure, text, etc.)</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <param name="commandParameters">An array of IDataParameters used to execute the command</param>
            <returns>An object containing the value in the 1x1 resultset generated by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if connectionString is null</exception>
            <exception cref="T:System.InvalidOperationException">Thrown if any of the IDataParameters.ParameterNames are null, or if the parameter count does not match the number of values supplied</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if commandText is null</exception>
            <exception cref="T:System.ArgumentException">Thrown if the parameter count does not match the number of values supplied</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteScalar(System.String,System.String,System.Object[])">
            <summary>
            Execute a stored procedure via an IDbCommand (that returns a 1x1 resultset) against the database specified in 
            the connection string using the provided parameter values.  This method will query the database to discover the parameters for the 
            stored procedure (the first time each stored procedure is called), and assign the values based on parameter order.
            </summary>
            <remarks>
            This method provides no access to output parameters or the stored procedure's return value parameter.
            </remarks>
            <example>
            <code>
            int orderCount = (int)helper.ExecuteScalar(connString, "GetOrderCount", 24, 36);
            </code></example>
            <param name="connectionString">A valid connection string for an IDbConnection</param>
            <param name="spName">The name of the stored procedure</param>
            <param name="parameterValues">An array of objects to be assigned as the input values of the stored procedure</param>
            <returns>An object containing the value in the 1x1 resultset generated by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if connectionString is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if spName is null</exception>
            <exception cref="T:System.ArgumentException">Thrown if the parameter count does not match the number of values supplied</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteScalar(System.Data.IDbConnection,System.Data.CommandType,System.String)">
            <summary>
            Execute an IDbCommand (that returns a 1x1 resultset and takes no parameters) against the provided IDbConnection. 
            </summary>
            <example>
            <code>
            int orderCount = (int)helper.ExecuteScalar(conn, CommandType.StoredProcedure, "GetOrderCount");
            </code></example>
            <param name="connection">A valid IDbConnection</param>
            <param name="commandType">The CommandType (stored procedure, text, etc.)</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <returns>An object containing the value in the 1x1 resultset generated by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if commandText is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteScalar(System.Data.IDbConnection,System.Data.CommandType,System.String,System.Data.IDataParameter[])">
            <summary>
            Execute an IDbCommand (that returns a 1x1 resultset) against the specified IDbConnection 
            using the provided parameters.
            </summary>
            <param name="connection">A valid IDbConnection</param>
            <param name="commandType">The CommandType (stored procedure, text, etc.)</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <param name="commandParameters">An array of IDataParameters used to execute the command</param>
            <returns>An object containing the value in the 1x1 resultset generated by the command</returns>
            <exception cref="T:System.InvalidOperationException">Thrown if any of the IDataParameters.ParameterNames are null, or if the parameter count does not match the number of values supplied</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if commandText is null</exception>
            <exception cref="T:System.ArgumentException">Thrown if the parameter count does not match the number of values supplied</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if connection is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteScalar(System.Data.IDbConnection,System.String,System.Object[])">
            <summary>
            Execute a stored procedure via an IDbCommand (that returns a 1x1 resultset) against the specified IDbConnection 
            using the provided parameter values.  This method will query the database to discover the parameters for the 
            stored procedure (the first time each stored procedure is called), and assign the values based on parameter order.
            </summary>
            <remarks>
            This method provides no access to output parameters or the stored procedure's return value parameter.
            </remarks>
            <example>
            <code>
            int orderCount = (int)helper.ExecuteScalar(conn, "GetOrderCount", 24, 36);
            </code></example>
            <param name="connection">A valid IDbConnection</param>
            <param name="spName">The name of the stored procedure</param>
            <param name="parameterValues">An array of objects to be assigned as the input values of the stored procedure</param>
            <returns>An object containing the value in the 1x1 resultset generated by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if spName is null</exception>
            <exception cref="T:System.ArgumentException">Thrown if the parameter count does not match the number of values supplied</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if connection is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteScalar(System.Data.IDbTransaction,System.Data.CommandType,System.String)">
            <summary>
            Execute an IDbCommand (that returns a 1x1 resultset and takes no parameters) against the provided IDbTransaction. 
            </summary>
            <example>
            <code>
            int orderCount = (int)helper.ExecuteScalar(tran, CommandType.StoredProcedure, "GetOrderCount");
            </code></example>
            <param name="transaction">A valid IDbTransaction</param>
            <param name="commandType">The CommandType (stored procedure, text, etc.)</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <returns>An object containing the value in the 1x1 resultset generated by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if commandText is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteScalar(System.Data.IDbTransaction,System.Data.CommandType,System.String,System.Data.IDataParameter[])">
            <summary>
            Execute an IDbCommand (that returns a 1x1 resultset) against the specified IDbTransaction
            using the provided parameters.
            </summary>
            <param name="transaction">A valid IDbTransaction</param>
            <param name="commandType">The CommandType (stored procedure, text, etc.)</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <param name="commandParameters">An array of IDbParamters used to execute the command</param>
            <returns>An object containing the value in the 1x1 resultset generated by the command</returns>
            <exception cref="T:System.InvalidOperationException">Thrown if any of the IDataParameters.ParameterNames are null, or if the parameter count does not match the number of values supplied</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if commandText is null</exception>
            <exception cref="T:System.ArgumentException">Thrown if the parameter count does not match the number of values supplied</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if transaction is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if transaction.Connection is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteScalar(System.Data.IDbTransaction,System.String,System.Object[])">
            <summary>
            Execute a stored procedure via an IDbCommand (that returns a 1x1 resultset) against the specified
            IDbTransaction using the provided parameter values.  This method will query the database to discover the parameters for the 
            stored procedure (the first time each stored procedure is called), and assign the values based on parameter order.
            </summary>
            <remarks>
            This method provides no access to output parameters or the stored procedure's return value parameter.
            </remarks>
            <example>
            <code>
            int orderCount = (int)helper.ExecuteScalar(tran, "GetOrderCount", 24, 36);
            </code></example>
            <param name="transaction">A valid IDbTransaction</param>
            <param name="spName">The name of the stored procedure</param>
            <param name="parameterValues">An array of objects to be assigned as the input values of the stored procedure</param>
            <returns>An object containing the value in the 1x1 resultset generated by the command</returns>
            <exception cref="T:System.InvalidOperationException">Thrown if any of the IDataParameters.ParameterNames are null, or if the parameter count does not match the number of values supplied</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if commandText is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if spName is null</exception>
            <exception cref="T:System.ArgumentException">Thrown if the parameter count does not match the number of values supplied</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if transaction is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if transaction.Connection is null</exception>
            <exception cref="T:System.ArgumentException">Thrown if the transaction is rolled back or commmitted</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.FillDataset(System.Data.IDbCommand,System.Data.DataSet,System.String[])">
            <summary>
            Execute an IDbCommand (that returns a resultset) against the database specified in 
            the connection String. 
            </summary>
            <param name="command">The IDbCommand to execute</param>
            <param name="dataSet">A DataSet wich will contain the resultset generated by the command</param>
            <param name="tableNames">This array will be used to create table mappings allowing the DataTables to be referenced
            by a user defined name (probably the actual table name)</param>
            <exception cref="T:System.ArgumentNullException">Thrown if command is null.</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.FillDataset(System.String,System.Data.CommandType,System.String,System.Data.DataSet,System.String[])">
            <summary>
            Execute an IDbCommand (that returns a resultset and takes no parameters) against the database specified in 
            the connection String. 
            </summary>
            <example>
            <code>
            helper.FillDataset(connString, CommandType.StoredProcedure, "GetOrders", ds, new string[] {"orders"});
            </code></example>
            <param name="connectionString">A valid connection string for an IDbConnection</param>
            <param name="commandType">The CommandType (stored procedure, text, etc.)</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <param name="dataSet">A DataSet wich will contain the resultset generated by the command</param>
            <param name="tableNames">This array will be used to create table mappings allowing the DataTables to be referenced
            by a user defined name (probably the actual table name)</param>
            <exception cref="T:System.ArgumentNullException">Thrown if connectionString is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if commandText is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.FillDataset(System.String,System.Data.CommandType,System.String,System.Data.DataSet,System.String[],System.Data.IDataParameter[])">
            <summary>
            Execute an IDbCommand (that returns a resultset) against the database specified in the connection string 
            using the provided parameters.
            </summary>
            <param name="connectionString">A valid connection string for an IDbConnection</param>
            <param name="commandType">The CommandType (stored procedure, text, etc.)</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <param name="commandParameters">An array of IDataParameters used to execute the command</param>
            <param name="dataSet">A DataSet wich will contain the resultset generated by the command</param>
            <param name="tableNames">This array will be used to create table mappings allowing the DataTables to be referenced
            by a user defined name (probably the actual table name)
            </param>
            <exception cref="T:System.ArgumentNullException">Thrown if connectionString is null</exception>
            <exception cref="T:System.InvalidOperationException">Thrown if any of the IDataParameters.ParameterNames are null, or if the parameter count does not match the number of values supplied</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if commandText is null</exception>
            <exception cref="T:System.ArgumentException">Thrown if the parameter count does not match the number of values supplied</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.FillDataset(System.String,System.String,System.Data.DataSet,System.String[],System.Object[])">
            <summary>
            Execute a stored procedure via an IDbCommand (that returns a resultset) against the database specified in 
            the connection string using the provided parameter values.  This method will query the database to discover the parameters for the 
            stored procedure (the first time each stored procedure is called), and assign the values based on parameter order.
            </summary>
            <remarks>
            This method provides no access to output parameters or the stored procedure's return value parameter.
            </remarks>
            <example>
            <code>
            helper.FillDataset(connString, CommandType.StoredProcedure, "GetOrders", ds, new string[] {"orders"}, 24);
            </code></example>
            <param name="connectionString">A valid connection string for an IDbConnection</param>
            <param name="spName">The name of the stored procedure</param>
            <param name="dataSet">A dataset wich will contain the resultset generated by the command</param>
            <param name="tableNames">This array will be used to create table mappings allowing the DataTables to be referenced
            by a user defined name (probably the actual table name)
            </param>    
            <param name="parameterValues">An array of objects to be assigned as the input values of the stored procedure</param>
            <exception cref="T:System.ArgumentNullException">Thrown if connectionString is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if spName is null</exception>
            <exception cref="T:System.ArgumentException">Thrown if the parameter count does not match the number of values supplied</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.FillDataset(System.Data.IDbConnection,System.Data.CommandType,System.String,System.Data.DataSet,System.String[])">
            <summary>
            Execute an IDbCommand (that returns a resultset and takes no parameters) against the provided IDbConnection. 
            </summary>
            <example>
            <code>
            helper.FillDataset(conn, CommandType.StoredProcedure, "GetOrders", ds, new string[] {"orders"});
            </code></example>
            <param name="connection">A valid IDbConnection</param>
            <param name="commandType">The CommandType (stored procedure, text, etc.)</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <param name="dataSet">A dataset wich will contain the resultset generated by the command</param>
            <param name="tableNames">This array will be used to create table mappings allowing the DataTables to be referenced
            by a user defined name (probably the actual table name)
            </param>    
            <exception cref="T:System.ArgumentNullException">Thrown if commandText is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if connection is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.FillDataset(System.Data.IDbConnection,System.Data.CommandType,System.String,System.Data.DataSet,System.String[],System.Data.IDataParameter[])">
            <summary>
            Execute an IDbCommand (that returns a resultset) against the specified IDbConnection 
            using the provided parameters.
            </summary>
            <param name="connection">A valid IDbConnection</param>
            <param name="commandType">The CommandType (stored procedure, text, etc.)</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <param name="dataSet">A DataSet wich will contain the resultset generated by the command</param>
            <param name="tableNames">This array will be used to create table mappings allowing the DataTables to be referenced
            by a user defined name (probably the actual table name)
            </param>
            <param name="commandParameters">An array of IDataParameters used to execute the command</param>
            <exception cref="T:System.ArgumentNullException">Thrown if commandText is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if connection is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.FillDataset(System.Data.IDbConnection,System.String,System.Data.DataSet,System.String[],System.Object[])">
            <summary>
            Execute a stored procedure via an IDbCommand (that returns a resultset) against the specified IDbConnection 
            using the provided parameter values.  This method will query the database to discover the parameters for the 
            stored procedure (the first time each stored procedure is called), and assign the values based on parameter order.
            </summary>
            <remarks>
            This method provides no access to output parameters or the stored procedure's return value parameter.
            </remarks>
            <example>
            <code>
            helper.FillDataset(conn, "GetOrders", ds, new string[] {"orders"}, 24, 36);
            </code></example>
            <param name="connection">A valid IDbConnection</param>
            <param name="spName">The name of the stored procedure</param>
            <param name="dataSet">A dataset wich will contain the resultset generated by the command</param>
            <param name="tableNames">This array will be used to create table mappings allowing the DataTables to be referenced
            by a user defined name (probably the actual table name)
            </param>
            <param name="parameterValues">An array of objects to be assigned as the input values of the stored procedure</param>
            <exception cref="T:System.ArgumentNullException">Thrown if spName is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if connection is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.FillDataset(System.Data.IDbTransaction,System.Data.CommandType,System.String,System.Data.DataSet,System.String[])">
            <summary>
            Execute an IDbCommand (that returns a resultset and takes no parameters) against the provided IDbTransaction. 
            </summary>
            <example>
            <code>
            helper.FillDataset(tran, CommandType.StoredProcedure, "GetOrders", ds, new string[] {"orders"});
            </code></example>
            <param name="transaction">A valid IDbTransaction</param>
            <param name="commandType">The CommandType (stored procedure, text, etc.)</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <param name="dataSet">A dataset wich will contain the resultset generated by the command</param>
            <param name="tableNames">This array will be used to create table mappings allowing the DataTables to be referenced
            by a user defined name (probably the actual table name)
            </param>    
            <exception cref="T:System.ArgumentNullException">Thrown if commandText is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if transaction is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if transaction.Connection is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.FillDataset(System.Data.IDbTransaction,System.Data.CommandType,System.String,System.Data.DataSet,System.String[],System.Data.IDataParameter[])">
            <summary>
            Execute an IDbCommand (that returns a resultset) against the specified IDbTransaction
            using the provided parameters.
            </summary>
            <param name="transaction">A valid IDbTransaction</param>
            <param name="commandType">The CommandType (stored procedure, text, etc.)</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <param name="dataSet">A DataSet wich will contain the resultset generated by the command</param>
            <param name="tableNames">This array will be used to create table mappings allowing the DataTables to be referenced
            by a user defined name (probably the actual table name)
            </param>
            <param name="commandParameters">An array of IDataParameters used to execute the command</param>
            <exception cref="T:System.ArgumentNullException">Thrown if commandText is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if transaction is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if transaction.Connection is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.FillDataset(System.Data.IDbTransaction,System.String,System.Data.DataSet,System.String[],System.Object[])">
            <summary>
            Execute a stored procedure via an IDbCommand (that returns a resultset) against the specified 
            IDbTransaction using the provided parameter values.  This method will query the database to discover the parameters for the 
            stored procedure (the first time each stored procedure is called), and assign the values based on parameter order.
            </summary>
            <remarks>
            This method provides no access to output parameters or the stored procedure's return value parameter.
            </remarks>
            <example>
            <code>
            helper.FillDataset(tran, "GetOrders", ds, new string[] {"orders"}, 24, 36);
            </code></example>
            <param name="transaction">A valid IDbTransaction</param>
            <param name="spName">The name of the stored procedure</param>
            <param name="dataSet">A dataset wich will contain the resultset generated by the command</param>
            <param name="tableNames">This array will be used to create table mappings allowing the DataTables to be referenced
            by a user defined name (probably the actual table name)
            </param>
            <param name="parameterValues">An array of objects to be assigned as the input values of the stored procedure</param>
            <exception cref="T:System.ArgumentNullException">Thrown if spName is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if transaction is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if transaction.Connection is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.FillDataset(System.Data.IDbConnection,System.Data.IDbTransaction,System.Data.CommandType,System.String,System.Data.DataSet,System.String[],System.Data.IDataParameter[])">
            <summary>
            Private helper method that execute an IDbCommand (that returns a resultset) against the specified IDbTransaction and IDbConnection
            using the provided parameters.
            </summary>
            <param name="connection">A valid IDbConnection</param>
            <param name="transaction">A valid IDbTransaction</param>
            <param name="commandType">The CommandType (stored procedure, text, etc.)</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <param name="dataSet">A DataSet wich will contain the resultset generated by the command</param>
            <param name="tableNames">This array will be used to create table mappings allowing the DataTables to be referenced
            by a user defined name (probably the actual table name)
            </param>
            <param name="commandParameters">An array of IDataParameters used to execute the command</param>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.RowUpdating(System.Object,System.Data.Common.RowUpdatingEventArgs)">
            <summary>
            This method consumes the RowUpdatingEvent and passes it on to the consumer specifed in the call to UpdateDataset
            </summary>
            <param name="obj">The object that generated the event</param>
            <param name="e">The System.Data.Common.RowUpdatingEventArgs</param>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.RowUpdated(System.Object,System.Data.Common.RowUpdatedEventArgs)">
            <summary>
            This method consumes the RowUpdatedEvent and passes it on to the consumer specifed in the call to UpdateDataset
            </summary>
            <param name="obj">The object that generated the event</param>
            <param name="e">The System.Data.Common.RowUpdatingEventArgs</param>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.SetCommand(System.Data.IDbCommand,System.Boolean@)">
            <summary>
            Set up a command for updating a DataSet.
            </summary>
            <param name="command">command object to prepare</param>
            <param name="mustCloseConnection">output parameter specifying whether the connection used should be closed by the DAAB</param>
            <returns>An IDbCommand object</returns>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.UpdateDataset(System.Data.IDbCommand,System.Data.IDbCommand,System.Data.IDbCommand,System.Data.DataSet,System.String)">
            <summary>
            Executes the respective command for each inserted, updated, or deleted row in the DataSet.
            </summary>
            <example>
            <code>
            helper.UpdateDataset(conn, insertCommand, deleteCommand, updateCommand, dataSet, "Order");
            </code></example>
            <param name="insertCommand">A valid SQL statement or stored procedure to insert new records into the data source</param>
            <param name="deleteCommand">A valid SQL statement or stored procedure to delete records from the data source</param>
            <param name="updateCommand">A valid SQL statement or stored procedure used to update records in the data source</param>
            <param name="dataSet">The DataSet used to update the data source</param>
            <param name="tableName">The DataTable used to update the data source.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.UpdateDataset(System.Data.IDbCommand,System.Data.IDbCommand,System.Data.IDbCommand,System.Data.DataSet,System.String,CodeSmith.Core.Database.AdoHelper{`0}.RowUpdatingHandler,CodeSmith.Core.Database.AdoHelper{`0}.RowUpdatedHandler)">
            <summary> 
            Executes the IDbCommand for each inserted, updated, or deleted row in the DataSet also implementing RowUpdating and RowUpdated Event Handlers 
            </summary> 
            <example> 
            <code>
            RowUpdatingEventHandler rowUpdatingHandler = new RowUpdatingEventHandler( OnRowUpdating ); 
            RowUpdatedEventHandler rowUpdatedHandler = new RowUpdatedEventHandler( OnRowUpdated ); 
            helper.UpdateDataSet(sqlInsertCommand, sqlDeleteCommand, sqlUpdateCommand, dataSet, "Order", rowUpdatingHandler, rowUpdatedHandler); 
            </code></example> 
            <param name="insertCommand">A valid SQL statement or stored procedure to insert new records into the data source</param> 
            <param name="deleteCommand">A valid SQL statement or stored procedure to delete records from the data source</param> 
            <param name="updateCommand">A valid SQL statement or stored procedure used to update records in the data source</param> 
            <param name="dataSet">The DataSet used to update the data source</param> 
            <param name="tableName">The DataTable used to update the data source.</param> 
            <param name="rowUpdatingHandler">RowUpdatingEventHandler</param> 
            <param name="rowUpdatedHandler">RowUpdatedEventHandler</param> 
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.CreateCommand(System.String,System.String,System.String[])">
            <summary>
            Simplify the creation of an IDbCommand object by allowing
            a stored procedure and optional parameters to be provided
            </summary>
            <example>
            <code>
            IDbCommand command = helper.CreateCommand(conn, "AddCustomer", "CustomerID", "CustomerName");
            </code></example>
            <param name="connectionString">A valid connection string for an IDbConnection</param>
            <param name="spName">The name of the stored procedure</param>
            <param name="sourceColumns">An array of string to be assigned as the source columns of the stored procedure parameters</param>
            <returns>A valid IDbCommand object</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if connectionString is null</exception>
            <exception cref="T:System.InvalidOperationException">Thrown if any of the IDataParameters.ParameterNames are null, or if the parameter count does not match the number of values supplied</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if spName is null</exception>
            <exception cref="T:System.ArgumentException">Thrown if the parameter count does not match the number of values supplied</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.CreateCommand(System.Data.IDbConnection,System.String,System.String[])">
            <summary>
            Simplify the creation of an IDbCommand object by allowing
            a stored procedure and optional parameters to be provided
            </summary>
            <example>
            <code>
            IDbCommand command = helper.CreateCommand(conn, "AddCustomer", "CustomerID", "CustomerName");
            </code></example>
            <param name="connection">A valid IDbConnection object</param>
            <param name="spName">The name of the stored procedure</param>
            <param name="sourceColumns">An array of string to be assigned as the source columns of the stored procedure parameters</param>
            <returns>A valid IDbCommand object</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if spName is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if connection is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.CreateCommand(System.String,System.String,System.Data.CommandType,System.Data.IDataParameter[])">
            <summary>
            Simplify the creation of an IDbCommand object by allowing
            a stored procedure and optional parameters to be provided
            </summary>
            <param name="connectionString">A valid connection string for an IDbConnection</param>
            <param name="commandText">A valid SQL statement</param>
            <param name="commandType">A System.Data.CommandType</param>
            <param name="commandParameters">The parameters for the SQL statement</param>
            <returns>A valid IDbCommand object</returns>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.CreateCommand(System.Data.IDbConnection,System.String,System.Data.CommandType,System.Data.IDataParameter[])">
            <summary>
            Simplify the creation of an IDbCommand object by allowing
            a stored procedure and optional parameters to be provided
            </summary>
            <example><code>
            IDbCommand command = helper.CreateCommand(conn, "AddCustomer", "CustomerID", "CustomerName");
            </code></example>
            <param name="connection">A valid IDbConnection object</param>
            <param name="commandText">A valid SQL statement</param>
            <param name="commandType">A System.Data.CommandType</param>
            <param name="commandParameters">The parameters for the SQL statement</param>
            <returns>A valid IDbCommand object</returns>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteNonQueryTypedParams(System.Data.IDbCommand,System.Data.DataRow)">
            <summary>
            Execute a stored procedure via an IDbCommand (that returns no resultset) 
            against the database specified in the connection string using the 
            dataRow column values as the stored procedure's parameters values.
            This method will assign the parameter values based on row values.
            </summary>
            <param name="command">The IDbCommand to execute</param>
            <param name="dataRow">The dataRow used to hold the stored procedure's parameter values.</param>
            <returns>An int representing the number of rows affected by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if command is null.</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteNonQueryTypedParams(System.String,System.String,System.Data.DataRow)">
            <summary>
            Execute a stored procedure via an IDbCommand (that returns no resultset) against the database specified in 
            the connection string using the dataRow column values as the stored procedure's parameters values.
            This method will query the database to discover the parameters for the 
            stored procedure (the first time each stored procedure is called), and assign the values based on row values.
            </summary>
            <param name="connectionString">A valid connection string for an IDbConnection</param>
            <param name="spName">The name of the stored procedure</param>
            <param name="dataRow">The dataRow used to hold the stored procedure's parameter values.</param>
            <returns>An int representing the number of rows affected by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if connectionString is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if spName is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteNonQueryTypedParams(System.Data.IDbConnection,System.String,System.Data.DataRow)">
            <summary>
            Execute a stored procedure via an IDbCommand (that returns no resultset) against the specified IDbConnection 
            using the dataRow column values as the stored procedure's parameters values.  
            This method will query the database to discover the parameters for the 
            stored procedure (the first time each stored procedure is called), and assign the values based on row values.
            </summary>
            <param name="connection">A valid IDbConnection object</param>
            <param name="spName">The name of the stored procedure</param>
            <param name="dataRow">The dataRow used to hold the stored procedure's parameter values.</param>
            <returns>An int representing the number of rows affected by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if spName is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if connection is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteNonQueryTypedParams(System.Data.IDbTransaction,System.String,System.Data.DataRow)">
            <summary>
            Execute a stored procedure via an IDbCommand (that returns no resultset) against the specified
            IDbTransaction using the dataRow column values as the stored procedure's parameters values.
            This method will query the database to discover the parameters for the 
            stored procedure (the first time each stored procedure is called), and assign the values based on row values.
            </summary>
            <param name="transaction">A valid IDbTransaction object</param>
            <param name="spName">The name of the stored procedure</param>
            <param name="dataRow">The dataRow used to hold the stored procedure's parameter values.</param>
            <returns>An int representing the number of rows affected by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if spName is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if transaction is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if transaction.Connection is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteDatasetTypedParams(System.Data.IDbCommand,System.Data.DataRow)">
            <summary>
            Execute a stored procedure via an IDbCommand (that returns a resultset) against the database specified in 
            the connection string using the dataRow column values as the stored procedure's parameters values.
            This method will assign the paraemter values based on row values.
            </summary>
            <param name="command">The IDbCommand to execute</param>
            <param name="dataRow">The dataRow used to hold the stored procedure's parameter values.</param>
            <returns>A DataSet containing the resultset generated by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if command is null.</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteDatasetTypedParams(System.String,System.String,System.Data.DataRow)">
            <summary>
            Execute a stored procedure via an IDbCommand (that returns a resultset) against the database specified in 
            the connection string using the dataRow column values as the stored procedure's parameters values.
            This method will query the database to discover the parameters for the 
            stored procedure (the first time each stored procedure is called), and assign the values based on row values.
            </summary>
            <param name="connectionString">A valid connection string for an IDbConnection</param>
            <param name="spName">The name of the stored procedure</param>
            <param name="dataRow">The dataRow used to hold the stored procedure's parameter values.</param>
            <returns>A DataSet containing the resultset generated by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if connectionString is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if spName is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteDatasetTypedParams(System.Data.IDbConnection,System.String,System.Data.DataRow)">
            <summary>
            Execute a stored procedure via an IDbCommand (that returns a resultset) against the specified IDbConnection 
            using the dataRow column values as the store procedure's parameters values.
            This method will query the database to discover the parameters for the 
            stored procedure (the first time each stored procedure is called), and assign the values based on row values.
            </summary>
            <param name="connection">A valid IDbConnection object</param>
            <param name="spName">The name of the stored procedure</param>
            <param name="dataRow">The dataRow used to hold the stored procedure's parameter values.</param>
            <returns>A DataSet containing the resultset generated by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if spName is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if connection is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteDatasetTypedParams(System.Data.IDbTransaction,System.String,System.Data.DataRow)">
            <summary>
            Execute a stored procedure via an IDbCommand (that returns a resultset) against the specified IDbTransaction 
            using the dataRow column values as the stored procedure's parameters values.
            This method will query the database to discover the parameters for the 
            stored procedure (the first time each stored procedure is called), and assign the values based on row values.
            </summary>
            <param name="transaction">A valid IDbTransaction object</param>
            <param name="spName">The name of the stored procedure</param>
            <param name="dataRow">The dataRow used to hold the stored procedure's parameter values.</param>
            <returns>A DataSet containing the resultset generated by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if spName is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if transaction is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if transaction.Connection is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteReaderTypedParams(System.Data.IDbCommand,System.Data.DataRow)">
            <summary>
            Execute a stored procedure via an IDbCommand (that returns a resultset) against the database specified in 
            the connection string using the dataRow column values as the stored procedure's parameters values.
            This method will assign the parameter values based on parameter order.
            </summary>
            <param name="command">The IDbCommand to execute</param>
            <param name="dataRow">The dataRow used to hold the stored procedure's parameter values.</param>
            <returns>A IDataReader containing the resultset generated by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if command is null.</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteReaderTypedParams(System.String,System.String,System.Data.DataRow)">
            <summary>
            Execute a stored procedure via an IDbCommand (that returns a resultset) against the database specified in 
            the connection string using the dataRow column values as the stored procedure's parameters values.
            This method will query the database to discover the parameters for the 
            stored procedure (the first time each stored procedure is called), and assign the values based on parameter order.
            </summary>
            <param name="connectionString">A valid connection string for an IDbConnection</param>
            <param name="spName">The name of the stored procedure</param>
            <param name="dataRow">The dataRow used to hold the stored procedure's parameter values.</param>
            <returns>A IDataReader containing the resultset generated by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if connectionString is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if spName is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteReaderTypedParams(System.Data.IDbConnection,System.String,System.Data.DataRow)">
            <summary>
            Execute a stored procedure via an IDbCommand (that returns a resultset) against the specified IDbConnection 
            using the dataRow column values as the stored procedure's parameters values.
            This method will query the database to discover the parameters for the 
            stored procedure (the first time each stored procedure is called), and assign the values based on parameter order.
            </summary>
            <param name="connection">A valid IDbConnection object</param>
            <param name="spName">The name of the stored procedure</param>
            <param name="dataRow">The dataRow used to hold the stored procedure's parameter values.</param>
            <returns>A IDataReader containing the resultset generated by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if spName is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if connection is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteReaderTypedParams(System.Data.IDbTransaction,System.String,System.Data.DataRow)">
            <summary>
            Execute a stored procedure via an IDbCommand (that returns a resultset) against the specified IDbTransaction 
            using the dataRow column values as the stored procedure's parameters values.
            This method will query the database to discover the parameters for the 
            stored procedure (the first time each stored procedure is called), and assign the values based on parameter order.
            </summary>
            <param name="transaction">A valid IDbTransaction object</param>
            <param name="spName">The name of the stored procedure</param>
            <param name="dataRow">The dataRow used to hold the stored procedure's parameter values.</param>
            <returns>A IDataReader containing the resultset generated by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if spName is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if transaction is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if transaction.Connection is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteScalarTypedParams(System.Data.IDbCommand,System.Data.DataRow)">
            <summary>
            Execute a stored procedure via an IDbCommand (that returns a 1x1 resultset) against the database specified in 
            the connection string using the dataRow column values as the stored procedure's parameters values.
            This method will assign the parameter values based on parameter order.
            </summary>
            <param name="command">The IDbCommand to execute</param>
            <param name="dataRow">The dataRow used to hold the stored procedure's parameter values.</param>
            <returns>An object containing the value in the 1x1 resultset generated by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if command is null.</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteScalarTypedParams(System.String,System.String,System.Data.DataRow)">
            <summary>
            Execute a stored procedure via an IDbCommand (that returns a 1x1 resultset) against the database specified in 
            the connection string using the dataRow column values as the stored procedure's parameters values.
            This method will query the database to discover the parameters for the 
            stored procedure (the first time each stored procedure is called), and assign the values based on parameter order.
            </summary>
            <param name="connectionString">A valid connection string for an IDbConnection</param>
            <param name="spName">The name of the stored procedure</param>
            <param name="dataRow">The dataRow used to hold the stored procedure's parameter values.</param>
            <returns>An object containing the value in the 1x1 resultset generated by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if connectionString is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if spName is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteScalarTypedParams(System.Data.IDbConnection,System.String,System.Data.DataRow)">
            <summary>
            Execute a stored procedure via an IDbCommand (that returns a 1x1 resultset) against the specified IDbConnection 
            using the dataRow column values as the stored procedure's parameters values.
            This method will query the database to discover the parameters for the 
            stored procedure (the first time each stored procedure is called), and assign the values based on parameter order.
            </summary>
            <param name="connection">A valid IDbConnection object</param>
            <param name="spName">The name of the stored procedure</param>
            <param name="dataRow">The dataRow used to hold the stored procedure's parameter values.</param>
            <returns>An object containing the value in the 1x1 resultset generated by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if spName is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if connection is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ExecuteScalarTypedParams(System.Data.IDbTransaction,System.String,System.Data.DataRow)">
            <summary>
            Execute a stored procedure via an IDbCommand (that returns a 1x1 resultset) against the specified IDbTransaction
            using the dataRow column values as the stored procedure's parameters values.
            This method will query the database to discover the parameters for the 
            stored procedure (the first time each stored procedure is called), and assign the values based on parameter order.
            </summary>
            <param name="transaction">A valid IDbTransaction object</param>
            <param name="spName">The name of the stored procedure</param>
            <param name="dataRow">The dataRow used to hold the stored procedure's parameter values.</param>
            <returns>An object containing the value in the 1x1 resultset generated by the command</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if spName is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if transaction is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if transaction.Connection is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.CheckForReturnValueParameter(System.Object[])">
            <summary>
            Checks for the existence of a return value parameter in the parametervalues
            </summary>
            <param name="parameterValues">An array of objects to be assigned as the input values of the stored procedure</param>
            <returns>true if the parameterValues contains a return value parameter, false otherwise</returns>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.AreParameterValuesIDataParameters(System.Object[],System.Data.IDataParameter[])">
            <summary>
            Check to see if the parameter values passed to the helper are, in fact, IDataParameters.
            </summary>
            <param name="parameterValues">Array of parameter values passed to helper</param>
            <param name="iDataParameterValues">new array of IDataParameters built from parameter values</param>
            <returns>True if the parameter values are IDataParameters</returns>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.GetSpParameterSet(System.String,System.String)">
            <summary>
            Retrieves the set of IDataParameters appropriate for the stored procedure
            </summary>
            <remarks>
            This method will query the database for this information, and then store it in a cache for future requests.
            </remarks>
            <param name="connectionString">A valid connection string for an IDbConnection</param>
            <param name="spName">The name of the stored procedure</param>
            <returns>An array of IDataParameterParameters</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if connectionString is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if spName is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.GetSpParameterSet(System.String,System.String,System.Boolean)">
            <summary>
            Retrieves the set of IDataParameters appropriate for the stored procedure
            </summary>
            <remarks>
            This method will query the database for this information, and then store it in a cache for future requests.
            </remarks>
            <param name="connectionString">A valid connection string for an IDbConnection</param>
            <param name="spName">The name of the stored procedure</param>
            <param name="includeReturnValueParameter">A bool value indicating whether the return value parameter should be included in the results</param>
            <returns>An array of IDataParameters</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if connectionString is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if spName is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.GetSpParameterSet(System.Data.IDbConnection,System.String)">
            <summary>
            Retrieves the set of IDataParameters appropriate for the stored procedure
            </summary>
            <remarks>
            This method will query the database for this information, and then store it in a cache for future requests.
            </remarks>
            <param name="connection">A valid IDataConnection object</param>
            <param name="spName">The name of the stored procedure</param>
            <returns>An array of IDataParameters</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if spName is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if connection is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.GetSpParameterSet(System.Data.IDbConnection,System.String,System.Boolean)">
            <summary>
            Retrieves the set of IDataParameters appropriate for the stored procedure
            </summary>
            <remarks>
            This method will query the database for this information, and then store it in a cache for future requests.
            </remarks>
            <param name="connection">A valid IDbConnection object</param>
            <param name="spName">The name of the stored procedure</param>
            <param name="includeReturnValueParameter">A bool value indicating whether the return value parameter should be included in the results</param>
            <returns>An array of IDataParameters</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if spName is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if connection is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.GetSpParameterSetInternal(System.Data.IDbConnection,System.String,System.Boolean)">
            <summary>
            Retrieves the set of IDataParameters appropriate for the stored procedure
            </summary>
            <param name="connection">A valid IDbConnection object</param>
            <param name="spName">The name of the stored procedure</param>
            <param name="includeReturnValueParameter">A bool value indicating whether the return value parameter should be included in the results</param>
            <returns>An array of IDataParameters</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if spName is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if connection is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.GetCachedParameterSet(System.String,System.String)">
            <summary>
            Retrieve a parameter array from the cache
            </summary>
            <param name="connectionString">A valid connection string for an IDbConnection</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <returns>An array of IDataParameters</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if connectionString is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if commandText is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.GetCachedParameterSet(System.Data.IDbConnection,System.String)">
            <summary>
            Retrieve a parameter array from the cache
            </summary>
            <param name="connection">A valid IDbConnection object</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <returns>An array of IDataParameters</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if commandText is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if connection is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.GetCachedParameterSetInternal(System.Data.IDbConnection,System.String)">
            <summary>
            Retrieve a parameter array from the cache
            </summary>
            <param name="connection">A valid IDbConnection object</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <returns>An array of IDataParameters</returns>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.CacheParameterSet(System.String,System.String,System.Data.IDataParameter[])">
            <summary>
            Add parameter array to the cache
            </summary>
            <param name="connectionString">A valid connection string for an IDbConnection</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <param name="commandParameters">An array of IDataParameters to be cached</param>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.CacheParameterSet(System.Data.IDbConnection,System.String,System.Data.IDataParameter[])">
            <summary>
            Add parameter array to the cache
            </summary>
            <param name="connection">A valid IDbConnection</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <param name="commandParameters">An array of IDataParameters to be cached</param>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.CacheParameterSetInternal(System.Data.IDbConnection,System.String,System.Data.IDataParameter[])">
            <summary>
            Add parameter array to the cache
            </summary>
            <param name="connection">A valid IDbConnection</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <param name="commandParameters">An array of IDataParameters to be cached</param>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.DiscoverSpParameterSet(System.Data.IDbConnection,System.String,System.Boolean)">
            <summary>
            Resolve at run time the appropriate set of IDataParameters for a stored procedure
            </summary>
            <param name="connection">A valid IDbConnection object</param>
            <param name="spName">The name of the stored procedure</param>
            <param name="includeReturnValueParameter">Whether or not to include their return value parameter</param>
            <returns>The parameter array discovered.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if spName is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if connection is null</exception>
        </member>
        <member name="F:CodeSmith.Core.Database.AdoHelper`1.m_rowUpdated">
            <summary>
            Internal handler used for bubbling up the event to the user
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Database.AdoHelper`1.m_rowUpdating">
            <summary>
            Internal handler used for bubbling up the event to the user
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.GetConnection(System.String)">
            <summary>
            Returns an IDbConnection object for the given connection string
            </summary>
            <param name="connectionString">The connection string to be used to create the connection</param>
            <returns>An IDbConnection object</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if connectionString is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.GetDataAdapter">
            <summary>
            Returns an IDbDataAdapter object
            </summary>
            <returns>The IDbDataAdapter</returns>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.DeriveParameters(System.Data.IDbCommand)">
            <summary>
            Calls the CommandBuilder.DeriveParameters method for the specified provider, doing any setup and cleanup necessary
            </summary>
            <param name="cmd">The IDbCommand referencing the stored procedure from which the parameter information is to be derived. The derived parameters are added to the Parameters collection of the IDbCommand. </param>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.GetParameter">
            <summary>
            Returns an IDataParameter object
            </summary>
            <returns>The IDataParameter object</returns>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.AddUpdateEventHandlers(System.Data.IDbDataAdapter,CodeSmith.Core.Database.AdoHelper{`0}.RowUpdatingHandler,CodeSmith.Core.Database.AdoHelper{`0}.RowUpdatedHandler)">
            <summary>
            Provider specific code to set up the updating/ed event handlers used by UpdateDataset
            </summary>
            <param name="dataAdapter">DataAdapter to attach the event handlers to</param>
            <param name="rowUpdatingHandler">The handler to be called when a row is updating</param>
            <param name="rowUpdatedHandler">The handler to be called when a row is updated</param>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.GetDataParameters(System.Int32)">
            <summary>
            Returns an array of IDataParameters of the specified size
            </summary>
            <param name="size">size of the array</param>
            <returns>The array of IDataParameters</returns>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.GetBlobParameter(System.Data.IDbConnection,System.Data.IDataParameter)">
            <summary>
            Handle any provider-specific issues with BLOBs here by "washing" the IDataParameter and returning a new one that is set up appropriately for the provider.
            </summary>
            <param name="connection">The IDbConnection to use in cleansing the parameter</param>
            <param name="p">The parameter before cleansing</param>
            <returns>The parameter after it's been cleansed.</returns>
        </member>
        <member name="T:CodeSmith.Core.Database.AdoHelper`1.RowUpdatedHandler">
            <summary>
            Delegate for creating a RowUpdatedEvent handler
            </summary>
            <param name="sender">The object that published the event</param>
            <param name="e">The RowUpdatedEventArgs for the event</param>
        </member>
        <member name="T:CodeSmith.Core.Database.AdoHelper`1.RowUpdatingHandler">
            <summary>
            Delegate for creating a RowUpdatingEvent handler
            </summary>
            <param name="sender">The object that published the event</param>
            <param name="e">The RowUpdatingEventArgs for the event</param>
        </member>
        <member name="T:CodeSmith.Core.Database.AdoHelper`1.AdoConnectionOwnership">
            <summary>
            This enum is used to indicate whether the connection was provided by the caller, or created by AdoHelper, so that
            we can set the appropriate CommandBehavior when calling ExecuteReader()
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Database.AdoHelper`1.AdoConnectionOwnership.Internal">
            <summary>Connection is owned and managed by ADOHelper</summary>
        </member>
        <member name="F:CodeSmith.Core.Database.AdoHelper`1.AdoConnectionOwnership.External">
            <summary>Connection is owned and managed by the caller</summary>
        </member>
        <member name="T:CodeSmith.Core.Database.AdoHelper`1.ADOHelperParameterCache">
            <summary>
            ADOHelperParameterCache provides functions to leverage a static cache of procedure parameters, and the
            ability to discover parameters for stored procedures at run-time.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ADOHelperParameterCache.CloneParameters(System.Data.IDataParameter[])">
            <summary>
            Deep copy of cached IDataParameter array
            </summary>
            <param name="originalParameters"></param>
            <returns></returns>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ADOHelperParameterCache.CacheParameterSet(System.String,System.String,System.Data.IDataParameter[])">
            <summary>
            Add parameter array to the cache
            </summary>
            <param name="connectionString">A valid connection string for an IDbConnection</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <param name="commandParameters">An array of IDataParameters to be cached</param>
            <exception cref="T:System.ArgumentNullException">Thrown if commandText is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if connectionString is null</exception>
        </member>
        <member name="M:CodeSmith.Core.Database.AdoHelper`1.ADOHelperParameterCache.GetCachedParameterSet(System.String,System.String)">
            <summary>
            Retrieve a parameter array from the cache
            </summary>
            <param name="connectionString">A valid connection string for an IDbConnection</param>
            <param name="commandText">The stored procedure name or SQL command</param>
            <returns>An array of IDataParameters</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if commandText is null</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if connectionString is null</exception>
        </member>
        <member name="T:CodeSmith.Core.Database.SafeDataReader">
            <summary>
            This is a DataReader that 'fixes' any null values before
            they are returned to our business code.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.#ctor(System.Data.IDataReader)">
            <summary>
            Initializes the SafeDataReader object to use data from
            the provided DataReader object.
            </summary>
            <param name="dataReader">The source DataReader object containing the data.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetString(System.Int32)">
            <summary>
            Gets a string value from the datareader.
            </summary>
            <remarks>
            Returns empty string for null.
            </remarks>
            <param name="i">Ordinal column position of the value.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetValue(System.Int32)">
            <summary>
            Gets a value of type <see cref="T:System.Object"/> from the datareader.
            </summary>
            <param name="i">Ordinal column position of the value.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetInt32(System.Int32)">
            <summary>
            Gets an integer from the datareader.
            </summary>
            <remarks>
            Returns 0 for null.
            </remarks>
            <param name="i">Ordinal column position of the value.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetDouble(System.Int32)">
            <summary>
            Gets a double from the datareader.
            </summary>
            <remarks>
            Returns 0 for null.
            </remarks>
            <param name="i">Ordinal column position of the value.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetGuid(System.Int32)">
            <summary>
            Gets a Guid value from the datareader.
            </summary>
            <remarks>
            Returns Guid.Empty for null.
            </remarks>
            <param name="i">Ordinal column position of the value.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.Read">
            <summary>
            Reads the next row of data from the datareader.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.NextResult">
            <summary>
            Moves to the next result set in the datareader.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.Close">
            <summary>
            Closes the datareader.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetBoolean(System.Int32)">
            <summary>
            Gets a boolean value from the datareader.
            </summary>
            <remarks>
            Returns <see langword="false" /> for null.
            </remarks>
            <param name="i">Ordinal column position of the value.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetByte(System.Int32)">
            <summary>
            Gets a byte value from the datareader.
            </summary>
            <remarks>
            Returns 0 for null.
            </remarks>
            <param name="i">Ordinal column position of the value.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetBytes(System.Int32,System.Int64,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Invokes the GetBytes method of the underlying datareader.
            </summary>
            <remarks>
            Returns 0 for null.
            </remarks>
            <param name="i">Ordinal column position of the value.</param>
            <param name="buffer">Array containing the data.</param>
            <param name="bufferOffset">Offset position within the buffer.</param>
            <param name="fieldOffset">Offset position within the field.</param>
            <param name="length">Length of data to read.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetChar(System.Int32)">
            <summary>
            Gets a char value from the datareader.
            </summary>
            <remarks>
            Returns Char.MinValue for null.
            </remarks>
            <param name="i">Ordinal column position of the value.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetChars(System.Int32,System.Int64,System.Char[],System.Int32,System.Int32)">
            <summary>
            Invokes the GetChars method of the underlying datareader.
            </summary>
            <remarks>
            Returns 0 for null.
            </remarks>
            <param name="i">Ordinal column position of the value.</param>
            <param name="buffer">Array containing the data.</param>
            <param name="bufferOffset">Offset position within the buffer.</param>
            <param name="fieldOffset">Offset position within the field.</param>
            <param name="length">Length of data to read.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetData(System.Int32)">
            <summary>
            Invokes the GetData method of the underlying datareader.
            </summary>
            <param name="i">Ordinal column position of the value.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetDataTypeName(System.Int32)">
            <summary>
            Invokes the GetDataTypeName method of the underlying datareader.
            </summary>
            <param name="i">Ordinal column position of the value.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetDateTime(System.Int32)">
            <summary>
            Gets a date value from the datareader.
            </summary>
            <remarks>
            Returns DateTime.MinValue for null.
            </remarks>
            <param name="i">Ordinal column position of the value.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetDecimal(System.Int32)">
            <summary>
            Gets a decimal value from the datareader.
            </summary>
            <remarks>
            Returns 0 for null.
            </remarks>
            <param name="i">Ordinal column position of the value.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetFieldType(System.Int32)">
            <summary>
            Invokes the GetFieldType method of the underlying datareader.
            </summary>
            <param name="i">Ordinal column position of the value.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetFloat(System.Int32)">
            <summary>
            Gets a Single value from the datareader.
            </summary>
            <remarks>
            Returns 0 for null.
            </remarks>
            <param name="i">Ordinal column position of the value.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetInt16(System.Int32)">
            <summary>
            Gets a Short value from the datareader.
            </summary>
            <remarks>
            Returns 0 for null.
            </remarks>
            <param name="i">Ordinal column position of the value.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetInt64(System.Int32)">
            <summary>
            Gets a Long value from the datareader.
            </summary>
            <remarks>
            Returns 0 for null.
            </remarks>
            <param name="i">Ordinal column position of the value.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetName(System.Int32)">
            <summary>
            Invokes the GetName method of the underlying datareader.
            </summary>
            <param name="i">Ordinal column position of the value.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetOrdinal(System.String)">
            <summary>
            Gets an ordinal value from the datareader.
            </summary>
            <param name="name">Name of the column containing the value.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetSchemaTable">
            <summary>
            Invokes the GetSchemaTable method of the underlying datareader.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetValues(System.Object[])">
            <summary>
            Invokes the GetValues method of the underlying datareader.
            </summary>
            <param name="values">An array of System.Object to
            copy the values into.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.IsDBNull(System.Int32)">
            <summary>
            Invokes the IsDBNull method of the underlying datareader.
            </summary>
            <param name="i">Ordinal column position of the value.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.Dispose">
            <summary>
            Disposes the object.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.Dispose(System.Boolean)">
            <summary>
            Disposes the object.
            </summary>
            <param name="disposing">True if called by
            the public Dispose method.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.Finalize">
            <summary>
            Object finalizer.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetString(System.String)">
            <summary>
            Gets a string value from the datareader.
            </summary>
            <remarks>
            Returns empty string for null.
            </remarks>
            <param name="name">Name of the column containing the value.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetValue(System.String)">
            <summary>
            Gets a value of type <see cref="T:System.Object"/> from the datareader.
            </summary>
            <param name="name">Name of the column containing the value.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetInt32(System.String)">
            <summary>
            Gets an integer from the datareader.
            </summary>
            <remarks>
            Returns 0 for null.
            </remarks>
            <param name="name">Name of the column containing the value.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetDouble(System.String)">
            <summary>
            Gets a double from the datareader.
            </summary>
            <remarks>
            Returns 0 for null.
            </remarks>
            <param name="name">Name of the column containing the value.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetGuid(System.String)">
            <summary>
            Gets a Guid value from the datareader.
            </summary>
            <remarks>
            Returns Guid.Empty for null.
            </remarks>
            <param name="name">Name of the column containing the value.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetBoolean(System.String)">
            <summary>
            Gets a boolean value from the datareader.
            </summary>
            <remarks>
            Returns <see langword="false" /> for null.
            </remarks>
            <param name="name">Name of the column containing the value.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetByte(System.String)">
            <summary>
            Gets a byte value from the datareader.
            </summary>
            <remarks>
            Returns 0 for null.
            </remarks>
            <param name="name">Name of the column containing the value.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetBytes(System.String,System.Int64,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Invokes the GetBytes method of the underlying datareader.
            </summary>
            <remarks>
            Returns 0 for null.
            </remarks>
            <param name="name">Name of the column containing the value.</param>
            <param name="buffer">Array containing the data.</param>
            <param name="bufferOffset">Offset position within the buffer.</param>
            <param name="fieldOffset">Offset position within the field.</param>
            <param name="length">Length of data to read.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetChar(System.String)">
            <summary>
            Gets a char value from the datareader.
            </summary>
            <remarks>
            Returns Char.MinValue for null.
            </remarks>
            <param name="name">Name of the column containing the value.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetChars(System.String,System.Int64,System.Char[],System.Int32,System.Int32)">
            <summary>
            Invokes the GetChars method of the underlying datareader.
            </summary>
            <remarks>
            Returns 0 for null.
            </remarks>
            <param name="name">Name of the column containing the value.</param>
            <param name="buffer">Array containing the data.</param>
            <param name="bufferOffset">Offset position within the buffer.</param>
            <param name="fieldOffset">Offset position within the field.</param>
            <param name="length">Length of data to read.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetData(System.String)">
            <summary>
            Invokes the GetData method of the underlying datareader.
            </summary>
            <param name="name">Name of the column containing the value.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetDataTypeName(System.String)">
            <summary>
            Invokes the GetDataTypeName method of the underlying datareader.
            </summary>
            <param name="name">Name of the column containing the value.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetDateTime(System.String)">
            <summary>
            Gets a date value from the datareader.
            </summary>
            <remarks>
            Returns DateTime.MinValue for null.
            </remarks>
            <param name="name">Name of the column containing the value.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetDecimal(System.String)">
            <summary>
            Gets a decimal value from the datareader.
            </summary>
            <remarks>
            Returns 0 for null.
            </remarks>
            <param name="name">Name of the column containing the value.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetFieldType(System.String)">
            <summary>
            Invokes the GetFieldType method of the underlying datareader.
            </summary>
            <param name="name">Name of the column containing the value.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetFloat(System.String)">
            <summary>
            Gets a Single value from the datareader.
            </summary>
            <remarks>
            Returns 0 for null.
            </remarks>
            <param name="name">Name of the column containing the value.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetInt16(System.String)">
            <summary>
            Gets a Short value from the datareader.
            </summary>
            <remarks>
            Returns 0 for null.
            </remarks>
            <param name="name">Name of the column containing the value.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.GetInt64(System.String)">
            <summary>
            Gets a Long value from the datareader.
            </summary>
            <remarks>
            Returns 0 for null.
            </remarks>
            <param name="name">Name of the column containing the value.</param>
        </member>
        <member name="M:CodeSmith.Core.Database.SafeDataReader.IsDBNull(System.String)">
            <summary>
            Invokes the IsDBNull method of the underlying datareader.
            </summary>
            <param name="name">Name of the column containing the value.</param>
        </member>
        <member name="P:CodeSmith.Core.Database.SafeDataReader.DataReader">
            <summary>
            Get a reference to the underlying data reader
            object that actually contains the data from
            the data source.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Database.SafeDataReader.Depth">
            <summary>
            Returns the depth property value from the datareader.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Database.SafeDataReader.FieldCount">
            <summary>
            Returns the FieldCount property from the datareader.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Database.SafeDataReader.IsClosed">
            <summary>
            Returns the IsClosed property value from the datareader.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Database.SafeDataReader.Item(System.String)">
            <summary>
            Returns a value from the datareader.
            </summary>
            <param name="name">Name of the column containing the value.</param>
        </member>
        <member name="P:CodeSmith.Core.Database.SafeDataReader.Item(System.Int32)">
            <summary>
            Returns a value from the datareader.
            </summary>
            <param name="i">Ordinal column position of the value.</param>
        </member>
        <member name="P:CodeSmith.Core.Database.SafeDataReader.RecordsAffected">
            <summary>
            Returns the RecordsAffected property value from the underlying datareader.
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Diagnostics.RollingFileTraceListener">
            <summary>
            Writes tracing or debugging output to a text file.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Diagnostics.RollingFileTraceListener.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Diagnostics.RollingFileTraceListener"/> class.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Diagnostics.RollingFileTraceListener.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Diagnostics.RollingFileTraceListener"/> class.
            </summary>
            <param name="fileName">Name of the file.</param>
        </member>
        <member name="M:CodeSmith.Core.Diagnostics.RollingFileTraceListener.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Diagnostics.RollingFileTraceListener"/> class.
            </summary>
            <param name="fileName">Name of the file.</param>
            <param name="name">The name.</param>
        </member>
        <member name="M:CodeSmith.Core.Diagnostics.RollingFileTraceListener.Flush">
            <summary>
            When overridden in a derived class, flushes the output buffer.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Diagnostics.RollingFileTraceListener.Write(System.String)">
            <summary>
            Writes the specified value.
            </summary>
            <param name="value">The value.</param>
        </member>
        <member name="M:CodeSmith.Core.Diagnostics.RollingFileTraceListener.WriteLine(System.String)">
            <summary>
            Writes the line.
            </summary>
            <param name="value">The value.</param>
        </member>
        <member name="M:CodeSmith.Core.Diagnostics.RollingFileTraceListener.Close">
            <summary>
            When overridden in a derived class, closes the output stream so it no longer receives tracing or debugging output.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Diagnostics.RollingFileTraceListener.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:System.Diagnostics.TraceListener"/> 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>
        </member>
        <member name="T:CodeSmith.Core.Events.UnregisterDelegate`1">
            <summary>
            Delegate of an unsubscribe delegate
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Events.WeakEventHandlerGeneric`3">
            <summary>
            A handler for an event that doesn't store a reference to the source
            handler must be a instance method
            </summary>
            <typeparam name="T">type of calling object</typeparam>
            <typeparam name="E">type of event args</typeparam>
            <typeparam name="H">type of event handler</typeparam>
        </member>
        <member name="M:CodeSmith.Core.Events.WeakEventHandlerGeneric`3.op_Implicit(CodeSmith.Core.Events.WeakEventHandlerGeneric{`0,`1,`2})~`2">
            <summary>
            Performs an implicit conversion from <see cref="T:CodeSmith.Core.Events.WeakEventHandler`2"/> to <see cref="T:System.EventHandler`1"/>.
            </summary>
            <param name="weh">The weh.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:CodeSmith.Core.Events.WeakEventHandlerGeneric`3.CastDelegate(System.Delegate)">
            <summary>
            Casts the delegate.
            </summary>
            <param name="source">The source.</param>
            <returns></returns>
        </member>
        <member name="P:CodeSmith.Core.Events.WeakEventHandlerGeneric`3.Handler">
            <summary>
            Gets the handler.
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Events.IWeakEventHandler`1">
            <summary>
            An interface for a weak event handler
            </summary>
            <typeparam name="E"></typeparam>
        </member>
        <member name="T:CodeSmith.Core.Events.WeakEventHandler`2">
            <summary>
            A handler for an event that doesn't store a reference to the source
            handler must be a instance method
            </summary>
            <typeparam name="T"></typeparam>
            <typeparam name="E"></typeparam>
        </member>
        <member name="T:CodeSmith.Core.Events.IWeakPropertyChangedEventHandler">
            <summary>
            An interface for a weak event handler
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Events.WeakPropertyChangeHandler`1">
            <summary>
            A handler for an event that doesn't store a reference to the source
            handler must be a instance method
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="T:CodeSmith.Core.Events.WeakEventExtensions">
            <summary>
            Utilities for the weak event method
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Events.WeakEventExtensions.MakeWeak(System.ComponentModel.PropertyChangedEventHandler,CodeSmith.Core.Events.UnregisterDelegate{System.ComponentModel.PropertyChangedEventHandler})">
            <summary>
            Makes a property change handler weak
            </summary>
            <param name="eventHandler">The event handler.</param>
            <param name="unregister">The unregister.</param>
            <returns></returns>
        </member>
        <member name="M:CodeSmith.Core.Events.WeakEventExtensions.MakeWeak``1(System.EventHandler{``0},CodeSmith.Core.Events.UnregisterDelegate{System.EventHandler{``0}})">
            <summary>
            Makes a generic handler weak
            </summary>
            <typeparam name="E"></typeparam>
            <param name="eventHandler">The event handler.</param>
            <param name="unregister">The unregister.</param>
            <returns></returns>
        </member>
        <member name="T:CodeSmith.Core.Extensions.ConcurrentDictionaryExtensions">
            <summary>
            http://msdn.microsoft.com/en-us/library/dd997369.aspx
            http://kozmic.pl/2010/08/06/concurrentdictionary-in-net-4-not-what-you-would-expect/
            http://codereview.stackexchange.com/questions/2025/extension-methods-to-make-concurrentdictionary-getoradd-and-addorupdate-thread-sa
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Extensions.ListExtensions.AddRange``1(System.Collections.Generic.IList{``0},System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Adds the elements of the specified collection to the end of the list.
            </summary>
            <typeparam name="T">The type of elements in the list.</typeparam>
            <param name="list">The list to which the items should be added.</param>
            <param name="collection">The collection whose elements should be added to the end of the list. The collection itself cannot be null, but it can contain elements that are null, if type <typeparamref name="T"/> is a reference type.</param>
        </member>
        <member name="M:CodeSmith.Core.Extensions.ListExtensions.InsertRange``1(System.Collections.Generic.IList{``0},System.Int32,System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Inserts the elements of a collection into the list at the specified index.
            </summary>
            <typeparam name="T">The type of elements in the list.</typeparam>
            <param name="list">The list to which the items should be inserted.</param>
            <param name="index">The zero-based index at which the new elements should be inserted..</param>
            <param name="collection">The collection whose elements should be inserted into the list. The collection itself cannot be null, but it can contain elements that are null, if type <typeparamref name="T"/>  is a reference type.</param>
        </member>
        <member name="M:CodeSmith.Core.Extensions.ListExtensions.RemoveAll``1(System.Collections.Generic.IList{``0},System.Predicate{``0})">
            <summary>
            Removes all the elements that match the conditions defined by the specified predicate.
            </summary>
            <typeparam name="T">The type of elements in the list.</typeparam>
            <param name="list">The list from with the items should be removed.</param>
            <param name="match">The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the elements to remove.</param>
            <returns>The number of elements removed from the <see cref="T:System.Collections.Generic.IList`1"/>.</returns>
        </member>
        <member name="T:CodeSmith.Core.Extensions.ProfileExtensions">
            <summary>
            Helper class to print out performance related data like number of runs, elapsed time and frequency
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Extensions.ProfileExtensions.ProfileConcurrently(System.Action,System.Int32,System.String)">
            <summary>
            Execute the given function n-times and print the timing values (number of runs, elapsed time, call frequency)
            to the console window.
            </summary>
            <param name="func">Function to call in a for loop.</param>
            <param name="runs">Number of iterations.</param>
            <param name="format">Format string which can contain {runs} or {0},{time} or {1} and {frequency} or {2}.</param>
        </member>
        <member name="M:CodeSmith.Core.Extensions.ProfileExtensions.Profile(System.Action,System.Int32,System.String)">
            <summary>
            Execute the given function n-times and print the timing values (number of runs, elapsed time, call frequency)
            to the console window.
            </summary>
            <param name="func">Function to call in a for loop.</param>
            <param name="runs">Number of iterations.</param>
            <param name="format">Format string which can contain {runs} or {0},{time} or {1} and {frequency} or {2}.</param>
        </member>
        <member name="M:CodeSmith.Core.Extensions.ProfileExtensions.ProfileWithWarmup(System.Action,System.Int32,System.String)">
            <summary>
            Call a function in a for loop n-times. The first function call will be measured independently to measure
            first call effects.
            </summary>
            <param name="func">Function to call in a loop.</param>
            <param name="runs">Number of iterations.</param>
            <param name="format">Format string for first function call performance.</param>
            <remarks>
            The format string can contain {runs} or {0},{time} or {1} and {frequency} or {2}.
            </remarks>
        </member>
        <member name="M:CodeSmith.Core.Extensions.ProfileExtensions.ProfileConcurrentlyWithWarmup(System.Action,System.Int32,System.String)">
            <summary>
            Call a function in a for loop n-times. The first function call will be measured independently to measure
            first call effects.
            </summary>
            <param name="func">Function to call in a loop.</param>
            <param name="runs">Number of iterations.</param>
            <param name="format">Format string for first function call performance.</param>
            <remarks>
            The format string can contain {runs} or {0},{time} or {1} and {frequency} or {2}.
            </remarks>
        </member>
        <member name="M:CodeSmith.Core.Extensions.DateTimeExtensions.ToEndOfDay(System.DateTime)">
            <summary>
            Adjust the DateTime so the time is 1 millisecond before the next day.
            </summary>
            <param name="dateTime">The DateTime to adjust.</param>
            <returns>A DateTime that is 1 millisecond before the next day.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.DateTimeExtensions.ToBinary(System.DateTime)">
            <summary>
            Serializes the current DateTime object to a 64-bit binary value that subsequently can be used to recreate the DateTime object.
            </summary>
            <param name="self">The DateTime to serialize.</param>
            <returns>A 64-bit signed integer that encodes the Kind and Ticks properties.</returns>
            <remarks>
            This method exists to add missing functionality in Silverlight.
            </remarks>
        </member>
        <member name="M:CodeSmith.Core.Extensions.EnumHelper.IsAnyFlagOn``1(System.Enum,``0)">
            <summary>
            Determines whether any flag is on for the specified mask.
            </summary>
            <typeparam name="T">The flag type.</typeparam>
            <param name="mask">The mask to check if the flag is on.</param>
            <param name="flag">The flag to check for in the mask.</param>
            <returns>
            	<c>true</c> if any flag is on for the specified mask; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.EnumHelper.IsFlagOn``1(System.Enum,``0)">
            <summary>
            Determines whether the flag is on for the specified mask.
            </summary>
            <typeparam name="T">The flag type.</typeparam>
            <param name="mask">The mask to check if the flag is on.</param>
            <param name="flag">The flag to check for in the mask.</param>
            <returns>
            	<c>true</c> if the flag is on for the specified mask; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.EnumHelper.SetFlagOn``1(System.Enum,``0)">
            <summary>
            Sets the flag on in the specified mask.
            </summary>
            <typeparam name="T">The flag type.</typeparam>
            <param name="mask">The mask to set flag on.</param>
            <param name="flag">The flag to set.</param>
            <returns>The mask with the flag set to on.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.EnumHelper.SetFlagOff``1(System.Enum,``0)">
            <summary>
            Sets the flag off in the specified mask.
            </summary>
            <typeparam name="T">The flag type.</typeparam>
            <param name="mask">The mask to set flag off.</param>
            <param name="flag">The flag to set.</param>
            <returns>The mask with the flag set to off.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.EnumHelper.ToggleFlag``1(System.Enum,``0)">
            <summary>
            Toggles the flag in the specified mask.
            </summary>
            <typeparam name="T">The flag type.</typeparam>
            <param name="mask">The mask to toggle the flag against.</param>
            <param name="flag">The flag to toggle.</param>
            <returns>The mask with the flag set in the opposite position then it was.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.EnumHelper.ToStringHex``1(System.Enum)">
            <summary>
            Gets the string hex of the enum.
            </summary>
            <typeparam name="T">The enum type.</typeparam>
            <param name="enum">The enum to get the string hex from.</param>
            <returns></returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.EnumHelper.TryParseEnum``1(System.Enum,System.String,``0@)">
            <summary>
            Tries to get an enum from a String.
            </summary>
            <typeparam name="T">The enum type.</typeparam>
            <param name="value">The enum value.</param>
            <param name="input">The input String.</param>
            <param name="returnValue">The return enum value.</param>
            <returns>
            	<c>true</c> if the string was able to be parsed to an enum; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.EnumHelper.TryEnumIsDefined(System.Type,System.Object)">
            <summary>
            Will try and parse an enum and it's default type.
            </summary>
            <param name="type"></param>
            <param name="value"></param>
            <returns>True if the enum value is defined.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.EnumHelper.GetEnumDefaultValue(System.Type)">
            <summary>
            Gets the default defined value of an enum.
            </summary>
            <param name="type">The enum.</param>
            <returns>If the value cannot be determined, 0 will be returned.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.EnumHelper.TryGetEnumDefaultValue``1(System.Type,System.Object@)">
            <summary>
            Attempts to get the default value of an enum.
            </summary>
            <typeparam name="T">The System Type.</typeparam>
            <param name="type"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.EnumHelper.GetDescription(System.Enum)">
            <summary>
            Retrieve the description on the enum, e.g.
            [Description("Bright Pink")]
            BrightPink = 2,
            Then when you pass in the enum, it will retrieve the description
            </summary>
            <param name="en">The Enumeration</param>
            <returns>A string representing the friendly name</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.ExceptionExtensions.GetInnerException(System.AggregateException)">
            <summary>
            Gets the exception that is wrapped by an AggregateException.
            </summary>
            <param name="exception"></param>
            <returns></returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.ExceptionExtensions.FormatMessageWithStackTrace(System.Exception)">
            <summary>
            Formats an exception with the stack trace included.
            </summary>
            <param name="exception"></param>
            <returns></returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.HashExtensions.ComputeHash(System.String,System.Security.Cryptography.HashAlgorithm)">
            <summary>Compute hash on input string</summary>
            <param name="input">The string to compute hash on.</param>
            <param name="algorithm"> </param>
            <returns>The hash as a hexadecimal String.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.HashExtensions.ComputeHash(System.IO.Stream,System.Security.Cryptography.HashAlgorithm)">
            <summary>Compute hash on input stream</summary>
            <param name="input">The stream to compute hash on.</param>
            <param name="algorithm"> </param>
            <returns>The hash as a hexadecimal String.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.HashExtensions.ComputeHash(System.Byte[],System.Security.Cryptography.HashAlgorithm)">
            <summary>
            Compute hash on byte array
            </summary>
            <param name="input">The byte array to get hash from.</param>
            <param name="algorithm"> </param>
            <returns>The hash as a hexadecimal String.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.HashExtensions.ComputeHash(System.IO.FileInfo,System.Security.Cryptography.HashAlgorithm)">
            <summary>Compute hash on input string</summary>
            <param name="file">The file to get hash from.</param>
            <param name="algorithm"> </param>
            <returns>The hash as a hexadecimal String.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.HashExtensions.ComputeHash(System.Text.StringBuilder,System.Security.Cryptography.HashAlgorithm)">
            <summary>Compute hash on input string</summary>
            <param name="buffer">The string to compute hash on.</param>
            <param name="algorithm"> </param>
            <returns>The hash as a hexadecimal String.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.HashExtensions.ToSHA1(System.String)">
            <summary>Compute SHA1 hash on input string</summary>
            <param name="input">The string to compute hash on.</param>
            <returns>The hash as a hexadecimal String.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.HashExtensions.ToSHA1(System.Collections.Generic.IEnumerable{System.String})">
            <summary>Compute SHA1 hash on a collection of input string</summary>
            <param name="inputs">The collection of strings to compute hash on.</param>
            <returns>The hash as a hexadecimal String.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.HashExtensions.ToSHA1(System.IO.Stream)">
            <summary>Compute SHA1 hash on input string</summary>
            <param name="input">The string to compute hash on.</param>
            <returns>The hash as a hexadecimal String.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.HashExtensions.ToSHA1(System.Byte[])">
            <summary>
            Compute SHA1 hash on input string
            </summary>
            <param name="buffer">The buffer.</param>
            <returns>The hash as a hexadecimal String.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.HashExtensions.ToSHA1(System.IO.FileInfo)">
            <summary>Compute SHA1 hash on input string</summary>
            <param name="file">The file to get hash from.</param>
            <returns>The hash as a hexadecimal String.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.HashExtensions.ToSHA1(System.Text.StringBuilder)">
            <summary>Compute SHA1 hash on input string</summary>
            <param name="buffer">The string to compute hash on.</param>
            <returns>The hash as a hexadecimal String.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.HashExtensions.ToSHA256(System.String)">
            <summary>Compute SHA256 hash on input string</summary>
            <param name="input">The string to compute hash on.</param>
            <returns>The hash as a hexadecimal String.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.HashExtensions.ToSHA256(System.IO.Stream)">
            <summary>Compute SHA256 hash on input string</summary>
            <param name="input">The string to compute hash on.</param>
            <returns>The hash as a hexadecimal String.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.HashExtensions.ToSHA256(System.Byte[])">
            <summary>
            Compute SHA256 hash on input string
            </summary>
            <param name="buffer">The buffer.</param>
            <returns>The hash as a hexadecimal String.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.HashExtensions.ToSHA256(System.IO.FileInfo)">
            <summary>Compute SHA256 hash on input string</summary>
            <param name="file">The file to get hash from.</param>
            <returns>The hash as a hexadecimal String.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.HashExtensions.ToSHA256(System.Text.StringBuilder)">
            <summary>Compute SHA256 hash on input string</summary>
            <param name="buffer">The string to compute hash on.</param>
            <returns>The hash as a hexadecimal String.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.HashExtensions.ToSHA512(System.String)">
            <summary>Compute SHA512 hash on input string</summary>
            <param name="input">The string to compute hash on.</param>
            <returns>The hash as a hexadecimal String.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.HashExtensions.ToSHA512(System.IO.Stream)">
            <summary>Compute SHA512 hash on input string</summary>
            <param name="input">The string to compute hash on.</param>
            <returns>The hash as a hexadecimal String.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.HashExtensions.ToSHA512(System.Byte[])">
            <summary>
            Compute SHA512 hash on input string
            </summary>
            <param name="buffer">The buffer.</param>
            <returns>The hash as a hexadecimal String.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.HashExtensions.ToSHA512(System.IO.FileInfo)">
            <summary>Compute SHA512 hash on input string</summary>
            <param name="file">The file to get hash from.</param>
            <returns>The hash as a hexadecimal String.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.HashExtensions.ToSHA512(System.Text.StringBuilder)">
            <summary>Compute SHA512 hash on input string</summary>
            <param name="buffer">The string to compute hash on.</param>
            <returns>The hash as a hexadecimal String.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.HashExtensions.ToCRC32(System.String)">
            <summary>Compute CRC32 hash on input string</summary>
            <param name="input">The string to compute hash on.</param>
            <returns>The hash as a hexadecimal String.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.HashExtensions.ToCRC32(System.IO.Stream)">
            <summary>Compute CRC32 hash on input string</summary>
            <param name="input">The string to compute hash on.</param>
            <returns>The hash as a hexadecimal String.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.HashExtensions.ToCRC32(System.Byte[])">
            <summary>
            Compute CRC32 hash on input string
            </summary>
            <param name="buffer">The buffer.</param>
            <returns>The hash as a hexadecimal String.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.HashExtensions.ToCRC32(System.IO.FileInfo)">
            <summary>Compute CRC32 hash on input string</summary>
            <param name="file">The file to get hash from.</param>
            <returns>The hash as a hexadecimal String.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.HashExtensions.ToCRC32(System.Text.StringBuilder)">
            <summary>Compute CRC32 hash on input string</summary>
            <param name="buffer">The string to compute hash on.</param>
            <returns>The hash as a hexadecimal String.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.HashExtensions.ToMD5(System.String)">
            <summary>Compute MD5 hash on input string</summary>
            <param name="input">The string to compute hash on.</param>
            <returns>The hash as a hexadecimal String.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.HashExtensions.ToMD5(System.IO.Stream)">
            <summary>Compute MD5 hash on input string</summary>
            <param name="input">The string to compute hash on.</param>
            <returns>The hash as a hexadecimal String.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.HashExtensions.ToMD5(System.Byte[])">
            <summary>
            Compute MD5 hash on input string
            </summary>
            <param name="buffer">The buffer.</param>
            <returns>The hash as a hexadecimal String.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.HashExtensions.ToMD5(System.IO.FileInfo)">
            <summary>Compute MD5 hash on input string</summary>
            <param name="file">The file to get hash from.</param>
            <returns>The hash as a hexadecimal String.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.HashExtensions.ToMD5(System.Text.StringBuilder)">
            <summary>Compute MD5 hash on input string</summary>
            <param name="buffer">The string to compute hash on.</param>
            <returns>The hash as a hexadecimal String.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.HashExtensions.ToHex(System.Collections.Generic.IEnumerable{System.Byte})">
            <summary>
            Converts a byte array to Hexadecimal.
            </summary>
            <param name="bytes">The bytes to convert.</param>
            <returns>Hexadecimal string of the byte array.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.HashExtensions.ToBase64(System.Collections.Generic.IEnumerable{System.Byte})">
            <summary>
            Converts a byte array to Hexadecimal.
            </summary>
            <param name="bytes">The bytes to convert.</param>
            <returns>Hexadecimal string of the byte array.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.HashExtensions.ToByteArray(System.String)">
            <summary>
            Converts a hexadecimal string into a byte array.
            </summary>
            <param name="hex">The hex String.</param>
            <returns>A byte array.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.PropertyChangeExtensions.SetValue``1(System.ComponentModel.PropertyChangedEventHandler,System.ComponentModel.PropertyChangingEventHandler,``0,System.Linq.Expressions.Expression{System.Func{``0}},System.Action{``0})">
            <summary>
            Sets the property value if the value is different fromt he existing value. 
            The PropertyChanging and PropertyChanged events are raised if the value is updated.
            </summary>
            <typeparam name="T">The type of the property</typeparam>
            <param name="changedHandler">The handler for the PropertyChanged event.</param>
            <param name="changingHandler">The handler for the PropertyChanging event.</param>
            <param name="newValue">The new value.</param>
            <param name="oldValueExpression">The old value expression.</param>
            <param name="setter">The setter delegate.</param>
            <returns>The new value.</returns>
            <example>The following is an example of a Name property.
            <code>
            <![CDATA[
            private string _name;
            public string Name
            {
                get { return _name; }
                set { PropertyChanged.SetValue(PropertyChanging, value, () => Name, v => _name = v); }
            }
            ]]>
            </code>
            </example>
        </member>
        <member name="M:CodeSmith.Core.Extensions.PropertyChangeExtensions.SetValue``1(System.ComponentModel.PropertyChangingEventHandler,System.ComponentModel.PropertyChangedEventHandler,``0,System.Linq.Expressions.Expression{System.Func{``0}},System.Action{``0})">
            <summary>
            Sets the property value if the value is different fromt he existing value. 
            The PropertyChanging and PropertyChanged events are raised if the value is updated.
            </summary>
            <typeparam name="T">The type of the property</typeparam>
            <param name="changedHandler">The handler for the PropertyChanged event.</param>
            <param name="changingHandler">The handler for the PropertyChanging event.</param>
            <param name="newValue">The new value.</param>
            <param name="oldValueExpression">The old value expression.</param>
            <param name="setter">The setter delegate.</param>
            <returns>The new value.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.Truncate(System.String,System.Int32)">
            <summary>
            Truncates the specified text.
            </summary>
            <param name="text">The text to truncate.</param>
            <param name="keep">The number of characters to keep.</param>
            <returns>A truncate String.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.GetStableHashCode(System.String)">
            <summary>
            Calculates a hash code for the string that is guaranteed to be stable across .NET versions.
            </summary>
            <param name="value">The string to hash.</param>
            <returns>The hash code</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.IsNullOrEmpty(System.String)">
            <summary>
            Indicates whether the specified String object is null or an empty string
            </summary>
            <param name="item">A String reference</param>
            <returns>
                <c>true</c> if is null or empty; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.IsNullOrWhiteSpace(System.String)">
            <summary>
            Indicates whether a specified string is null, empty, or consists only of white-space characters
            </summary>
            <param name="item">A String reference</param>
            <returns>
                 <c>true</c> if is null or empty; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.IsJson(System.String)">
            <summary>
            Determines if the string looks like JSON content.
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.SafeFormat(System.String,System.Object[])">
            <summary>
            Formats a string without throwing a FormatException.
            </summary>
            <param name="format">A String reference</param>
            <param name="args">Object parameters that should be formatted</param>
            <returns>Formatted string if no error is thrown, else reutrns the format parameter.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.FormatWith(System.String,System.Object[])">
            <summary>
            Uses the string as a format
            </summary>
            <param name="format">A String reference</param>
            <param name="args">Object parameters that should be formatted</param>
            <returns>Formatted string</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.FormatAs(System.Object,System.String)">
            <summary>
            Applies a format to the item
            </summary>
            <param name="item">Item to format</param>
            <param name="format">Format string</param>
            <returns>Formatted string</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.FormatName(System.String,System.Object)">
            <summary>
            Uses the string as a format.
            </summary>
            <param name="format">A String reference</param>
            <param name="source">Object that should be formatted</param>
            <returns>Formatted string</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.FormatNameAs(System.Object,System.String)">
            <summary>
            Applies a format to the item
            </summary>
            <param name="item">Item to format</param>
            <param name="format">Format string</param>
            <returns>Formatted string</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.ToConcatenatedString``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.String})">
            <summary>
            Creates a string from the sequence by concatenating the result
            of the specified string selector function for each element.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.ToConcatenatedString``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.String},System.String)">
             <summary>
             Creates a string from the sequence by concatenating the result
             of the specified string selector function for each element.
             </summary>
            <param name="action"></param>
            <param name="separator">The string which separates each concatenated item.</param>
            <param name="values"></param>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.ToDelimitedString``1(System.Collections.Generic.IEnumerable{``0},System.String)">
            <summary>
            Converts an IEnumerable of values to a delimited String.
            </summary>
            <typeparam name="T">
            The type of objects to delimit.
            </typeparam>
            <param name="values">
            The IEnumerable string values to convert.
            </param>
            <param name="delimiter">
            The delimiter.
            </param>
            <returns>
            A delimited string of the values.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.ToDelimitedString(System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Converts an IEnumerable of values to a delimited String.
            </summary>
            <param name="values">The IEnumerable string values to convert.</param>
            <returns>A delimited string of the values.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.ToDelimitedString(System.Collections.Generic.IEnumerable{System.String},System.String)">
            <summary>
            Converts an IEnumerable of values to a delimited String.
            </summary>
            <param name="values">The IEnumerable string values to convert.</param>
            <param name="delimiter">The delimiter.</param>
            <returns>A delimited string of the values.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.ToCamelCase(System.String)">
            <summary>
            Converts a string to use camelCase.
            </summary>
            <param name="value">The value.</param>
            <returns>The to camel case. </returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.ToTitleCase(System.String)">
            <summary>
            Converts a string to use PascalCase.
            </summary>
            <param name="value">Text to convert</param>
            <returns>The string</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.ToPascalCase(System.String)">
            <summary>
            Converts a string to use PascalCase.
            </summary>
            <param name="value">Text to convert</param>
            <returns>The string</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.ToCSharpLiteral(System.String)">
            <summary>
            Converts a string to an C# escaped literal String.
            </summary>
            <param name="value">Text to escape</param>
            <returns>The escaped string</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.ToCSharpIdentifier(System.String)">
            <summary>
            Converts a string to a valid C# identifier String.
            </summary>
            <param name="value">Text to convert.</param>
            <returns>The valid identifier</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.ToVbLiteral(System.String)">
            <summary>
            Converts a string to an VB escaped literal String.
            </summary>
            <param name="value">Text to escape</param>
            <returns>The escaped string</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.ToVbIdentifier(System.String)">
            <summary>
            Converts a string to a valid C# identifier String.
            </summary>
            <param name="value">Text to convert.</param>
            <returns>The valid identifier</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.ToHtmlIdentifier(System.String)">
            <summary>
            Converts a string to a valid HTML identifier String.
            </summary>
            <param name="value">Text to convert.</param>
            <returns>The valid identifier</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.ToIdentifier(System.String)">
            <summary>
            Converts a string to a valid .NET identifier String.
            </summary>
            <param name="value">Text to convert.</param>
            <returns>The valid identifier</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.IsValidIdentifier(System.String)">
            <summary>
            Checks to see if a string is a valid .NET identifier String.
            </summary>
            <param name="value">String identifier to check.</param>
            <returns>Returns true if value is a valid identifier</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.IsValidNamespace(System.String)">
            <summary>
            Checks to see if a string is a valid .NET namespace.
            </summary>
            <param name="value">String identifier to check.</param>
            <returns>Returns true if value is a valid namespace.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.Replicate(System.String,System.Int32)">
            <summary>
            Replicates the given String.
            </summary>
            <param name="value">Text to replicate</param>
            <param name="count">Times to replicate</param>
            <returns>The replicated string</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.ToPascalCase(System.String,System.Text.RegularExpressions.Regex)">
            <summary>
            Converts a string to use PascalCase.
            </summary>
            <param name="value">Text to convert</param>
            <param name="splitRegex">Regular Expression to split words on.</param>
            <returns>The string</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.ToWords(System.String)">
            <summary>
            Takes a NameIdentifier and spaces it out into words "Name Identifier".
            </summary>
            <param name="value">The value to convert.</param>
            <returns>The string</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.ToSpacedWords(System.String)">
            <summary>
            Takes a NameIdentifier and spaces it out into words "Name Identifier".
            </summary>
            <param name="value">The value to convert.</param>
            <returns>The string</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.RemoveWhiteSpace(System.String)">
            <summary>
            Removes all whitespace from a String.
            </summary>
            <param name="s">Initial String.</param>
            <returns>String with no whitespace.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.ToHtml(System.String)">
            <summary>
            Returns a copy of this string converted to HTML markup.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.ToHtml(System.String,System.String)">
            <summary>
            Returns a copy of this string converted to HTML markup.
            </summary>
            <param name="s"> </param>
            <param name="rel">If specified, links will have the rel attribute set to this value
            attribute</param>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.EncodeParagraph(System.String,System.Text.StringBuilder,System.String)">
            <summary>
            Encodes a single paragraph to HTML.
            </summary>
            <param name="s">Text to encode</param>
            <param name="sb">StringBuilder to write results</param>
            <param name="rel">If specified, links will have the rel attribute set to this value
            attribute</param>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.EncodeLinks(System.String,System.Text.StringBuilder,System.String)">
            <summary>
            Encodes [[URL]] and [[Text][URL]] links to HTML.
            </summary>
            <param name="s">Text to encode</param>
            <param name="sb">StringBuilder to write results</param>
            <param name="rel">If specified, links will have the rel attribute set to this value
            attribute</param>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.ToNonAutoLinkUrl(System.String)">
            <summary>
            Creates a string to be used in HTML that won't be automatically turned into a link.
            </summary>
            <param name="url"></param>
            <returns>A </returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.StripInvisible(System.String)">
            <summary>
            Strips NewLines and Tabs
            </summary>
            <param name="s">The string to strip.</param>
            <returns>Stripped String.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.Contains(System.String,System.String)">
            <summary>
            Returns true if s contains substring value.
            </summary>
            <param name="s">Initial value</param>
            <param name="value">Substring value</param>
            <returns>Boolean</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.Contains(System.String,System.String,System.StringComparison)">
            <summary>
            Returns true if s contains substring value.
            </summary>
            <param name="s">Initial value</param>
            <param name="value">Substring value</param>
            <param name="comparison">StringComparison options.</param>
            <returns>Boolean</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.ContainsMultiple(System.String,System.String)">
            <summary>
            Indicates whether a string contains x occurrences of a String. 
            </summary>
            <param name="s">The string to search.</param>
            <param name="value">The string to search for.</param>
            <returns>
                <c>true</c> if the string contains at least two occurrences of {value}; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.ContainsMultiple(System.String,System.String,System.Int32)">
            <summary>
            Indicates whether a string contains x occurrences of a String. 
            </summary>
            <param name="s">The string to search.</param>
            <param name="value">The string to search for.</param>
            <param name="count">The number of occurrences to search for.</param>
            <returns>
                <c>true</c> if the string contains at least {count} occurrences of {value}; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.ToASCII(System.String)">
            <summary>
            Convert UTF8 string to ASCII.
            </summary>
            <param name="s">The UTF8 String.</param>
            <returns>The ASCII String.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.IsMixedCase(System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Do any of the strings contain both uppercase and lowercase characters?
            </summary>
            <param name="values">String values.</param>
            <returns>True if any contain mixed cases.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.IsAllLowerCase(System.String)">
            <summary>
            Is the string all lower case characters?
            </summary>
            <param name="s">The value.</param>
            <returns>True if all lower case.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.IsAllUpperCase(System.String)">
            <summary>
            Is the string all upper case characters?
            </summary>
            <param name="s">The value.</param>
            <returns>True if all upper case.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.ContainsUpper(System.String)">
            <summary>
            Does string contain uppercase characters?
            </summary>
            <param name="s">The value.</param>
            <returns>True if contain upper case.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.ContainsLower(System.String)">
            <summary>
            Does string contain lowercase characters?
            </summary>
            <param name="s">The value.</param>
            <returns>True if contain lower case.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.IsMixedCase(System.String)">
            <summary>
            Does string contain both uppercase and lowercase characters?
            </summary>
            <param name="s">The value.</param>
            <returns>True if contain mixed case.</returns>
        </member>
        <member name="M:CodeSmith.Core.Extensions.StringExtensions.ParsePersonName(System.String)">
            <summary>
            Parses a person's full name from a single String.
            </summary>
            <param name="fullName">The person's full name.</param>
        </member>
        <member name="M:CodeSmith.Core.Extensions.UriExtensions.AddOrUpdateQueryParameter(System.Uri,System.String,System.String)">
            <summary>
            Sets the specified query parameter key-value pair of the URI.
            If the key already exists, the value is overwritten.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Extensions.UriExtensions.AddOrUpdateQueryParameter(System.UriBuilder,System.String,System.String)">
            <summary>
            Sets the specified query parameter key-value pair of the URI.
            If the key already exists, the value is overwritten.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Extensions.UriExtensions.RemoveQueryParameter(System.Uri,System.String)">
            <summary>
            Sets the specified query parameter key-value pair of the URI.
            If the key already exists, the value is overwritten.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Extensions.UriExtensions.RemoveQueryParameter(System.UriBuilder,System.String)">
            <summary>
            Sets the specified query parameter key-value pair of the URI.
            If the key already exists, the value is overwritten.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Extensions.UriExtensions.GetQueryParameters(System.UriBuilder)">
            <summary>
            Gets the query string key-value pairs of the URI.
            Note that the one of the keys may be null ("?123") and
            that one of the keys may be an empty string ("?=123").
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Extensions.UriExtensions.AsKeyValuePairs(System.Collections.Specialized.NameValueCollection)">
            <summary>
            Converts the legacy NameValueCollection into a strongly-typed KeyValuePair sequence.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Extensions.UriExtensions.ParseQuery(System.UriBuilder)">
            <summary>
            Parses the query string of the URI into a NameValueCollection.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Helpers.DebugHelper.Log(System.Object)">
            <summary>
            Writes the object to the Debug console, prefixed with an identifier for debugView filtering
            </summary>
            <param name="o">Object to write</param>
        </member>
        <member name="M:CodeSmith.Core.Helpers.DebugHelper.LogLine(System.Object)">
            <summary>
            Writes the object on a new line to the Debug console, prefixed with an identifier for debugView filtering.
            </summary>
            <param name="o">Object to write</param>
        </member>
        <member name="T:CodeSmith.Core.Helpers.DebugWriter">
            <summary>
            Implements a <see cref="T:System.IO.TextWriter"/> for writing information to the debugger log.
            </summary>
            <seealso cref="M:System.Diagnostics.Debugger.Log(System.Int32,System.String,System.String)"/>
        </member>
        <member name="M:CodeSmith.Core.Helpers.DebugWriter.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Helpers.DebugWriter"/> class.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Helpers.DebugWriter.#ctor(System.Int32,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Helpers.DebugWriter"/> class with the specified level and category.
            </summary>
            <param name="level">A description of the importance of the messages.</param>
            <param name="category">The category of the messages.</param>
        </member>
        <member name="M:CodeSmith.Core.Helpers.DebugWriter.#ctor(System.Int32,System.String,System.IFormatProvider)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Helpers.DebugWriter"/> class with the specified level, category and format provider.
            </summary>
            <param name="level">A description of the importance of the messages.</param>
            <param name="category">The category of the messages.</param>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> object that controls formatting.</param>
        </member>
        <member name="T:CodeSmith.Core.Helpers.FileHelper">
            <summary>
            A class with file helper methods
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Helpers.FileHelper.GetContentType(System.String)">
            <summary>
            Gets the content type based on file extension .
            </summary>
            <param name="fileExtension">The file extension.</param>
            <returns>The content type.</returns>
        </member>
        <member name="M:CodeSmith.Core.Helpers.ImageHelper.CaptureDesktop">
            <summary>
            Captures the Desktop in a screenshot.
            </summary>
            <returns>Screenshot of the Desktop.</returns>
        </member>
        <member name="M:CodeSmith.Core.Helpers.ImageHelper.CaptureForegroundWindow">
            <summary>
            Captures the Foreground window in a screenshot.
            </summary>
            <returns>Screenshot of the current Foreground window.</returns>
        </member>
        <member name="M:CodeSmith.Core.Helpers.ImageHelper.CaptureWindow(System.IntPtr)">
            <summary>
            Captures a screenshot of the window associated with the handle argument.
            </summary>
            <param name="handle">Used to determine which window to provide a screenshot for.</param>
            <returns>Screenshot of the window corresponding to the handle argument.</returns>
        </member>
        <member name="M:CodeSmith.Core.Helpers.ImageHelper.ToFile(System.Drawing.Image,System.Int64,System.Drawing.Imaging.ImageFormat,System.String)">
            <summary>
            Saves the encoded image to a file
            </summary>
            <param name="image">The image to save</param>
            <param name="quality">The quality desired (a value between 1 and 100).</param>
            <param name="format">The <see cref="T:System.Drawing.Imaging.ImageFormat"/> to save the image as.</param>
            <param name="fileName">The file path to save the image to.</param>
        </member>
        <member name="M:CodeSmith.Core.Helpers.ImageHelper.ToStream(System.Drawing.Image,System.Int64,System.Drawing.Imaging.ImageFormat)">
            <summary>
            Saves the encoded image to a stream.
            </summary>
            <param name="image">The image to save</param>
            <param name="quality">The quality desired (a value between 1 and 100).</param>
            <param name="format">The <see cref="T:System.Drawing.Imaging.ImageFormat"/> to save the image as.</param>
            <returns></returns>
        </member>
        <member name="M:CodeSmith.Core.IO.LockBase`1.#ctor(System.String)">
            <summary>
            Ensures that the derived classes always have a string parameter to pass in a path.
            </summary>
            <param name="path"></param>
        </member>
        <member name="M:CodeSmith.Core.IO.LockBase`1.AcquireLock">
            <summary>
            Acquires a lock while waiting with the default timeout value.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.IO.LockBase`1.AcquireLock(System.TimeSpan)">
            <summary>
            Acquires a lock in a specific amount of time.
            </summary>
            <param name="timeout">The time to wait for when trying to acquire a lock.</param>
        </member>
        <member name="M:CodeSmith.Core.IO.LockBase`1.Acquire(System.String)">
            <summary>
            Acquires a lock while waiting with the default timeout value.
            </summary>
            <param name="path">The path to acquire a lock on.</param>
            <returns>A lock instance.</returns>
        </member>
        <member name="M:CodeSmith.Core.IO.LockBase`1.Acquire(System.String,System.TimeSpan)">
            <summary>
            Acquires a lock in a specific amount of time.
            </summary>
            <param name="path">The path to acquire a lock on.</param>
            <param name="timeout">The time to wait for when trying to acquire a lock.</param>
            <returns>A lock instance.</returns>
        </member>
        <member name="M:CodeSmith.Core.IO.LockBase`1.CreateLock(System.String,System.TimeSpan)">
            <summary>
            Creates a lock file.
            </summary>
            <param name="path">The place to create the lock file.</param>
            <param name="timeout">The amount of time to wait before a TimeoutException is thrown.</param>
        </member>
        <member name="M:CodeSmith.Core.IO.LockBase`1.ReleaseLock">
            <summary>
            Releases the lock.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.IO.LockBase`1.RemoveLock(System.String)">
            <summary>
            Releases the lock.
            </summary>
            <param name="path">The path to the lock file.</param>
        </member>
        <member name="M:CodeSmith.Core.IO.LockBase`1.DisposeUnmanagedResources">
            <summary>
            Releases the lock.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.IO.LockBase`1.DefaultTimeOutInSeconds">
            <summary>
            The default time to wait when trying to acquire a lock.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.IO.DirectoryLock.LockFileName">
            <summary>
            The name of the lock file.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.IO.DirectoryLock.IsLocked(System.String)">
            <summary>
            Checks to see if the specific directory is locked.
            </summary>
            <param name="directory"></param>
            <returns>Returns true if the lock has expired or the lock exists.</returns>
        </member>
        <member name="P:CodeSmith.Core.IO.DirectoryLock.Directory">
            <summary>
            The directory that is being locked.
            </summary>
            <value>The directory.</value>
        </member>
        <member name="M:CodeSmith.Core.IO.LockFile.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.IO.LockFile"/> class.
            </summary>
            <param name="fileName">The file.</param>
        </member>
        <member name="M:CodeSmith.Core.IO.LockFile.IsLocked(System.String)">
            <summary>
            Checks to see if the specific path is locked.
            </summary>
            <param name="path"></param>
            <returns>Returns true if the lock has expired or the lock exists.</returns>
        </member>
        <member name="P:CodeSmith.Core.IO.LockFile.FileName">
            <summary>
            The file that is being locked.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.IO.PathHelper.GetUniqueName(System.String)">
            <summary>
            Creates a unique filename based on an existing filename
            </summary>
            <param name="fileSpec" type="string">A string containing the fully qualified path that will contain the new file</param>
            <returns>A string that contains the fully qualified path of the unique file name</returns>
        </member>
        <member name="M:CodeSmith.Core.IO.PathHelper.GetCleanPath(System.String)">
            <summary>
            Removes illegal characters from a file path
            </summary>
            <param name="path">The file path</param>
            <returns>
            A string that contains the cleaned file path
            </returns>
        </member>
        <member name="M:CodeSmith.Core.IO.PathHelper.GetCleanFileName(System.String,System.Int32)">
            <summary>
            Removes illegal characters from a file name
            </summary>
            <param name="fileName">The file name</param>
            <param name="maxLength">The maximum length for the returned file name</param>
            <returns>
            A string that contains the cleaned file name
            </returns>
        </member>
        <member name="M:CodeSmith.Core.IO.PathHelper.RelativePathTo(System.String,System.String)">
            <summary>
            Creates a relative path from one file or folder to another.
            </summary>
            <param name="fromDirectory">Contains the directory that defines the start of the relative path.</param>
            <param name="toPath">Contains the path that defines the endpoint of the relative path.</param>
            <returns>The relative path from the start directory to the end path.</returns>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="M:CodeSmith.Core.IO.PathHelper.ExpandPath(System.String)">
            <summary>
            Expand the filename of the data source, resolving the |DataDirectory| macro as appropriate.
            </summary>
            <param name="sourceFile">The database filename to expand</param>
            <returns>The expanded path and filename of the filename</returns>
        </member>
        <member name="M:CodeSmith.Core.IO.PathHelper.GetDataDirectory">
            <summary>
            Gets the data directory for the |DataDirectory| macro.
            </summary>
            <returns>The DataDirectory path.</returns>
        </member>
        <member name="M:CodeSmith.Core.IO.PathHelper.CreateDirectory(System.String)">
            <summary>
            Creates the directory if it does not exist.
            </summary>
            <param name="path">The directory path to create.</param>
        </member>
        <member name="M:CodeSmith.Core.IO.PathHelper.DeleteDirectory(System.String)">
            <summary>
            Deletes the directory, subdirectories, and files in path if it exists.
            </summary>
            <param name="path">The directory path to delete.</param>
        </member>
        <member name="M:CodeSmith.Core.IO.PathHelper.DeleteFiles(System.String,System.String)">
            <summary>
            Deletes the all files in a specific directory that matches a pattern.
            </summary>
            <param name="directory">The directory path to delete.</param>
            <param name="pattern">The file pattern that should be used when deleting files.</param>
        </member>
        <member name="T:CodeSmith.Core.IO.StringEncodedWriter">
            <summary>
            Implements a TextWriter with Encoding for writing information to a String. The information is stored in an underlying StringBuilder. 
            </summary>
        </member>
        <member name="M:CodeSmith.Core.IO.StringEncodedWriter.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.IO.StringEncodedWriter"/> class.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.IO.StringEncodedWriter.#ctor(System.IFormatProvider)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.IO.StringEncodedWriter"/> class.
            </summary>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> object that controls formatting.</param>
        </member>
        <member name="M:CodeSmith.Core.IO.StringEncodedWriter.#ctor(System.Text.StringBuilder)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.IO.StringEncodedWriter"/> class.
            </summary>
            <param name="sb">The StringBuilder to write to.</param>
        </member>
        <member name="M:CodeSmith.Core.IO.StringEncodedWriter.#ctor(System.Text.StringBuilder,System.IFormatProvider)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.IO.StringEncodedWriter"/> class.
            </summary>
            <param name="sb">The StringBuilder to write to.</param>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> object that controls formatting.</param>
            <exception cref="T:System.ArgumentNullException">
            	<paramref name="sb"/> is null.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.IO.StringEncodedWriter.#ctor(System.Text.Encoding)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.IO.StringEncodedWriter"/> class.
            </summary>
            <param name="encoding">The <see cref="T:System.Text.Encoding"/> in which the output is written.</param>
        </member>
        <member name="M:CodeSmith.Core.IO.StringEncodedWriter.#ctor(System.Text.Encoding,System.IFormatProvider)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.IO.StringEncodedWriter"/> class.
            </summary>
            <param name="encoding">The <see cref="T:System.Text.Encoding"/> in which the output is written.</param>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> object that controls formatting.</param>
        </member>
        <member name="M:CodeSmith.Core.IO.StringEncodedWriter.#ctor(System.Text.Encoding,System.Text.StringBuilder)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.IO.StringEncodedWriter"/> class.
            </summary>
            <param name="encoding">The <see cref="T:System.Text.Encoding"/> in which the output is written.</param>
            <param name="sb">The StringBuilder to write to.</param>
        </member>
        <member name="M:CodeSmith.Core.IO.StringEncodedWriter.#ctor(System.Text.Encoding,System.Text.StringBuilder,System.IFormatProvider)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.IO.StringEncodedWriter"/> class.
            </summary>
            <param name="encoding">The <see cref="T:System.Text.Encoding"/> in which the output is written.</param>
            <param name="sb">The StringBuilder to write to.</param>
            <param name="formatProvider">An <see cref="T:System.IFormatProvider"/> object that controls formatting.</param>
        </member>
        <member name="P:CodeSmith.Core.IO.StringEncodedWriter.Encoding">
            <summary>
            Gets the <see cref="T:System.Text.Encoding"/> in which the output is written.
            </summary>
            <value></value>
            <returns>
            The Encoding in which the output is written.
            </returns>
        </member>
        <member name="T:System.IO.AbstractStreamBase">
            <summary>Base stream class that implements all of Stream's abstract members.</summary>
        </member>
        <member name="M:System.IO.AbstractStreamBase.Flush">
            <summary>Flushes the contents of the stream to the underlying storage.</summary>
        </member>
        <member name="M:System.IO.AbstractStreamBase.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Reads a sequence of bytes from the current
            stream and advances the position within the stream by the number of bytes read.
            </summary>
            <param name="buffer">
            An array of bytes. When Read returns, the buffer contains the specified
            byte array with the values between offset and (offset + count - 1) replaced
            by the bytes read from the current source.
            </param>
            <param name="offset">
            The zero-based byte offset in buffer at which to begin storing the data read
            from the current stream.
            </param>
            <param name="count">The maximum number of bytes to be read from the current stream.</param>
            <returns>
            The total number of bytes read into the buffer. This can be less than the
            number of bytes requested if that many bytes are not currently available,
            or zero (0) if the end of the stream has been reached.
            </returns>
        </member>
        <member name="M:System.IO.AbstractStreamBase.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>Sets the position within the current stream.</summary>
            <param name="offset">A byte offset relative to the origin parameter.</param>
            <param name="origin">
            A value of type System.IO.SeekOrigin indicating the reference point used
            to obtain the new position.
            </param>
            <returns>The new position within the current stream.</returns>
        </member>
        <member name="M:System.IO.AbstractStreamBase.SetLength(System.Int64)">
            <summary>Sets the length of the current stream.</summary>
            <param name="value">The desired length of the current stream in bytes.</param>
        </member>
        <member name="M:System.IO.AbstractStreamBase.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>Writes a sequence of bytes to the stream.</summary>
            <param name="buffer">An array of bytes. Write copies count bytes from buffer to the stream.</param>
            <param name="offset">The zero-based byte offset in buffer at which to begin copying bytes to the stream.</param>
            <param name="count">The number of bytes to be written to the current stream.</param>
        </member>
        <member name="P:System.IO.AbstractStreamBase.CanRead">
            <summary>Determines whether data can be read from the stream.</summary>
        </member>
        <member name="P:System.IO.AbstractStreamBase.CanWrite">
            <summary>Determines whether data can be written to the stream.</summary>
        </member>
        <member name="P:System.IO.AbstractStreamBase.CanSeek">
            <summary>Determines whether the stream can be seeked.</summary>
        </member>
        <member name="P:System.IO.AbstractStreamBase.Length">
            <summary>Gets the length of the stream.</summary>
        </member>
        <member name="P:System.IO.AbstractStreamBase.Position">
            <summary>Gets or sets the current position of the stream.</summary>
        </member>
        <member name="T:System.Threading.ActionCountdownEvent">
            <summary>Runs an action when the CountdownEvent reaches zero.</summary>
        </member>
        <member name="M:System.Threading.ActionCountdownEvent.#ctor(System.Int32,System.Action)">
            <summary>Initializes the ActionCountdownEvent.</summary>
            <param name="initialCount">The number of signals required to set the CountdownEvent.</param>
            <param name="action">The delegate to be invoked when the count reaches zero.</param>
        </member>
        <member name="M:System.Threading.ActionCountdownEvent.AddCount">
            <summary>Increments the current count by one.</summary>
        </member>
        <member name="M:System.Threading.ActionCountdownEvent.Signal">
            <summary>Registers a signal with the event, decrementing its count.</summary>
        </member>
        <member name="M:System.Threading.ActionCountdownEvent.Dispose">
            <summary>Releases all resources used by the current instance.</summary>
        </member>
        <member name="M:System.Threading.ActionCountdownEvent.Dispose(System.Boolean)">
            <summary>Releases all resources used by the current instance.</summary>
            <param name="disposing">
            true if called because the object is being disposed; otherwise, false.
            </param>
        </member>
        <member name="T:System.Threading.Async.AsyncBarrier">
            <summary>Provides an asynchronous barrier.</summary>
        </member>
        <member name="F:System.Threading.Async.AsyncBarrier._participantCount">
            <summary>The number of participants in the barrier.</summary>
        </member>
        <member name="F:System.Threading.Async.AsyncBarrier._currentSignalTask">
            <summary>The task used to signal completion of the current round.</summary>
        </member>
        <member name="F:System.Threading.Async.AsyncBarrier._remainingParticipants">
            <summary>The number of participants remaining to arrive for this round.</summary>
        </member>
        <member name="M:System.Threading.Async.AsyncBarrier.#ctor(System.Int32)">
            <summary>Initializes the BarrierAsync with the specified number of participants.</summary>
            <param name="participantCount">The number of participants in the barrier.</param>
        </member>
        <member name="M:System.Threading.Async.AsyncBarrier.SignalAndWait">
            <summary>Signals that a participant has arrived.</summary>
            <returns>A Task that will be signaled when the current round completes.</returns>
        </member>
        <member name="P:System.Threading.Async.AsyncBarrier.ParticipantCount">
            <summary>Gets the participant count.</summary>
        </member>
        <member name="P:System.Threading.Async.AsyncBarrier.RemainingCount">
            <summary>Gets the number of participants still not yet arrived in this round.</summary>
        </member>
        <member name="T:System.Threading.AsyncCache_DebugView`2">
            <summary>Debugger type proxy for AsyncCache.</summary>
            <typeparam name="TKey">Specifies the type of the cache's keys.</typeparam>
            <typeparam name="TValue">Specifies the type of the cache's values.</typeparam>
        </member>
        <member name="T:System.Threading.AsyncCache`2">
            <summary>Caches asynchronously retrieved data.</summary>
            <typeparam name="TKey">Specifies the type of the cache's keys.</typeparam>
            <typeparam name="TValue">Specifies the type of the cache's values.</typeparam>
        </member>
        <member name="F:System.Threading.AsyncCache`2._valueFactory">
            <summary>The factory to use to create tasks.</summary>
        </member>
        <member name="F:System.Threading.AsyncCache`2._map">
            <summary>The dictionary to store all of the tasks.</summary>
        </member>
        <member name="M:System.Threading.AsyncCache`2.#ctor(System.Func{`0,System.Threading.Tasks.Task{`1}})">
            <summary>Initializes the cache.</summary>
            <param name="valueFactory">A factory for producing the cache's values.</param>
        </member>
        <member name="M:System.Threading.AsyncCache`2.GetValue(`0)">
            <summary>Gets a Task to retrieve the value for the specified key.</summary>
            <param name="key">The key whose value should be retrieved.</param>
            <returns>A Task for the value of the specified key.</returns>
        </member>
        <member name="M:System.Threading.AsyncCache`2.SetValue(`0,`1)">
            <summary>Sets the value for the specified key.</summary>
            <param name="key">The key whose value should be set.</param>
            <param name="value">The value to which the key should be set.</param>
        </member>
        <member name="M:System.Threading.AsyncCache`2.SetValue(`0,System.Threading.Tasks.Task{`1})">
            <summary>Sets the value for the specified key.</summary>
            <param name="key">The key whose value should be set.</param>
            <param name="value">The value to which the key should be set.</param>
        </member>
        <member name="M:System.Threading.AsyncCache`2.Clear">
            <summary>Empties the cache.</summary>
        </member>
        <member name="M:System.Threading.AsyncCache`2.GetEnumerator">
            <summary>Gets an enumerator for the contents of the cache.</summary>
            <returns>An enumerator for the contents of the cache.</returns>
        </member>
        <member name="M:System.Threading.AsyncCache`2.System#Collections#IEnumerable#GetEnumerator">
            <summary>Gets an enumerator for the contents of the cache.</summary>
            <returns>An enumerator for the contents of the cache.</returns>
        </member>
        <member name="M:System.Threading.AsyncCache`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@System#Threading#Tasks#Task{TValue}}}#Add(System.Collections.Generic.KeyValuePair{`0,System.Threading.Tasks.Task{`1}})">
            <summary>Adds or overwrites the specified entry in the cache.</summary>
            <param name="item">The item to be added.</param>
        </member>
        <member name="M:System.Threading.AsyncCache`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@System#Threading#Tasks#Task{TValue}}}#Contains(System.Collections.Generic.KeyValuePair{`0,System.Threading.Tasks.Task{`1}})">
            <summary>Determines whether the cache contains the specified key.</summary>
            <param name="item">The item contained the key to be searched for.</param>
            <returns>True if the cache contains the key; otherwise, false.</returns>
        </member>
        <member name="M:System.Threading.AsyncCache`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@System#Threading#Tasks#Task{TValue}}}#CopyTo(System.Collections.Generic.KeyValuePair{`0,System.Threading.Tasks.Task{`1}}[],System.Int32)">
            <summary>
            Copies the elements of the System.Collections.Generic.ICollection{T} to an
            System.Array, starting at a particular System.Array index.
            </summary>
            <param name="array">
            The one-dimensional System.Array that is the destination of the elements
            copied from System.Collections.Generic.ICollection{T}. The System.Array must
            have zero-based indexing.
            </param>
            <param name="arrayIndex">The zero-based index in array at which copying begins.</param>
        </member>
        <member name="M:System.Threading.AsyncCache`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@System#Threading#Tasks#Task{TValue}}}#Remove(System.Collections.Generic.KeyValuePair{`0,System.Threading.Tasks.Task{`1}})">
            <summary>Removes the specified key from the cache.</summary>
            <param name="item">The item containing the key to be removed.</param>
            <returns>True if the item could be removed; otherwise, false.</returns>
        </member>
        <member name="P:System.Threading.AsyncCache`2.Item(`0)">
            <summary>Gets a Task to retrieve the value for the specified key.</summary>
            <param name="key">The key whose value should be retrieved.</param>
            <returns>A Task for the value of the specified key.</returns>
        </member>
        <member name="P:System.Threading.AsyncCache`2.Count">
            <summary>Gets the number of items in the cache.</summary>
        </member>
        <member name="P:System.Threading.AsyncCache`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@System#Threading#Tasks#Task{TValue}}}#IsReadOnly">
            <summary>Gets whether the cache is read-only.</summary>
        </member>
        <member name="T:System.Threading.HtmlAsyncCache">
            <summary>An asynchronous cache for downloaded HTML.</summary>
        </member>
        <member name="M:System.Threading.HtmlAsyncCache.#ctor">
            <summary>Initializes the HtmlCache.</summary>
        </member>
        <member name="T:System.Threading.Tasks.AsyncCall`1">
            <summary>Asynchronously invokes a handler for every posted item.</summary>
            <typeparam name="T">Specifies the type of data processed by the instance.</typeparam>
        </member>
        <member name="F:System.Threading.Tasks.AsyncCall`1._queue">
            <summary>
            A queue that stores the posted data.  Also serves as the syncObj for protected instance state.
            A ConcurrentQueue is used to enable lock-free dequeues while running with a single consumer task.
            </summary>
        </member>
        <member name="F:System.Threading.Tasks.AsyncCall`1._handler">
            <summary>The delegate to invoke for every element.</summary>
        </member>
        <member name="F:System.Threading.Tasks.AsyncCall`1._maxItemsPerTask">
            <summary>The maximum number of items that should be processed by an individual task.</summary>
        </member>
        <member name="F:System.Threading.Tasks.AsyncCall`1._tf">
            <summary>The TaskFactory to use to launch new tasks.</summary>
        </member>
        <member name="F:System.Threading.Tasks.AsyncCall`1._parallelOptions">
            <summary>The options to use for parallel processing of data.</summary>
        </member>
        <member name="F:System.Threading.Tasks.AsyncCall`1._processingCount">
            <summary>Whether a processing task has been scheduled.</summary>
        </member>
        <member name="M:System.Threading.Tasks.AsyncCall`1.#ctor(System.Action{`0},System.Int32,System.Int32,System.Threading.Tasks.TaskScheduler)">
            <summary>Initializes the AsyncCall with an action to execute for each element.</summary>
            <param name="actionHandler">The action to run for every posted item.</param>
            <param name="maxDegreeOfParallelism">The maximum degree of parallelism to use.  If not specified, 1 is used for serial execution.</param>
            <param name="scheduler">The scheduler to use.  If null, the default scheduler is used.</param>
            <param name="maxItemsPerTask">The maximum number of items to be processed per task.  If not specified, Int32.MaxValue is used.</param>
        </member>
        <member name="M:System.Threading.Tasks.AsyncCall`1.#ctor(System.Func{`0,System.Threading.Tasks.Task},System.Int32,System.Threading.Tasks.TaskScheduler)">
            <summary>
            Initializes the AsyncCall with a function to execute for each element.  The function returns an Task 
            that represents the asynchronous completion of that element's processing.
            </summary>
            <param name="functionHandler">The function to run for every posted item.</param>
            <param name="maxDegreeOfParallelism">The maximum degree of parallelism to use.  If not specified, 1 is used for serial execution.</param>
            <param name="scheduler">The scheduler to use.  If null, the default scheduler is used.</param>
        </member>
        <member name="M:System.Threading.Tasks.AsyncCall`1.#ctor(System.Int32,System.Int32,System.Threading.Tasks.TaskScheduler)">
            <summary>General initialization of the AsyncCall.  Another constructor must initialize the delegate.</summary>
            <param name="maxDegreeOfParallelism">The maximum degree of parallelism to use.  If not specified, 1 is used for serial execution.</param>
            <param name="maxItemsPerTask">The maximum number of items to be processed per task.  If not specified, Int32.MaxValue is used.</param>
            <param name="scheduler">The scheduler to use.  If null, the default scheduler is used.</param>
        </member>
        <member name="M:System.Threading.Tasks.AsyncCall`1.Post(`0)">
            <summary>Post an item for processing.</summary>
            <param name="item">The item to be processed.</param>
        </member>
        <member name="M:System.Threading.Tasks.AsyncCall`1.GetItemsToProcess">
            <summary>Gets an enumerable that yields the items to be processed at this time.</summary>
            <returns>An enumerable of items.</returns>
        </member>
        <member name="M:System.Threading.Tasks.AsyncCall`1.ProcessItemsActionTaskBody">
            <summary>Used as the body of an action task to process items in the queue.</summary>
        </member>
        <member name="M:System.Threading.Tasks.AsyncCall`1.ProcessItemFunctionTaskBody(System.Object)">
            <summary>Used as the body of a function task to process items in the queue.</summary>
        </member>
        <member name="T:System.Threading.Tasks.AsyncCall">
            <summary>Provides static factory methods for creating AsyncCall(Of T) instances.</summary>
        </member>
        <member name="M:System.Threading.Tasks.AsyncCall.Create``1(System.Action{``0},System.Int32,System.Int32,System.Threading.Tasks.TaskScheduler)">
            <summary>Initializes the AsyncCall with an action to execute for each element.</summary>
            <param name="actionHandler">The action to run for every posted item.</param>
            <param name="maxDegreeOfParallelism">The maximum degree of parallelism to use.  If not specified, 1 is used for serial execution.</param>
            <param name="scheduler">The scheduler to use.  If null, the default scheduler is used.</param>
            <param name="maxItemsPerTask">The maximum number of items to be processed per task.  If not specified, Int32.MaxValue is used.</param>
        </member>
        <member name="M:System.Threading.Tasks.AsyncCall.Create``1(System.Func{``0,System.Threading.Tasks.Task},System.Int32,System.Threading.Tasks.TaskScheduler)">
            <summary>
            Initializes the AsyncCall with a function to execute for each element.  The function returns an Task 
            that represents the asynchronous completion of that element's processing.
            </summary>
            <param name="functionHandler">The function to run for every posted item.</param>
            <param name="maxDegreeOfParallelism">The maximum degree of parallelism to use.  If not specified, 1 is used for serial execution.</param>
            <param name="scheduler">The scheduler to use.  If null, the default scheduler is used.</param>
        </member>
        <member name="M:System.Threading.Tasks.AsyncCall.CreateInTargetAppDomain``1(System.AppDomain,System.Action{``0},System.Int32,System.Int32)">
            <summary>Initializes the AsyncCall in the specified AppDomain with an action to execute for each element.</summary>
            <param name="targetDomain"></param>
            <param name="actionHandler">The action to run for every posted item.</param>
            <param name="maxDegreeOfParallelism">The maximum degree of parallelism to use.  If not specified, 1 is used for serial execution.</param>
            <param name="maxItemsPerTask">The maximum number of items to be processed per task.  If not specified, Int32.MaxValue is used.</param>
        </member>
        <member name="M:System.Threading.Tasks.AsyncCall.CreateInTargetAppDomain``1(System.AppDomain,System.Func{``0,System.Threading.Tasks.Task},System.Int32)">
            <summary>
            Initializes the AsyncCall in the specified AppDomain with a function to execute for each element.  
            The function returns an Task that represents the asynchronous completion of that element's processing.
            </summary>
            <param name="targetDomain"></param>
            <param name="functionHandler">The action to run for every posted item.</param>
            <param name="maxDegreeOfParallelism">The maximum degree of parallelism to use.  If not specified, 1 is used for serial execution.</param>
        </member>
        <member name="T:System.Threading.Async.AsyncProducerConsumerCollection`1">
            <summary>Provides an asynchronous producer/consumer collection.</summary>
        </member>
        <member name="F:System.Threading.Async.AsyncProducerConsumerCollection`1._semaphore">
            <summary>Asynchronous semaphore used to keep track of asynchronous work.</summary>
        </member>
        <member name="F:System.Threading.Async.AsyncProducerConsumerCollection`1._collection">
            <summary>The data stored in the collection.</summary>
        </member>
        <member name="M:System.Threading.Async.AsyncProducerConsumerCollection`1.#ctor">
            <summary>Initializes the asynchronous producer/consumer collection to store data in a first-in-first-out (FIFO) order.</summary>
        </member>
        <member name="M:System.Threading.Async.AsyncProducerConsumerCollection`1.#ctor(System.Collections.Concurrent.IProducerConsumerCollection{`0})">
            <summary>Initializes the asynchronous producer/consumer collection.</summary>
            <param name="collection">The underlying collection to use to store data.</param>
        </member>
        <member name="M:System.Threading.Async.AsyncProducerConsumerCollection`1.Add(`0)">
            <summary>Adds an element to the collection.</summary>
            <param name="item">The item to be added.</param>
        </member>
        <member name="M:System.Threading.Async.AsyncProducerConsumerCollection`1.Take">
            <summary>Takes an element from the collection asynchronously.</summary>
            <returns>A Task that represents the element removed from the collection.</returns>
        </member>
        <member name="M:System.Threading.Async.AsyncProducerConsumerCollection`1.Dispose">
            <summary>Disposes of the collection.</summary>
        </member>
        <member name="P:System.Threading.Async.AsyncProducerConsumerCollection`1.Count">
            <summary>Gets the number of elements in the collection.</summary>
        </member>
        <member name="T:System.Threading.Async.AsyncReaderWriter">
            <summary>Provides for asynchronous exclusive and concurrent execution support.</summary>
        </member>
        <member name="F:System.Threading.Async.AsyncReaderWriter._lock">
            <summary>The lock that protects all shared state in this instance.</summary>
        </member>
        <member name="F:System.Threading.Async.AsyncReaderWriter._waitingConcurrent">
            <summary>The queue of concurrent readers waiting to execute.</summary>
        </member>
        <member name="F:System.Threading.Async.AsyncReaderWriter._waitingExclusive">
            <summary>The queue of exclusive writers waiting to execute.</summary>
        </member>
        <member name="F:System.Threading.Async.AsyncReaderWriter._currentConcurrent">
            <summary>The number of concurrent readers currently executing.</summary>
        </member>
        <member name="F:System.Threading.Async.AsyncReaderWriter._currentlyExclusive">
            <summary>The number of exclusive writers currently executing.</summary>
        </member>
        <member name="F:System.Threading.Async.AsyncReaderWriter._factory">
            <summary>The non-generic factory to use for task creation.</summary>
        </member>
        <member name="M:System.Threading.Async.AsyncReaderWriter.#ctor">
            <summary>Initializes the ReaderWriterAsync.</summary>
        </member>
        <member name="M:System.Threading.Async.AsyncReaderWriter.#ctor(System.Threading.Tasks.TaskFactory)">
            <summary>Initializes the ReaderWriterAsync with the specified TaskFactory for us in creating all tasks.</summary>
            <param name="factory">The TaskFactory to use to create all tasks.</param>
        </member>
        <member name="M:System.Threading.Async.AsyncReaderWriter.QueueExclusiveWriter(System.Action)">
            <summary>Queues an exclusive writer action to the ReaderWriterAsync.</summary>
            <param name="action">The action to be executed exclusively.</param>
            <returns>A Task that represents the execution of the provided action.</returns>
        </member>
        <member name="M:System.Threading.Async.AsyncReaderWriter.QueueExclusiveWriter``1(System.Func{``0})">
            <summary>Queues an exclusive writer function to the ReaderWriterAsync.</summary>
            <param name="function">The function to be executed exclusively.</param>
            <returns>A Task that represents the execution of the provided function.</returns>
        </member>
        <member name="M:System.Threading.Async.AsyncReaderWriter.QueueConcurrentReader(System.Action)">
            <summary>Queues a concurrent reader action to the ReaderWriterAsync.</summary>
            <param name="action">The action to be executed concurrently.</param>
            <returns>A Task that represents the execution of the provided action.</returns>
        </member>
        <member name="M:System.Threading.Async.AsyncReaderWriter.QueueConcurrentReader``1(System.Func{``0})">
            <summary>Queues a concurrent reader function to the ReaderWriterAsync.</summary>
            <param name="function">The function to be executed concurrently.</param>
            <returns>A Task that represents the execution of the provided function.</returns>
        </member>
        <member name="M:System.Threading.Async.AsyncReaderWriter.RunExclusive_RequiresLock(System.Threading.Tasks.Task)">
            <summary>Starts the specified exclusive task.</summary>
            <param name="exclusive">The exclusive task to be started.</param>
            <remarks>This must only be executed while holding the instance's lock.</remarks>
        </member>
        <member name="M:System.Threading.Async.AsyncReaderWriter.RunConcurrent_RequiresLock(System.Threading.Tasks.Task)">
            <summary>Starts the specified concurrent task.</summary>
            <param name="concurrent">The exclusive task to be started.</param>
            <remarks>This must only be executed while holding the instance's lock.</remarks>
        </member>
        <member name="M:System.Threading.Async.AsyncReaderWriter.RunConcurrent_RequiresLock">
            <summary>Starts all queued concurrent tasks.</summary>
            <remarks>This must only be executed while holding the instance's lock.</remarks>
        </member>
        <member name="M:System.Threading.Async.AsyncReaderWriter.FinishConcurrentReader">
            <summary>Completes the processing of a concurrent reader.</summary>
        </member>
        <member name="M:System.Threading.Async.AsyncReaderWriter.FinishExclusiveWriter">
            <summary>Completes the processing of an exclusive writer.</summary>
        </member>
        <member name="P:System.Threading.Async.AsyncReaderWriter.WaitingExclusive">
            <summary>Gets the number of exclusive operations currently queued.</summary>
        </member>
        <member name="P:System.Threading.Async.AsyncReaderWriter.WaitingConcurrent">
            <summary>Gets the number of concurrent operations currently queued.</summary>
        </member>
        <member name="P:System.Threading.Async.AsyncReaderWriter.CurrentConcurrent">
            <summary>Gets the number of concurrent operations currently executing.</summary>
        </member>
        <member name="P:System.Threading.Async.AsyncReaderWriter.CurrentlyExclusive">
            <summary>Gets whether an exclusive operation is currently executing.</summary>
        </member>
        <member name="T:System.Threading.Async.AsyncSemaphore">
            <summary>Provides an asynchronous semaphore.</summary>
        </member>
        <member name="F:System.Threading.Async.AsyncSemaphore._currentCount">
            <summary>The current count.</summary>
        </member>
        <member name="F:System.Threading.Async.AsyncSemaphore._maxCount">
            <summary>The maximum count. If _maxCount isn't positive, the instance has been disposed.</summary>
        </member>
        <member name="F:System.Threading.Async.AsyncSemaphore._waitingTasks">
            <summary>Tasks waiting to be completed when the semaphore has count available.</summary>
        </member>
        <member name="M:System.Threading.Async.AsyncSemaphore.#ctor">
            <summary>Initializes the SemaphoreAsync with a count of zero and a maximum count of Int32.MaxValue.</summary>
        </member>
        <member name="M:System.Threading.Async.AsyncSemaphore.#ctor(System.Int32)">
            <summary>Initializes the SemaphoreAsync with the specified count and a maximum count of Int32.MaxValue.</summary>
            <param name="initialCount">The initial count to use as the current count.</param>
        </member>
        <member name="M:System.Threading.Async.AsyncSemaphore.#ctor(System.Int32,System.Int32)">
            <summary>Initializes the SemaphoreAsync with the specified counts.</summary>
            <param name="initialCount">The initial count to use as the current count.</param>
            <param name="maxCount">The maximum count allowed.</param>
        </member>
        <member name="M:System.Threading.Async.AsyncSemaphore.WaitAsync">
            <summary>Waits for a unit to be available in the semaphore.</summary>
            <returns>A Task that will be completed when a unit is available and this Wait operation succeeds.</returns>
        </member>
        <member name="M:System.Threading.Async.AsyncSemaphore.Queue(System.Action)">
            <summary>
            Queues an action that will be executed when space is available
            in the semaphore.
            </summary>
            <param name="action">The action to be executed.</param>
            <returns>
            A Task that represents the execution of the action.
            </returns>
            <remarks>
            Release does not need to be called for this action, as it will be handled implicitly
            by the Queue method.
            </remarks>
        </member>
        <member name="M:System.Threading.Async.AsyncSemaphore.Queue``1(System.Func{``0})">
            <summary>
            Queues a function that will be executed when space is available
            in the semaphore.
            </summary>
            <param name="function">The function to be executed.</param>
            <returns>
            A Task that represents the execution of the function.
            </returns>
            <remarks>
            Release does not need to be called for this function, as it will be handled implicitly
            by the Queue method.
            </remarks>
        </member>
        <member name="M:System.Threading.Async.AsyncSemaphore.Release">
            <summary>Releases a unit of work to the semaphore.</summary>
        </member>
        <member name="M:System.Threading.Async.AsyncSemaphore.Dispose">
            <summary>Releases the resources used by the semaphore.</summary>
        </member>
        <member name="P:System.Threading.Async.AsyncSemaphore.CurrentCount">
            <summary>Gets the current count.</summary>
        </member>
        <member name="P:System.Threading.Async.AsyncSemaphore.MaximumCount">
            <summary>Gets the maximum count.</summary>
        </member>
        <member name="P:System.Threading.Async.AsyncSemaphore.WaitingCount">
            <summary>Gets the number of operations currently waiting on the semaphore.</summary>
        </member>
        <member name="T:System.Collections.Concurrent.ConcurrentPriorityQueue`2">
            <summary>Provides a thread-safe priority queue data structure.</summary>
            <typeparam name="TKey">Specifies the type of keys used to prioritize values.</typeparam>
            <typeparam name="TValue">Specifies the type of elements in the queue.</typeparam>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentPriorityQueue`2.#ctor">
            <summary>Initializes a new instance of the ConcurrentPriorityQueue class.</summary>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentPriorityQueue`2.#ctor(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">
            <summary>Initializes a new instance of the ConcurrentPriorityQueue class that contains elements copied from the specified collection.</summary>
            <param name="collection">The collection whose elements are copied to the new ConcurrentPriorityQueue.</param>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentPriorityQueue`2.Enqueue(`0,`1)">
            <summary>Adds the key/value pair to the priority queue.</summary>
            <param name="priority">The priority of the item to be added.</param>
            <param name="value">The item to be added.</param>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentPriorityQueue`2.Enqueue(System.Collections.Generic.KeyValuePair{`0,`1})">
            <summary>Adds the key/value pair to the priority queue.</summary>
            <param name="item">The key/value pair to be added to the queue.</param>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentPriorityQueue`2.TryDequeue(System.Collections.Generic.KeyValuePair{`0,`1}@)">
            <summary>Attempts to remove and return the next prioritized item in the queue.</summary>
            <param name="result">
            When this method returns, if the operation was successful, result contains the object removed. If
            no object was available to be removed, the value is unspecified.
            </param>
            <returns>
            true if an element was removed and returned from the queue succesfully; otherwise, false.
            </returns>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentPriorityQueue`2.TryPeek(System.Collections.Generic.KeyValuePair{`0,`1}@)">
            <summary>Attempts to return the next prioritized item in the queue.</summary>
            <param name="result">
            When this method returns, if the operation was successful, result contains the object.
            The queue was not modified by the operation.
            </param>
            <returns>
            true if an element was returned from the queue succesfully; otherwise, false.
            </returns>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentPriorityQueue`2.Clear">
            <summary>Empties the queue.</summary>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentPriorityQueue`2.CopyTo(System.Collections.Generic.KeyValuePair{`0,`1}[],System.Int32)">
            <summary>Copies the elements of the collection to an array, starting at a particular array index.</summary>
            <param name="array">
            The one-dimensional array that is the destination of the elements copied from the queue.
            </param>
            <param name="index">
            The zero-based index in array at which copying begins.
            </param>
            <remarks>The elements will not be copied to the array in any guaranteed order.</remarks>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentPriorityQueue`2.ToArray">
            <summary>Copies the elements stored in the queue to a new array.</summary>
            <returns>A new array containing a snapshot of elements copied from the queue.</returns>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentPriorityQueue`2.System#Collections#Concurrent#IProducerConsumerCollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#TryAdd(System.Collections.Generic.KeyValuePair{`0,`1})">
            <summary>Attempts to add an item in the queue.</summary>
            <param name="item">The key/value pair to be added.</param>
            <returns>
            true if the pair was added; otherwise, false.
            </returns>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentPriorityQueue`2.System#Collections#Concurrent#IProducerConsumerCollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#TryTake(System.Collections.Generic.KeyValuePair{`0,`1}@)">
            <summary>Attempts to remove and return the next prioritized item in the queue.</summary>
            <param name="item">
            When this method returns, if the operation was successful, result contains the object removed. If
            no object was available to be removed, the value is unspecified.
            </param>
            <returns>
            true if an element was removed and returned from the queue succesfully; otherwise, false.
            </returns>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentPriorityQueue`2.GetEnumerator">
            <summary>Returns an enumerator that iterates through the collection.</summary>
            <returns>An enumerator for the contents of the queue.</returns>
            <remarks>
            The enumeration represents a moment-in-time snapshot of the contents of the queue. It does not
            reflect any updates to the collection after GetEnumerator was called. The enumerator is safe to
            use concurrently with reads from and writes to the queue.
            </remarks>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentPriorityQueue`2.System#Collections#IEnumerable#GetEnumerator">
            <summary>Returns an enumerator that iterates through a collection.</summary>
            <returns>An IEnumerator that can be used to iterate through the collection.</returns>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentPriorityQueue`2.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
            <summary>Copies the elements of the collection to an array, starting at a particular array index.</summary>
            <param name="array">
            The one-dimensional array that is the destination of the elements copied from the queue.
            </param>
            <param name="index">
            The zero-based index in array at which copying begins.
            </param>
        </member>
        <member name="P:System.Collections.Concurrent.ConcurrentPriorityQueue`2.IsEmpty">
            <summary>Gets whether the queue is empty.</summary>
        </member>
        <member name="P:System.Collections.Concurrent.ConcurrentPriorityQueue`2.Count">
            <summary>Gets the number of elements contained in the queue.</summary>
        </member>
        <member name="P:System.Collections.Concurrent.ConcurrentPriorityQueue`2.System#Collections#ICollection#IsSynchronized">
            <summary>
            Gets a value indicating whether access to the ICollection is synchronized with the SyncRoot.
            </summary>
        </member>
        <member name="P:System.Collections.Concurrent.ConcurrentPriorityQueue`2.System#Collections#ICollection#SyncRoot">
            <summary>
            Gets an object that can be used to synchronize access to the collection.
            </summary>
        </member>
        <member name="T:System.Collections.Concurrent.ConcurrentPriorityQueue`2.MinBinaryHeap">
            <summary>Implements a binary heap that prioritizes smaller values.</summary>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentPriorityQueue`2.MinBinaryHeap.#ctor">
            <summary>Initializes an empty heap.</summary>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentPriorityQueue`2.MinBinaryHeap.#ctor(System.Collections.Concurrent.ConcurrentPriorityQueue{`0,`1}.MinBinaryHeap)">
            <summary>Initializes a heap as a copy of another heap instance.</summary>
            <param name="heapToCopy">The heap to copy.</param>
            <remarks>Key/Value values are not deep cloned.</remarks>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentPriorityQueue`2.MinBinaryHeap.Clear">
            <summary>Empties the heap.</summary>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentPriorityQueue`2.MinBinaryHeap.Insert(`0,`1)">
            <summary>Adds an item to the heap.</summary>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentPriorityQueue`2.MinBinaryHeap.Insert(System.Collections.Generic.KeyValuePair{`0,`1})">
            <summary>Adds an item to the heap.</summary>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentPriorityQueue`2.MinBinaryHeap.Peek">
            <summary>Returns the entry at the top of the heap.</summary>
        </member>
        <member name="M:System.Collections.Concurrent.ConcurrentPriorityQueue`2.MinBinaryHeap.Remove">
            <summary>Removes the entry at the top of the heap.</summary>
        </member>
        <member name="P:System.Collections.Concurrent.ConcurrentPriorityQueue`2.MinBinaryHeap.Count">
            <summary>Gets the number of objects stored in the heap.</summary>
        </member>
        <member name="T:System.Collections.Concurrent.ObjectPool`1">
            <summary>Provides a thread-safe object pool.</summary>
            <typeparam name="T">Specifies the type of the elements stored in the pool.</typeparam>
        </member>
        <member name="T:System.Collections.Concurrent.ProducerConsumerCollectionBase`1">
            <summary>
            Provides a base implementation for producer-consumer collections that wrap other
            producer-consumer collections.
            </summary>
            <typeparam name="T">Specifies the type of elements in the collection.</typeparam>
        </member>
        <member name="M:System.Collections.Concurrent.ProducerConsumerCollectionBase`1.#ctor(System.Collections.Concurrent.IProducerConsumerCollection{`0})">
            <summary>Initializes the ProducerConsumerCollectionBase instance.</summary>
            <param name="contained">The collection to be wrapped by this instance.</param>
        </member>
        <member name="M:System.Collections.Concurrent.ProducerConsumerCollectionBase`1.TryAdd(`0)">
            <summary>Attempts to add the specified value to the end of the deque.</summary>
            <param name="item">The item to add.</param>
            <returns>true if the item could be added; otherwise, false.</returns>
        </member>
        <member name="M:System.Collections.Concurrent.ProducerConsumerCollectionBase`1.TryTake(`0@)">
            <summary>Attempts to remove and return an item from the collection.</summary>
            <param name="item">
            When this method returns, if the operation was successful, item contains the item removed. If
            no item was available to be removed, the value is unspecified.
            </param>
            <returns>
            true if an element was removed and returned from the collection; otherwise, false.
            </returns>
        </member>
        <member name="M:System.Collections.Concurrent.ProducerConsumerCollectionBase`1.System#Collections#Concurrent#IProducerConsumerCollection{T}#TryAdd(`0)">
            <summary>Attempts to add the specified value to the end of the deque.</summary>
            <param name="item">The item to add.</param>
            <returns>true if the item could be added; otherwise, false.</returns>
        </member>
        <member name="M:System.Collections.Concurrent.ProducerConsumerCollectionBase`1.System#Collections#Concurrent#IProducerConsumerCollection{T}#TryTake(`0@)">
            <summary>Attempts to remove and return an item from the collection.</summary>
            <param name="item">
            When this method returns, if the operation was successful, item contains the item removed. If
            no item was available to be removed, the value is unspecified.
            </param>
            <returns>
            true if an element was removed and returned from the collection; otherwise, false.
            </returns>
        </member>
        <member name="M:System.Collections.Concurrent.ProducerConsumerCollectionBase`1.ToArray">
            <summary>Creates an array containing the contents of the collection.</summary>
            <returns>The array.</returns>
        </member>
        <member name="M:System.Collections.Concurrent.ProducerConsumerCollectionBase`1.CopyTo(`0[],System.Int32)">
            <summary>Copies the contents of the collection to an array.</summary>
            <param name="array">The array to which the data should be copied.</param>
            <param name="index">The starting index at which data should be copied.</param>
        </member>
        <member name="M:System.Collections.Concurrent.ProducerConsumerCollectionBase`1.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
            <summary>Copies the contents of the collection to an array.</summary>
            <param name="array">The array to which the data should be copied.</param>
            <param name="index">The starting index at which data should be copied.</param>
        </member>
        <member name="M:System.Collections.Concurrent.ProducerConsumerCollectionBase`1.GetEnumerator">
            <summary>Gets an enumerator for the collection.</summary>
            <returns>An enumerator.</returns>
        </member>
        <member name="M:System.Collections.Concurrent.ProducerConsumerCollectionBase`1.System#Collections#IEnumerable#GetEnumerator">
            <summary>Gets an enumerator for the collection.</summary>
            <returns>An enumerator.</returns>
        </member>
        <member name="P:System.Collections.Concurrent.ProducerConsumerCollectionBase`1.ContainedCollection">
            <summary>Gets the contained collection.</summary>
        </member>
        <member name="P:System.Collections.Concurrent.ProducerConsumerCollectionBase`1.Count">
            <summary>Gets the number of elements contained in the collection.</summary>
        </member>
        <member name="P:System.Collections.Concurrent.ProducerConsumerCollectionBase`1.System#Collections#ICollection#IsSynchronized">
            <summary>Gets whether the collection is synchronized.</summary>
        </member>
        <member name="P:System.Collections.Concurrent.ProducerConsumerCollectionBase`1.System#Collections#ICollection#SyncRoot">
            <summary>Gets the synchronization root object for the collection.</summary>
        </member>
        <member name="M:System.Collections.Concurrent.ObjectPool`1.#ctor(System.Func{`0})">
            <summary>Initializes an instance of the ObjectPool class.</summary>
            <param name="generator">The function used to create items when no items exist in the pool.</param>
        </member>
        <member name="M:System.Collections.Concurrent.ObjectPool`1.#ctor(System.Func{`0},System.Collections.Concurrent.IProducerConsumerCollection{`0})">
            <summary>Initializes an instance of the ObjectPool class.</summary>
            <param name="generator">The function used to create items when no items exist in the pool.</param>
            <param name="collection">The collection used to store the elements of the pool.</param>
        </member>
        <member name="M:System.Collections.Concurrent.ObjectPool`1.PutObject(`0)">
            <summary>Adds the provided item into the pool.</summary>
            <param name="item">The item to be added.</param>
        </member>
        <member name="M:System.Collections.Concurrent.ObjectPool`1.GetObject">
            <summary>Gets an item from the pool.</summary>
            <returns>The removed or created item.</returns>
            <remarks>If the pool is empty, a new item will be created and returned.</remarks>
        </member>
        <member name="M:System.Collections.Concurrent.ObjectPool`1.ToArrayAndClear">
            <summary>Clears the object pool, returning all of the data that was in the pool.</summary>
            <returns>An array containing all of the elements in the pool.</returns>
        </member>
        <member name="T:System.Collections.Concurrent.ObservableConcurrentCollection`1">
            <summary>
            Provides a thread-safe, concurrent collection for use with data binding.
            </summary>
            <typeparam name="T">Specifies the type of the elements in this collection.</typeparam>
        </member>
        <member name="M:System.Collections.Concurrent.ObservableConcurrentCollection`1.#ctor">
            <summary>
            Initializes an instance of the ObservableConcurrentCollection class with an underlying
            queue data structure.
            </summary>
        </member>
        <member name="M:System.Collections.Concurrent.ObservableConcurrentCollection`1.#ctor(System.Collections.Concurrent.IProducerConsumerCollection{`0})">
            <summary>
            Initializes an instance of the ObservableConcurrentCollection class with the specified
            collection as the underlying data structure.
            </summary>
        </member>
        <member name="M:System.Collections.Concurrent.ObservableConcurrentCollection`1.NotifyObserversOfChange">
            <summary>
            Notifies observers of CollectionChanged or PropertyChanged of an update to the dictionary.
            </summary>
        </member>
        <member name="E:System.Collections.Concurrent.ObservableConcurrentCollection`1.CollectionChanged">
            <summary>Event raised when the collection changes.</summary>
        </member>
        <member name="E:System.Collections.Concurrent.ObservableConcurrentCollection`1.PropertyChanged">
            <summary>Event raised when a property on the collection changes.</summary>
        </member>
        <member name="T:System.Collections.Concurrent.ObservableConcurrentDictionary`2">
            <summary>
            Provides a thread-safe dictionary for use with data binding.
            </summary>
            <typeparam name="TKey">Specifies the type of the keys in this collection.</typeparam>
            <typeparam name="TValue">Specifies the type of the values in this collection.</typeparam>
        </member>
        <member name="M:System.Collections.Concurrent.ObservableConcurrentDictionary`2.#ctor">
            <summary>
            Initializes an instance of the ObservableConcurrentDictionary class.
            </summary>
        </member>
        <member name="M:System.Collections.Concurrent.ObservableConcurrentDictionary`2.#ctor(System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Initializes an instance of the ObservableConcurrentDictionary class.
            </summary>
        </member>
        <member name="M:System.Collections.Concurrent.ObservableConcurrentDictionary`2.NotifyObserversOfChange">
            <summary>
            Notifies observers of CollectionChanged or PropertyChanged of an update to the dictionary.
            </summary>
        </member>
        <member name="M:System.Collections.Concurrent.ObservableConcurrentDictionary`2.TryAddWithNotification(System.Collections.Generic.KeyValuePair{`0,`1})">
            <summary>Attempts to add an item to the dictionary, notifying observers of any changes.</summary>
            <param name="item">The item to be added.</param>
            <returns>Whether the add was successful.</returns>
        </member>
        <member name="M:System.Collections.Concurrent.ObservableConcurrentDictionary`2.TryAddWithNotification(`0,`1)">
            <summary>Attempts to add an item to the dictionary, notifying observers of any changes.</summary>
            <param name="key">The key of the item to be added.</param>
            <param name="value">The value of the item to be added.</param>
            <returns>Whether the add was successful.</returns>
        </member>
        <member name="M:System.Collections.Concurrent.ObservableConcurrentDictionary`2.TryRemoveWithNotification(`0,`1@)">
            <summary>Attempts to remove an item from the dictionary, notifying observers of any changes.</summary>
            <param name="key">The key of the item to be removed.</param>
            <param name="value">The value of the item removed.</param>
            <returns>Whether the removal was successful.</returns>
        </member>
        <member name="M:System.Collections.Concurrent.ObservableConcurrentDictionary`2.UpdateWithNotification(`0,`1)">
            <summary>Attempts to add or update an item in the dictionary, notifying observers of any changes.</summary>
            <param name="key">The key of the item to be updated.</param>
            <param name="value">The new value to set for the item.</param>
            <returns>Whether the update was successful.</returns>
        </member>
        <member name="E:System.Collections.Concurrent.ObservableConcurrentDictionary`2.CollectionChanged">
            <summary>Event raised when the collection changes.</summary>
        </member>
        <member name="E:System.Collections.Concurrent.ObservableConcurrentDictionary`2.PropertyChanged">
            <summary>Event raised when a property on the collection changes.</summary>
        </member>
        <member name="T:System.Threading.Pipeline">
            <summary>Provides support for pipelined data processing.</summary>
        </member>
        <member name="M:System.Threading.Pipeline.Create``2(System.Func{``0,``1})">
            <summary>Creates a new pipeline, with the specified function as the sole stage.</summary>
            <typeparam name="TInput">Specifies the type of the input data to the pipeline.</typeparam>
            <typeparam name="TOutput">Specifies the type of the output data from this stage of the pipeline.</typeparam>
            <param name="func">The function used to process input data into output data.</param>
            <returns>A pipeline for converting from input data to output data.</returns>
        </member>
        <member name="M:System.Threading.Pipeline.Create``2(System.Func{``0,``1},System.Int32)">
            <summary>Creates a new pipeline, with the specified function as the sole stage.</summary>
            <typeparam name="TInput">Specifies the type of the input data to the pipeline.</typeparam>
            <typeparam name="TOutput">Specifies the type of the output data from this stage of the pipeline.</typeparam>
            <param name="func">The function used to process input data into output data.</param>
            <param name="degreeOfParallelism">The concurrency level for this stage of the pipeline.</param>
            <returns>A pipeline for converting from input data to output data.</returns>
        </member>
        <member name="T:System.Threading.Pipeline`2">
            <summary>Provides support for pipelined data processing.</summary>
            <typeparam name="TInput">Specifies the type of the input data to the pipeline.</typeparam>
            <typeparam name="TOutput">Specifies the type of the output data from this stage of the pipeline.</typeparam>
        </member>
        <member name="M:System.Threading.Pipeline`2.Next``1(System.Func{`1,``0})">
            <summary>Creates a new pipeline that combines the current pipeline with a new stage.</summary>
            <typeparam name="TNextOutput">Specifies the new output type of the pipeline.</typeparam>
            <param name="func">
            The function used to convert the output of the current pipeline into the new
            output of the new pipeline.
            </param>
            <returns>A new pipeline that combines the current pipeline with the new stage.</returns>
            <remarks>This overload creates a parallel pipeline stage.</remarks>
        </member>
        <member name="M:System.Threading.Pipeline`2.Next``1(System.Func{`1,``0},System.Int32)">
            <summary>Creates a new pipeline that combines the current pipeline with a new stage.</summary>
            <typeparam name="TNextOutput">Specifies the new output type of the pipeline.</typeparam>
            <param name="func">
            The function used to convert the output of the current pipeline into the new
            output of the new pipeline.
            </param>
            <param name="degreeOfParallelism">The concurrency level for this stage of the pipeline.</param>
            <returns>A new pipeline that combines the current pipeline with the new stage.</returns>
        </member>
        <member name="M:System.Threading.Pipeline`2.Process(System.Collections.Generic.IEnumerable{`0})">
            <summary>Runs the pipeline and returns an enumerable over the results.</summary>
            <param name="source">The source data to be processed by the pipeline.</param>
            <returns>An enumerable of the results of the pipeline.</returns>
        </member>
        <member name="M:System.Threading.Pipeline`2.Process(System.Collections.Generic.IEnumerable{`0},System.Threading.CancellationToken)">
            <summary>Runs the pipeline and returns an enumerable over the results.</summary>
            <param name="source">The source data to be processed by the pipeline.</param>
            <param name="cancellationToken">The cancellation token used to signal cancellation of the pipelining.</param>
            <returns>An enumerable of the results of the pipeline.</returns>
        </member>
        <member name="M:System.Threading.Pipeline`2.ProcessNoArgValidation(System.Collections.Generic.IEnumerable{`0},System.Threading.CancellationToken)">
            <summary>Runs the pipeline and returns an enumerable over the results.</summary>
            <param name="source">The source data to be processed by the pipeline.</param>
            <param name="cancellationToken">The cancellation token used to signal cancellation of the pipelining.</param>
            <returns>An enumerable of the results of the pipeline.</returns>
        </member>
        <member name="M:System.Threading.Pipeline`2.ProcessCore(System.Collections.Generic.IEnumerable{`0},System.Threading.CancellationToken,System.Collections.Concurrent.BlockingCollection{`1})">
            <summary>Implements the core processing for a pipeline stage.</summary>
            <param name="source">The source data to be processed by the pipeline.</param>
            <param name="cancellationToken">The cancellation token used to signal cancellation of the pipelining.</param>
            <param name="output">The collection into which to put the output.</param>
        </member>
        <member name="T:System.Threading.Pipeline`2.InternalPipeline`1">
            <summary>Helper used to add a new stage to a pipeline.</summary>
            <typeparam name="TNextOutput">Specifies the type of the output for the new pipeline.</typeparam>
        </member>
        <member name="M:System.Threading.Pipeline`2.InternalPipeline`1.ProcessCore(System.Collections.Generic.IEnumerable{`0},System.Threading.CancellationToken,System.Collections.Concurrent.BlockingCollection{`2})">
            <summary>Implements the core processing for a pipeline stage.</summary>
            <param name="source">The source data to be processed by the pipeline.</param>
            <param name="cancellationToken">The cancellation token used to signal cancellation of the pipelining.</param>
            <param name="output">The collection into which to put the output.</param>
        </member>
        <member name="T:System.Collections.Concurrent.IProducerConsumerCollection_DebugView`1">
            <summary>Debug view for the IProducerConsumerCollection.</summary>
            <typeparam name="T">Specifies the type of the data being aggregated.</typeparam>
        </member>
        <member name="T:System.Threading.ReductionVariable`1">
            <summary>Provides a reduction variable for aggregating data across multiple threads involved in a computation.</summary>
            <typeparam name="T">Specifies the type of the data being aggregated.</typeparam>
        </member>
        <member name="F:System.Threading.ReductionVariable`1._seedFactory">
            <summary>The factory used to initialize a value on a thread.</summary>
        </member>
        <member name="F:System.Threading.ReductionVariable`1._threadLocal">
            <summary>Thread-local storage for each thread's value.</summary>
        </member>
        <member name="F:System.Threading.ReductionVariable`1._values">
            <summary>The list of all thread-local values for later enumeration.</summary>
        </member>
        <member name="M:System.Threading.ReductionVariable`1.#ctor">
            <summary>Initializes the instances.</summary>
        </member>
        <member name="M:System.Threading.ReductionVariable`1.#ctor(System.Func{`0})">
            <summary>Initializes the instances.</summary>
            <param name="seedFactory">
            The function invoked to provide the initial value for a thread.  
            If null, the default value of T will be used as the seed.
            </param>
        </member>
        <member name="M:System.Threading.ReductionVariable`1.CreateValue">
            <summary>Creates a value for the current thread and stores it in the central list of values.</summary>
            <returns>The boxed value.</returns>
        </member>
        <member name="M:System.Threading.ReductionVariable`1.Reduce(System.Func{`0,`0,`0})">
            <summary>Applies an accumulator function over the values in this variable.</summary>
            <param name="function">An accumulator function to be invoked on each value.</param>
            <returns>The accumulated value.</returns>
        </member>
        <member name="M:System.Threading.ReductionVariable`1.Reduce``1(``0,System.Func{``0,`0,``0})">
            <summary>
            Applies an accumulator function over the values in this variable.
            The specified seed is used as the initial accumulator value.
            </summary>
            <param name="seed"></param>
            <param name="function">An accumulator function to be invoked on each value.</param>
            <returns>The accumulated value.</returns>
        </member>
        <member name="P:System.Threading.ReductionVariable`1.Value">
            <summary>Gets or sets the value for the current thread.</summary>
        </member>
        <member name="P:System.Threading.ReductionVariable`1.Values">
            <summary>Gets the values for all of the threads that have used this instance.</summary>
        </member>
        <member name="T:System.Threading.ReductionVariable_DebugView`1">
            <summary>Debug view for the reductino variable</summary>
            <typeparam name="T">Specifies the type of the data being aggregated.</typeparam>
        </member>
        <member name="T:System.Threading.Tasks.SerialTaskQueue">
            <summary>Represents a queue of tasks to be started and executed serially.</summary>
        </member>
        <member name="F:System.Threading.Tasks.SerialTaskQueue._tasks">
            <summary>The ordered queue of tasks to be executed. Also serves as a lock protecting all shared state.</summary>
        </member>
        <member name="F:System.Threading.Tasks.SerialTaskQueue._taskInFlight">
            <summary>The task currently executing, or null if there is none.</summary>
        </member>
        <member name="M:System.Threading.Tasks.SerialTaskQueue.Enqueue(System.Func{System.Threading.Tasks.Task})">
            <summary>Enqueues the task to be processed serially and in order.</summary>
            <param name="taskGenerator">The function that generates a non-started task.</param>
        </member>
        <member name="M:System.Threading.Tasks.SerialTaskQueue.Enqueue(System.Threading.Tasks.Task)">
            <summary>Enqueues the non-started task to be processed serially and in order.</summary>
            <param name="task">The task.</param>
        </member>
        <member name="M:System.Threading.Tasks.SerialTaskQueue.Completed">
            <summary>Gets a Task that represents the completion of all previously queued tasks.</summary>
        </member>
        <member name="M:System.Threading.Tasks.SerialTaskQueue.EnqueueInternal(System.Object)">
            <summary>Enqueues the task to be processed serially and in order.</summary>
            <param name="taskOrFunction">The task or functino that generates a task.</param>
            <remarks>The task must not be started and must only be started by this instance.</remarks>
        </member>
        <member name="M:System.Threading.Tasks.SerialTaskQueue.OnTaskCompletion(System.Threading.Tasks.Task)">
            <summary>Called when a Task completes to potentially start the next in the queue.</summary>
            <param name="ignored">The task that completed.</param>
        </member>
        <member name="M:System.Threading.Tasks.SerialTaskQueue.StartTask_CallUnderLock(System.Object)">
            <summary>Starts the provided task (or function that returns a task).</summary>
            <param name="nextItem">The next task or function that returns a task.</param>
        </member>
        <member name="T:System.Threading.SpinLockClass">
            <summary>Provides a simple, reference type wrapper for SpinLock.</summary>
        </member>
        <member name="M:System.Threading.SpinLockClass.#ctor">
            <summary>Initializes an instance of the SpinLockClass class.</summary>
        </member>
        <member name="M:System.Threading.SpinLockClass.#ctor(System.Boolean)">
            <summary>Initializes an instance of the SpinLockClass class.</summary>
            <param name="enableThreadOwnerTracking">
            Controls whether the SpinLockClass should track
            thread-ownership fo the lock.
            </param>
        </member>
        <member name="M:System.Threading.SpinLockClass.Execute(System.Action)">
            <summary>Runs the specified delegate under the lock.</summary>
            <param name="runUnderLock">The delegate to be executed while holding the lock.</param>
        </member>
        <member name="M:System.Threading.SpinLockClass.Enter(System.Boolean@)">
            <summary>Enters the lock.</summary>
            <param name="lockTaken">
            Upon exit of the Enter method, specifies whether the lock was acquired. 
            The variable passed by reference must be initialized to false.
            </param>
        </member>
        <member name="M:System.Threading.SpinLockClass.Exit">
            <summary>Exits the SpinLock.</summary>
        </member>
        <member name="M:System.Threading.SpinLockClass.Exit(System.Boolean)">
            <summary>Exits the SpinLock.</summary>
            <param name="useMemoryBarrier">
            A Boolean value that indicates whether a memory fence should be issued in
            order to immediately publish the exit operation to other threads.
            </param>
        </member>
        <member name="T:System.Threading.ThreadSafeRandom">
            <summary>
            Represents a thread-safe, pseudo-random number generator.
            </summary>
        </member>
        <member name="F:System.Threading.ThreadSafeRandom._global">
            <summary>Seed provider.</summary>
        </member>
        <member name="F:System.Threading.ThreadSafeRandom._local">
            <summary>The underlyin provider of randomness, one instance per thread, initialized with _global.</summary>
        </member>
        <member name="M:System.Threading.ThreadSafeRandom.Next">
            <summary>Returns a nonnegative random number.</summary>
            <returns>A 32-bit signed integer greater than or equal to zero and less than MaxValue.</returns>
        </member>
        <member name="M:System.Threading.ThreadSafeRandom.Next(System.Int32)">
            <summary>Returns a nonnegative random number less than the specified maximum.</summary>
            <param name="maxValue">
            The exclusive upper bound of the random number to be generated. maxValue must be greater than or equal to zero. 
            </param>
            <returns>
            A 32-bit signed integer greater than or equal to zero, and less than maxValue; 
            that is, the range of return values ordinarily includes zero but not maxValue. However, 
            if maxValue equals zero, maxValue is returned.
            </returns>
        </member>
        <member name="M:System.Threading.ThreadSafeRandom.Next(System.Int32,System.Int32)">
            <summary>Returns a random number within a specified range.</summary>
            <param name="minValue">The inclusive lower bound of the random number returned.</param>
            <param name="maxValue">The exclusive upper bound of the random number returned. maxValue must be greater than or equal to minValue.</param>
            <returns>
            A 32-bit signed integer greater than or equal to minValue and less than maxValue; 
            that is, the range of return values includes minValue but not maxValue. 
            If minValue equals maxValue, minValue is returned.
            </returns>
        </member>
        <member name="M:System.Threading.ThreadSafeRandom.NextDouble">
            <summary>Returns a random number between 0.0 and 1.0.</summary>
            <returns>A double-precision floating point number greater than or equal to 0.0, and less than 1.0.</returns>
        </member>
        <member name="M:System.Threading.ThreadSafeRandom.NextBytes(System.Byte[])">
            <summary>Fills the elements of a specified array of bytes with random numbers.</summary>
            <param name="buffer">An array of bytes to contain random numbers.</param>
        </member>
        <member name="T:System.Threading.TransferStream">
            <summary>Writeable stream for using a separate thread in a producer/consumer scenario.</summary>
        </member>
        <member name="F:System.Threading.TransferStream._writeableStream">
            <summary>The underlying stream to target.</summary>
        </member>
        <member name="F:System.Threading.TransferStream._chunks">
            <summary>The collection of chunks to be written.</summary>
        </member>
        <member name="F:System.Threading.TransferStream._processingTask">
            <summary>The Task to use for background writing.</summary>
        </member>
        <member name="M:System.Threading.TransferStream.#ctor(System.IO.Stream)">
            <summary>Initializes a new instance of the TransferStream.</summary>
            <param name="writeableStream">The underlying stream to which to write.</param>
        </member>
        <member name="M:System.Threading.TransferStream.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>Writes a sequence of bytes to the stream.</summary>
            <param name="buffer">An array of bytes. Write copies count bytes from buffer to the stream.</param>
            <param name="offset">The zero-based byte offset in buffer at which to begin copying bytes to the stream.</param>
            <param name="count">The number of bytes to be written to the current stream.</param>
        </member>
        <member name="M:System.Threading.TransferStream.Close">
            <summary>Closes the stream and releases all resources associated with it.</summary>
        </member>
        <member name="P:System.Threading.TransferStream.CanWrite">
            <summary>Determines whether data can be written to the stream.</summary>
        </member>
        <member name="T:System.AggregateExceptionExtensions">
            <summary>Extension methods for AggregateException.</summary>
        </member>
        <member name="M:System.AggregateExceptionExtensions.Handle(System.AggregateException,System.Func{System.Exception,System.Boolean},System.Boolean)">
            <summary>Invokes a handler on each Exception contained by this AggregateException.</summary>
            <param name="aggregateException">The AggregateException.</param>
            <param name="predicate">
            The predicate to execute for each exception. The predicate accepts as an argument the Exception
            to be processed and returns a Boolean to indicate whether the exception was handled.
            </param>
            <param name="leaveStructureIntact">
            Whether the rethrown AggregateException should maintain the same hierarchy as the original.
            </param>
        </member>
        <member name="T:System.IO.FileAsync">
            <summary>Provides asynchronous counterparts to members of the File class.</summary>
        </member>
        <member name="M:System.IO.FileAsync.OpenRead(System.String)">
            <summary>Opens an existing file for asynchronous reading.</summary>
            <param name="path">The path to the file to be opened for reading.</param>
            <returns>A read-only FileStream on the specified path.</returns>
        </member>
        <member name="M:System.IO.FileAsync.OpenWrite(System.String)">
            <summary>Opens an existing file for asynchronous writing.</summary>
            <param name="path">The path to the file to be opened for writing.</param>
            <returns>An unshared FileStream on the specified path with access for writing.</returns>
        </member>
        <member name="M:System.IO.FileAsync.ReadAllBytes(System.String)">
            <summary>
            Opens a binary file for asynchronosu operation, reads the contents of the file into a byte array, and then closes the file.
            </summary>
            <param name="path">The path to the file to be read.</param>
            <returns>A task that will contain the contents of the file.</returns>
        </member>
        <member name="M:System.IO.FileAsync.WriteAllBytes(System.String,System.Byte[])">
            <summary>
            Opens a binary file for asynchronous operation, writes the contents of the byte array into the file, and then closes the file.
            </summary>
            <param name="path">The path to the file to be written.</param>
            <param name="bytes"></param>
            <returns>A task that will signal the completion of the operation.</returns>
        </member>
        <member name="M:System.IO.FileAsync.ReadAllText(System.String)">
            <summary>
            Opens a text file for asynchronosu operation, reads the contents of the file into a string, and then closes the file.
            </summary>
            <param name="path">The path to the file to be read.</param>
            <returns>A task that will contain the contents of the file.</returns>
        </member>
        <member name="M:System.IO.FileAsync.WriteAllText(System.String,System.String)">
            <summary>
            Opens a text file for asynchronous operation, writes a string into the file, and then closes the file.
            </summary>
            <param name="path">The path to the file to be written.</param>
            <param name="contents"></param>
            <returns>A task that will signal the completion of the operation.</returns>
        </member>
        <member name="T:System.IO.StreamExtensions">
            <summary>Extension methods for asynchronously working with streams.</summary>
        </member>
        <member name="M:System.IO.StreamExtensions.ReadAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32)">
            <summary>Read from a stream asynchronously.</summary>
            <param name="stream">The stream.</param>
            <param name="buffer">An array of bytes to be filled by the read operation.</param>
            <param name="offset">The offset at which data should be stored.</param>
            <param name="count">The number of bytes to be read.</param>
            <returns>A Task containing the number of bytes read.</returns>
        </member>
        <member name="M:System.IO.StreamExtensions.WriteAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32)">
            <summary>Write to a stream asynchronously.</summary>
            <param name="stream">The stream.</param>
            <param name="buffer">An array of bytes to be written.</param>
            <param name="offset">The offset from which data should be read to be written.</param>
            <param name="count">The number of bytes to be written.</param>
            <returns>A Task representing the completion of the asynchronous operation.</returns>
        </member>
        <member name="M:System.IO.StreamExtensions.ReadAllBytesAsync(System.IO.Stream)">
            <summary>Reads the contents of the stream asynchronously.</summary>
            <param name="stream">The stream.</param>
            <returns>A Task representing the contents of the file in bytes.</returns>
        </member>
        <member name="M:System.IO.StreamExtensions.ReadBuffersAsync(System.IO.Stream,System.Int32,System.Action{System.Byte[],System.Int32})">
            <summary>Read the content of the stream, yielding its data in buffers to the provided delegate.</summary>
            <param name="stream">The stream.</param>
            <param name="bufferSize">The size of the buffers to use.</param>
            <param name="bufferAvailable">The delegate to be called when a new buffer is available.</param>
            <returns>A Task that represents the completion of the asynchronous operation.</returns>
        </member>
        <member name="M:System.IO.StreamExtensions.ReadIterator(System.IO.Stream,System.Int32,System.Action{System.Byte[],System.Int32})">
            <summary>
            Creates an enumerable to be used with TaskFactoryExtensions.Iterate that reads data
            from an input stream and passes it to a user-provided delegate.
            </summary>
            <param name="input">The source stream.</param>
            <param name="bufferSize">The size of the buffers to be used.</param>
            <param name="bufferAvailable">
            A delegate to be invoked when a buffer is available (provided the
            buffer and the number of bytes in the buffer starting at offset 0.
            </param>
            <returns>An enumerable containing yielded tasks from the operation.</returns>
        </member>
        <member name="M:System.IO.StreamExtensions.CopyStreamToFileAsync(System.IO.Stream,System.String)">
            <summary>Copies the contents of a stream to a file, asynchronously.</summary>
            <param name="source">The source stream.</param>
            <param name="destinationPath">The path to the destination file.</param>
            <returns>A Task that represents the asynchronous operation.</returns>
        </member>
        <member name="M:System.IO.StreamExtensions.CopyStreamToStreamAsync(System.IO.Stream,System.IO.Stream)">
            <summary>Copies the contents of one stream to another, asynchronously.</summary>
            <param name="source">The source stream.</param>
            <param name="destination">The destination stream.</param>
            <returns>A Task that represents the completion of the asynchronous operation.</returns>
        </member>
        <member name="M:System.IO.StreamExtensions.CopyStreamIterator(System.IO.Stream,System.IO.Stream)">
            <summary>
            Creates an enumerable to be used with TaskFactoryExtensions.Iterate that copies data from one
            stream to another.
            </summary>
            <param name="input">The input stream.</param>
            <param name="output">The output stream.</param>
            <returns>An enumerable containing yielded tasks from the copy operation.</returns>
        </member>
        <member name="T:System.Net.WebRequestExtensions">
            <summary>Extension methods for working with WebRequest asynchronously.</summary>
        </member>
        <member name="M:System.Net.WebRequestExtensions.GetResponseAsync(System.Net.WebRequest)">
            <summary>Creates a Task that represents an asynchronous request to GetResponse.</summary>
            <param name="webRequest">The WebRequest.</param>
            <returns>A Task containing the retrieved WebResponse.</returns>
        </member>
        <member name="M:System.Net.WebRequestExtensions.GetRequestStreamAsync(System.Net.WebRequest)">
            <summary>Creates a Task that represents an asynchronous request to GetRequestStream.</summary>
            <param name="webRequest">The WebRequest.</param>
            <returns>A Task containing the retrieved Stream.</returns>
        </member>
        <member name="M:System.Net.WebRequestExtensions.DownloadDataAsync(System.Net.WebRequest)">
            <summary>Creates a Task that respresents downloading all of the data from a WebRequest.</summary>
            <param name="webRequest">The WebRequest.</param>
            <returns>A Task containing the downloaded content.</returns>
        </member>
        <member name="T:System.Collections.Concurrent.BlockingCollectionExtensions">
            <summary>Extension methods for BlockingCollection.</summary>
        </member>
        <member name="M:System.Collections.Concurrent.BlockingCollectionExtensions.GetConsumingPartitioner``1(System.Collections.Concurrent.BlockingCollection{``0})">
            <summary>
            Gets a partitioner for a BlockingCollection that consumes and yields the contents of the BlockingCollection.</summary>
            <typeparam name="T">Specifies the type of data in the collection.</typeparam>
            <param name="collection">The collection for which to create a partitioner.</param>
            <returns>A partitioner that completely consumes and enumerates the contents of the collection.</returns>
            <remarks>
            Using this partitioner with a Parallel.ForEach loop or with PLINQ eliminates the need for those
            constructs to do any additional locking.  The only synchronization in place is that used by the
            BlockingCollection internally.
            </remarks>
        </member>
        <member name="M:System.Collections.Concurrent.BlockingCollectionExtensions.AddFromEnumerable``1(System.Collections.Concurrent.BlockingCollection{``0},System.Collections.Generic.IEnumerable{``0},System.Boolean)">
            <summary>Adds the contents of an enumerable to the BlockingCollection.</summary>
            <typeparam name="T">Specifies the type of the elements in the collection.</typeparam>
            <param name="target">The target BlockingCollection to be augmented.</param>
            <param name="source">The source enumerable containing the data to be added.</param>
            <param name="completeAddingWhenDone">
            Whether to mark the target BlockingCollection as complete for adding when 
            all elements of the source enumerable have been transfered.
            </param>
        </member>
        <member name="M:System.Collections.Concurrent.BlockingCollectionExtensions.AddFromObservable``1(System.Collections.Concurrent.BlockingCollection{``0},System.IObservable{``0},System.Boolean)">
            <summary>Adds the contents of an observable to the BlockingCollection.</summary>
            <typeparam name="T">Specifies the type of the elements in the collection.</typeparam>
            <param name="target">The target BlockingCollection to be augmented.</param>
            <param name="source">The source observable containing the data to be added.</param>
            <param name="completeAddingWhenDone">
            Whether to mark the target BlockingCollection as complete for adding when 
            all elements of the source observable have been transfered.
            </param>
            <returns>An IDisposable that may be used to cancel the transfer.</returns>
        </member>
        <member name="M:System.Collections.Concurrent.BlockingCollectionExtensions.ToProducerConsumerCollection``1(System.Collections.Concurrent.BlockingCollection{``0})">
            <summary>Creates an IProducerConsumerCollection-facade for a BlockingCollection instance.</summary>
            <typeparam name="T">Specifies the type of the elements in the collection.</typeparam>
            <param name="collection">The BlockingCollection.</param>
            <returns>
            An IProducerConsumerCollection that wraps the provided BlockingCollection.
            </returns>
        </member>
        <member name="M:System.Collections.Concurrent.BlockingCollectionExtensions.ToProducerConsumerCollection``1(System.Collections.Concurrent.BlockingCollection{``0},System.Int32)">
            <summary>Creates an IProducerConsumerCollection-facade for a BlockingCollection instance.</summary>
            <typeparam name="T">Specifies the type of the elements in the collection.</typeparam>
            <param name="collection">The BlockingCollection.</param>
            <param name="millisecondsTimeout">-1 for infinite blocking add and take operations. 0 for non-blocking, 1 or greater for blocking with timeout.</param>
            <returns>An IProducerConsumerCollection that wraps the provided BlockingCollection.</returns>
        </member>
        <member name="M:System.Collections.Concurrent.BlockingCollectionExtensions.ToProducerConsumerCollection``1(System.Collections.Concurrent.BlockingCollection{``0},System.Int32,System.Threading.CancellationToken)">
            <summary>Creates an IProducerConsumerCollection-facade for a BlockingCollection instance.</summary>
            <typeparam name="T">Specifies the type of the elements in the collection.</typeparam>
            <param name="collection">The BlockingCollection.</param>
            <param name="millisecondsTimeout">-1 for infinite blocking add and take operations. 0 for non-blocking, 1 or greater for blocking with timeout.</param>
            <param name="cancellationToken">The CancellationToken to use for any blocking operations.</param>
            <returns>An IProducerConsumerCollection that wraps the provided BlockingCollection.</returns>
        </member>
        <member name="T:System.Collections.Concurrent.BlockingCollectionExtensions.BlockingCollectionPartitioner`1">
            <summary>Provides a partitioner that consumes a blocking collection and yields its contents.</summary>
            <typeparam name="T">Specifies the type of data in the collection.</typeparam>
        </member>
        <member name="F:System.Collections.Concurrent.BlockingCollectionExtensions.BlockingCollectionPartitioner`1._collection">
            <summary>The target collection.</summary>
        </member>
        <member name="M:System.Collections.Concurrent.BlockingCollectionExtensions.BlockingCollectionPartitioner`1.#ctor(System.Collections.Concurrent.BlockingCollection{`0})">
            <summary>Initializes the partitioner.</summary>
            <param name="collection">The collection to be enumerated and consumed.</param>
        </member>
        <member name="M:System.Collections.Concurrent.BlockingCollectionExtensions.BlockingCollectionPartitioner`1.GetPartitions(System.Int32)">
            <summary>Partitions the underlying collection into the given number of partitions.</summary>
            <param name="partitionCount">The number of partitions to create.</param>
            <returns>A list containing partitionCount enumerators.</returns>
        </member>
        <member name="M:System.Collections.Concurrent.BlockingCollectionExtensions.BlockingCollectionPartitioner`1.GetDynamicPartitions">
            <summary>
            Creates an object that can partition the underlying collection into a variable number of partitions.
            </summary>
            <returns>An object that can create partitions over the underlying data source.</returns>
        </member>
        <member name="P:System.Collections.Concurrent.BlockingCollectionExtensions.BlockingCollectionPartitioner`1.SupportsDynamicPartitions">
            <summary>Gets whether additional partitions can be created dynamically.</summary>
        </member>
        <member name="T:System.Collections.Concurrent.BlockingCollectionExtensions.ProducerConsumerWrapper`1">
            <summary>Provides a producer-consumer collection facade for a BlockingCollection.</summary>
            <typeparam name="T">Specifies the type of the elements in the collection.</typeparam>
        </member>
        <member name="T:System.Threading.CancellationTokenExtensions">
            <summary>Extension methods for CancellationToken.</summary>
        </member>
        <member name="M:System.Threading.CancellationTokenExtensions.CancelAndThrow(System.Threading.CancellationTokenSource)">
            <summary>Cancels a CancellationTokenSource and throws a corresponding OperationCanceledException.</summary>
            <param name="source">The source to be canceled.</param>
        </member>
        <member name="M:System.Threading.CancellationTokenExtensions.CreateLinkedSource(System.Threading.CancellationToken)">
            <summary>
            Creates a CancellationTokenSource that will be canceled when the specified token has cancellation requested.
            </summary>
            <param name="token">The token.</param>
            <returns>The created CancellationTokenSource.</returns>
        </member>
        <member name="T:System.Threading.Tasks.CompletedTask">
            <summary>Provides access to an already completed task.</summary>
            <remarks>A completed task can be useful for using ContinueWith overloads where there aren't StartNew equivalents.</remarks>
        </member>
        <member name="F:System.Threading.Tasks.CompletedTask.Default">
            <summary>Gets a completed Task.</summary>
        </member>
        <member name="T:System.Threading.Tasks.CompletedTask`1">
            <summary>Provides access to an already completed task.</summary>
            <remarks>A completed task can be useful for using ContinueWith overloads where there aren't StartNew equivalents.</remarks>
        </member>
        <member name="M:System.Threading.Tasks.CompletedTask`1.#cctor">
            <summary>Initializes a Task.</summary>
        </member>
        <member name="F:System.Threading.Tasks.CompletedTask`1.Default">
            <summary>Gets a completed Task.</summary>
        </member>
        <member name="T:System.DelegateExtensions">
            <summary>Parallel extensions for the Delegate class.</summary>
        </member>
        <member name="M:System.DelegateExtensions.ParallelDynamicInvoke(System.Delegate,System.Object[])">
            <summary>Dynamically invokes (late-bound) in parallel the methods represented by the delegate.</summary>
            <param name="multicastDelegate">The delegate to be invoked.</param>
            <param name="args">An array of objects that are the arguments to pass to the delegates.</param>
            <returns>The return value of one of the delegate invocations.</returns>
        </member>
        <member name="M:System.DelegateExtensions.WithFailFast(System.Action)">
            <summary>
            Provides a delegate that runs the specified action and fails fast if the action throws an exception.
            </summary>
            <param name="action">The action to invoke.</param>
            <returns>The wrapper delegate.</returns>
        </member>
        <member name="M:System.DelegateExtensions.WithFailFast``1(System.Func{``0})">
            <summary>
            Provides a delegate that runs the specified function and fails fast if the function throws an exception.
            </summary>
            <param name="function">The function to invoke.</param>
            <returns>The wrapper delegate.</returns>
        </member>
        <member name="T:System.Net.NetworkInformation.PingExtensions">
            <summary>Extension methods for working with Ping asynchronously.</summary>
        </member>
        <member name="M:System.Net.NetworkInformation.PingExtensions.SendTask(System.Net.NetworkInformation.Ping,System.Net.IPAddress,System.Object)">
            <summary>
            Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message.
            </summary>
            <param name="ping">The Ping.</param>
            <param name="address">An IPAddress that identifies the computer that is the destination for the ICMP echo message.</param>
            <param name="userToken">A user-defined object stored in the resulting Task.</param>
            <returns>A task that represents the asynchronous operation.</returns>
        </member>
        <member name="M:System.Net.NetworkInformation.PingExtensions.SendTask(System.Net.NetworkInformation.Ping,System.String,System.Object)">
            <summary>
            Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message.
            </summary>
            <param name="ping">The Ping.</param>
            <param name="hostNameOrAddress">
            A String that identifies the computer that is the destination for the ICMP echo message. 
            The value specified for this parameter can be a host name or a string representation of an IP address.
            </param>
            <param name="userToken">A user-defined object stored in the resulting Task.</param>
            <returns>A task that represents the asynchronous operation.</returns>
        </member>
        <member name="M:System.Net.NetworkInformation.PingExtensions.SendTask(System.Net.NetworkInformation.Ping,System.Net.IPAddress,System.Int32,System.Object)">
            <summary>
            Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message.
            </summary>
            <param name="ping">The Ping.</param>
            <param name="address">An IPAddress that identifies the computer that is the destination for the ICMP echo message.</param>
            <param name="timeout">
            An Int32 value that specifies the maximum number of milliseconds (after sending the echo message) 
            to wait for the ICMP echo reply message.
            </param>
            <param name="userToken">A user-defined object stored in the resulting Task.</param>
            <returns>A task that represents the asynchronous operation.</returns>
        </member>
        <member name="M:System.Net.NetworkInformation.PingExtensions.SendTask(System.Net.NetworkInformation.Ping,System.String,System.Int32,System.Object)">
            <summary>
            Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message.
            </summary>
            <param name="ping">The Ping.</param>
            <param name="hostNameOrAddress">
            A String that identifies the computer that is the destination for the ICMP echo message. 
            The value specified for this parameter can be a host name or a string representation of an IP address.
            </param>
            <param name="timeout">
            An Int32 value that specifies the maximum number of milliseconds (after sending the echo message) 
            to wait for the ICMP echo reply message.
            </param>
            <param name="userToken">A user-defined object stored in the resulting Task.</param>
            <returns>A task that represents the asynchronous operation.</returns>
        </member>
        <member name="M:System.Net.NetworkInformation.PingExtensions.SendTask(System.Net.NetworkInformation.Ping,System.Net.IPAddress,System.Int32,System.Byte[],System.Object)">
            <summary>
            Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message.
            </summary>
            <param name="ping">The Ping.</param>
            <param name="address">An IPAddress that identifies the computer that is the destination for the ICMP echo message.</param>
            <param name="timeout">
            An Int32 value that specifies the maximum number of milliseconds (after sending the echo message) 
            to wait for the ICMP echo reply message.
            </param>
            <param name="buffer">
            A Byte array that contains data to be sent with the ICMP echo message and returned 
            in the ICMP echo reply message. The array cannot contain more than 65,500 bytes.
            </param>
            <param name="userToken">A user-defined object stored in the resulting Task.</param>
            <returns>A task that represents the asynchronous operation.</returns>
        </member>
        <member name="M:System.Net.NetworkInformation.PingExtensions.SendTask(System.Net.NetworkInformation.Ping,System.String,System.Int32,System.Byte[],System.Object)">
            <summary>
            Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message.
            </summary>
            <param name="ping">The Ping.</param>
            <param name="hostNameOrAddress">
            A String that identifies the computer that is the destination for the ICMP echo message. 
            The value specified for this parameter can be a host name or a string representation of an IP address.
            </param>
            <param name="timeout">
            An Int32 value that specifies the maximum number of milliseconds (after sending the echo message) 
            to wait for the ICMP echo reply message.
            </param>
            <param name="buffer">
            A Byte array that contains data to be sent with the ICMP echo message and returned 
            in the ICMP echo reply message. The array cannot contain more than 65,500 bytes.
            </param>
            <param name="userToken">A user-defined object stored in the resulting Task.</param>
            <returns>A task that represents the asynchronous operation.</returns>
        </member>
        <member name="M:System.Net.NetworkInformation.PingExtensions.SendTask(System.Net.NetworkInformation.Ping,System.Net.IPAddress,System.Int32,System.Byte[],System.Net.NetworkInformation.PingOptions,System.Object)">
            <summary>
            Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message.
            </summary>
            <param name="ping">The Ping.</param>
            <param name="address">An IPAddress that identifies the computer that is the destination for the ICMP echo message.</param>
            <param name="timeout">
            An Int32 value that specifies the maximum number of milliseconds (after sending the echo message) 
            to wait for the ICMP echo reply message.
            </param>
            <param name="buffer">
            A Byte array that contains data to be sent with the ICMP echo message and returned 
            in the ICMP echo reply message. The array cannot contain more than 65,500 bytes.
            </param>
            <param name="options">A PingOptions object used to control fragmentation and Time-to-Live values for the ICMP echo message packet.</param>
            <param name="userToken">A user-defined object stored in the resulting Task.</param>
            <returns>A task that represents the asynchronous operation.</returns>
        </member>
        <member name="M:System.Net.NetworkInformation.PingExtensions.SendTask(System.Net.NetworkInformation.Ping,System.String,System.Int32,System.Byte[],System.Net.NetworkInformation.PingOptions,System.Object)">
            <summary>
            Asynchronously attempts to send an Internet Control Message Protocol (ICMP) echo message.
            </summary>
            <param name="ping">The Ping.</param>
            <param name="hostNameOrAddress">
            A String that identifies the computer that is the destination for the ICMP echo message. 
            The value specified for this parameter can be a host name or a string representation of an IP address.
            </param>
            <param name="timeout">
            An Int32 value that specifies the maximum number of milliseconds (after sending the echo message) 
            to wait for the ICMP echo reply message.
            </param>
            <param name="buffer">
            A Byte array that contains data to be sent with the ICMP echo message and returned 
            in the ICMP echo reply message. The array cannot contain more than 65,500 bytes.
            </param>
            <param name="options">A PingOptions object used to control fragmentation and Time-to-Live values for the ICMP echo message packet.</param>
            <param name="userToken">A user-defined object stored in the resulting Task.</param>
            <returns>A task that represents the asynchronous operation.</returns>
        </member>
        <member name="M:System.Net.NetworkInformation.PingExtensions.SendTaskCore(System.Net.NetworkInformation.Ping,System.Object,System.Action{System.Threading.Tasks.TaskCompletionSource{System.Net.NetworkInformation.PingReply}})">
            <summary>The core implementation of SendTask.</summary>
            <param name="ping">The Ping.</param>
            <param name="userToken">A user-defined object stored in the resulting Task.</param>
            <param name="sendAsync">
            A delegate that initiates the asynchronous send.
            The provided TaskCompletionSource must be passed as the user-supplied state to the actual Ping.SendAsync method.
            </param>
            <returns></returns>
        </member>
        <member name="T:System.Net.NetworkInformation.SmtpClientExtensions">
            <summary>Extension methods for working with SmtpClient asynchronously.</summary>
        </member>
        <member name="M:System.Net.NetworkInformation.SmtpClientExtensions.SendTask(System.Net.Mail.SmtpClient,System.Net.Mail.MailMessage,System.Object)">
            <summary>Sends an e-mail message asynchronously.</summary>
            <param name="smtpClient">The client.</param>
            <param name="message">A MailMessage that contains the message to send.</param>
            <param name="userToken">A user-defined object stored in the resulting Task.</param>
            <returns>A Task that represents the asynchronous send.</returns>
        </member>
        <member name="M:System.Net.NetworkInformation.SmtpClientExtensions.SendTask(System.Net.Mail.SmtpClient,System.String,System.String,System.String,System.String,System.Object)">
            <summary>Sends an e-mail message asynchronously.</summary>
            <param name="smtpClient">The client.</param>
            <param name="from">A String that contains the address information of the message sender.</param>
            <param name="recipients">A String that contains the address that the message is sent to.</param>
            <param name="subject">A String that contains the subject line for the message.</param>
            <param name="body">A String that contains the message body.</param>
            <param name="userToken">A user-defined object stored in the resulting Task.</param>
            <returns>A Task that represents the asynchronous send.</returns>
        </member>
        <member name="M:System.Net.NetworkInformation.SmtpClientExtensions.SendTaskCore(System.Net.Mail.SmtpClient,System.Object,System.Action{System.Threading.Tasks.TaskCompletionSource{System.Object}})">
            <summary>The core implementation of SendTask.</summary>
            <param name="smtpClient">The client.</param>
            <param name="userToken">The user-supplied state.</param>
            <param name="sendAsync">
            A delegate that initiates the asynchronous send.
            The provided TaskCompletionSource must be passed as the user-supplied state to the actual SmtpClient.SendAsync method.
            </param>
            <returns></returns>
        </member>
        <member name="T:System.Net.WebClientExtensions">
            <summary>Extension methods for working with WebClient asynchronously.</summary>
        </member>
        <member name="M:System.Net.WebClientExtensions.DownloadDataTask(System.Net.WebClient,System.String)">
            <summary>Downloads the resource with the specified URI as a byte array, asynchronously.</summary>
            <param name="webClient">The WebClient.</param>
            <param name="address">The URI from which to download data.</param>
            <returns>A Task that contains the downloaded data.</returns>
        </member>
        <member name="M:System.Net.WebClientExtensions.DownloadDataTask(System.Net.WebClient,System.Uri)">
            <summary>Downloads the resource with the specified URI as a byte array, asynchronously.</summary>
            <param name="webClient">The WebClient.</param>
            <param name="address">The URI from which to download data.</param>
            <returns>A Task that contains the downloaded data.</returns>
        </member>
        <member name="M:System.Net.WebClientExtensions.DownloadFileTask(System.Net.WebClient,System.String,System.String)">
            <summary>Downloads the resource with the specified URI to a local file, asynchronously.</summary>
            <param name="webClient">The WebClient.</param>
            <param name="address">The URI from which to download data.</param>
            <param name="fileName">The name of the local file that is to receive the data.</param>
            <returns>A Task that contains the downloaded data.</returns>
        </member>
        <member name="M:System.Net.WebClientExtensions.DownloadFileTask(System.Net.WebClient,System.Uri,System.String)">
            <summary>Downloads the resource with the specified URI to a local file, asynchronously.</summary>
            <param name="webClient">The WebClient.</param>
            <param name="address">The URI from which to download data.</param>
            <param name="fileName">The name of the local file that is to receive the data.</param>
            <returns>A Task that contains the downloaded data.</returns>
        </member>
        <member name="M:System.Net.WebClientExtensions.DownloadStringTask(System.Net.WebClient,System.String)">
            <summary>Downloads the resource with the specified URI as a string, asynchronously.</summary>
            <param name="webClient">The WebClient.</param>
            <param name="address">The URI from which to download data.</param>
            <returns>A Task that contains the downloaded String.</returns>
        </member>
        <member name="M:System.Net.WebClientExtensions.DownloadStringTask(System.Net.WebClient,System.Uri)">
            <summary>Downloads the resource with the specified URI as a string, asynchronously.</summary>
            <param name="webClient">The WebClient.</param>
            <param name="address">The URI from which to download data.</param>
            <returns>A Task that contains the downloaded String.</returns>
        </member>
        <member name="M:System.Net.WebClientExtensions.OpenReadTask(System.Net.WebClient,System.String)">
            <summary>Opens a readable stream for the data downloaded from a resource, asynchronously.</summary>
            <param name="webClient">The WebClient.</param>
            <param name="address">The URI for which the stream should be opened.</param>
            <returns>A Task that contains the opened stream.</returns>
        </member>
        <member name="M:System.Net.WebClientExtensions.OpenReadTask(System.Net.WebClient,System.Uri)">
            <summary>Opens a readable stream for the data downloaded from a resource, asynchronously.</summary>
            <param name="webClient">The WebClient.</param>
            <param name="address">The URI for which the stream should be opened.</param>
            <returns>A Task that contains the opened stream.</returns>
        </member>
        <member name="M:System.Net.WebClientExtensions.OpenWriteTask(System.Net.WebClient,System.String,System.String)">
            <summary>Opens a writeable stream for uploading data to a resource, asynchronously.</summary>
            <param name="webClient">The WebClient.</param>
            <param name="address">The URI for which the stream should be opened.</param>
            <param name="method">The HTTP method that should be used to open the stream.</param>
            <returns>A Task that contains the opened stream.</returns>
        </member>
        <member name="M:System.Net.WebClientExtensions.OpenWriteTask(System.Net.WebClient,System.Uri,System.String)">
            <summary>Opens a writeable stream for uploading data to a resource, asynchronously.</summary>
            <param name="webClient">The WebClient.</param>
            <param name="address">The URI for which the stream should be opened.</param>
            <param name="method">The HTTP method that should be used to open the stream.</param>
            <returns>A Task that contains the opened stream.</returns>
        </member>
        <member name="M:System.Net.WebClientExtensions.UploadDataTask(System.Net.WebClient,System.String,System.String,System.Byte[])">
            <summary>Uploads data to the specified resource, asynchronously.</summary>
            <param name="webClient">The WebClient.</param>
            <param name="address">The URI to which the data should be uploaded.</param>
            <param name="method">The HTTP method that should be used to upload the data.</param>
            <param name="data">The data to upload.</param>
            <returns>A Task containing the data in the response from the upload.</returns>
        </member>
        <member name="M:System.Net.WebClientExtensions.UploadDataTask(System.Net.WebClient,System.Uri,System.String,System.Byte[])">
            <summary>Uploads data to the specified resource, asynchronously.</summary>
            <param name="webClient">The WebClient.</param>
            <param name="address">The URI to which the data should be uploaded.</param>
            <param name="method">The HTTP method that should be used to upload the data.</param>
            <param name="data">The data to upload.</param>
            <returns>A Task containing the data in the response from the upload.</returns>
        </member>
        <member name="M:System.Net.WebClientExtensions.UploadFileTask(System.Net.WebClient,System.String,System.String,System.String)">
            <summary>Uploads a file to the specified resource, asynchronously.</summary>
            <param name="webClient">The WebClient.</param>
            <param name="address">The URI to which the file should be uploaded.</param>
            <param name="method">The HTTP method that should be used to upload the file.</param>
            <param name="fileName">A path to the file to upload.</param>
            <returns>A Task containing the data in the response from the upload.</returns>
        </member>
        <member name="M:System.Net.WebClientExtensions.UploadFileTask(System.Net.WebClient,System.Uri,System.String,System.String)">
            <summary>Uploads a file to the specified resource, asynchronously.</summary>
            <param name="webClient">The WebClient.</param>
            <param name="address">The URI to which the file should be uploaded.</param>
            <param name="method">The HTTP method that should be used to upload the file.</param>
            <param name="fileName">A path to the file to upload.</param>
            <returns>A Task containing the data in the response from the upload.</returns>
        </member>
        <member name="M:System.Net.WebClientExtensions.UploadStringTask(System.Net.WebClient,System.String,System.String,System.String)">
            <summary>Uploads data in a string to the specified resource, asynchronously.</summary>
            <param name="webClient">The WebClient.</param>
            <param name="address">The URI to which the data should be uploaded.</param>
            <param name="method">The HTTP method that should be used to upload the data.</param>
            <param name="data">The data to upload.</param>
            <returns>A Task containing the data in the response from the upload.</returns>
        </member>
        <member name="M:System.Net.WebClientExtensions.UploadStringTask(System.Net.WebClient,System.Uri,System.String,System.String)">
            <summary>Uploads data in a string to the specified resource, asynchronously.</summary>
            <param name="webClient">The WebClient.</param>
            <param name="address">The URI to which the data should be uploaded.</param>
            <param name="method">The HTTP method that should be used to upload the data.</param>
            <param name="data">The data to upload.</param>
            <returns>A Task containing the data in the response from the upload.</returns>
        </member>
        <member name="T:System.Collections.Concurrent.ProducerConsumerCollectionExtensions">
            <summary>Extension methods for IProducerConsumerCollection.</summary>
        </member>
        <member name="M:System.Collections.Concurrent.ProducerConsumerCollectionExtensions.Clear``1(System.Collections.Concurrent.IProducerConsumerCollection{``0})">
            <summary>Clears the collection by repeatedly taking elements until it's empty.</summary>
            <typeparam name="T">Specifies the type of the elements in the collection.</typeparam>
            <param name="collection">The collection to be cleared.</param>
        </member>
        <member name="M:System.Collections.Concurrent.ProducerConsumerCollectionExtensions.GetConsumingEnumerable``1(System.Collections.Concurrent.IProducerConsumerCollection{``0})">
            <summary>Creates an enumerable which will consume and return elements from the collection.</summary>
            <typeparam name="T">Specifies the type of the elements in the collection.</typeparam>
            <param name="collection">The collection to be consumed.</param>
            <returns>An enumerable that consumes elements from the collection and returns them.</returns>
        </member>
        <member name="M:System.Collections.Concurrent.ProducerConsumerCollectionExtensions.AddFromEnumerable``1(System.Collections.Concurrent.IProducerConsumerCollection{``0},System.Collections.Generic.IEnumerable{``0})">
            <summary>Adds the contents of an enumerable to the collection.</summary>
            <typeparam name="T">Specifies the type of the elements in the collection.</typeparam>
            <param name="target">The target collection to be augmented.</param>
            <param name="source">The source enumerable containing the data to be added.</param>
        </member>
        <member name="M:System.Collections.Concurrent.ProducerConsumerCollectionExtensions.AddFromObservable``1(System.Collections.Concurrent.IProducerConsumerCollection{``0},System.IObservable{``0})">
            <summary>Adds the contents of an observable to the collection.</summary>
            <typeparam name="T">Specifies the type of the elements in the collection.</typeparam>
            <param name="target">The target collection to be augmented.</param>
            <param name="source">The source observable containing the data to be added.</param>
            <returns>An IDisposable that may be used to cancel the transfer.</returns>
        </member>
        <member name="M:System.Collections.Concurrent.ProducerConsumerCollectionExtensions.ToProducerOnlyCollection``1(System.Collections.Concurrent.IProducerConsumerCollection{``0})">
            <summary>Creates an add-only facade for the collection.</summary>
            <typeparam name="T">Specifies the type of the elements in the collection.</typeparam>
            <param name="collection">The collection to be wrapped.</param>
            <returns>
            An IProducerConsumerCollection that wraps the target collection and supports only add
            functionality, not take.
            </returns>
        </member>
        <member name="M:System.Collections.Concurrent.ProducerConsumerCollectionExtensions.ToConsumerOnlyCollection``1(System.Collections.Concurrent.IProducerConsumerCollection{``0})">
            <summary>Creates a take-only facade for the collection.</summary>
            <typeparam name="T">Specifies the type of the elements in the collection.</typeparam>
            <param name="collection">The collection to be wrapped.</param>
            <returns>
            An IProducerConsumerCollection that wraps the target collection and supports only take
            functionality, not add.
            </returns>
        </member>
        <member name="T:System.LazyExtensions">
            <summary>Extension methods for Lazy.</summary>
        </member>
        <member name="M:System.LazyExtensions.Force``1(System.Lazy{``0})">
            <summary>Forces value creation of a Lazy instance.</summary>
            <typeparam name="T">Specifies the type of the value being lazily initialized.</typeparam>
            <param name="lazy">The Lazy instance.</param>
            <returns>The initialized Lazy instance.</returns>
        </member>
        <member name="M:System.LazyExtensions.GetValueAsync``1(System.Lazy{``0})">
            <summary>Retrieves the value of a Lazy asynchronously.</summary>
            <typeparam name="T">Specifies the type of the value being lazily initialized.</typeparam>
            <param name="lazy">The Lazy instance.</param>
            <returns>A Task representing the Lazy's value.</returns>
        </member>
        <member name="M:System.LazyExtensions.Create``1(``0)">
            <summary>Creates a Lazy that's already been initialized to a specified value.</summary>
            <typeparam name="T">The type of the data to be initialized.</typeparam>
            <param name="value">The value with which to initialize the Lazy instance.</param>
            <returns>The initialized Lazy.</returns>
        </member>
        <member name="T:System.Linq.LinqToTasks">
            <summary>
            Provides LINQ support for Tasks by implementing the primary standard query operators.
            </summary>
        </member>
        <member name="T:System.Linq.LinqToTasks.OneElementGrouping`2">
            <summary>Represents a grouping of one element.</summary>
            <typeparam name="TKey">The type of the key for the element.</typeparam>
            <typeparam name="TElement">The type of the element.</typeparam>
        </member>
        <member name="T:System.Linq.ParallelLinqOptions">
            <summary>Provides a grouping for common Parallel LINQ options.</summary>
        </member>
        <member name="P:System.Linq.ParallelLinqOptions.ExecutionMode">
            <summary>Gets or sets the execution mode.</summary>
        </member>
        <member name="P:System.Linq.ParallelLinqOptions.MergeOptions">
            <summary>Gets or sets the merge options.</summary>
        </member>
        <member name="P:System.Linq.ParallelLinqOptions.Ordered">
            <summary>Gets or sets whether the query should retain ordering.</summary>
        </member>
        <member name="T:System.Threading.Tasks.ParallelOptionsExtensions">
            <summary>Extension methods for ParallelOptions.</summary>
        </member>
        <member name="M:System.Threading.Tasks.ParallelOptionsExtensions.ShallowClone(System.Threading.Tasks.ParallelOptions)">
            <summary>Copies a ParallelOptions instance to a shallow clone.</summary>
            <param name="options">The options to be cloned.</param>
            <returns>The shallow clone.</returns>
        </member>
        <member name="T:System.Linq.ParallelLinqExtensions">
            <summary>Extension methods for Parallel LINQ.</summary>
        </member>
        <member name="M:System.Linq.ParallelLinqExtensions.TakeTop``2(System.Linq.ParallelQuery{``0},System.Func{``0,``1},System.Int32)">
            <summary>Takes the top elements as if they were sorted.</summary>
            <typeparam name="TSource">Specifies the type of the elements.</typeparam>
            <typeparam name="TKey">Specifies the type of the keys used to compare elements.</typeparam>
            <param name="source">The source elements.</param>
            <param name="keySelector">A function used to extract a key from each element.</param>
            <param name="count">The number of elements to take.</param>
            <returns></returns>
        </member>
        <member name="M:System.Linq.ParallelLinqExtensions.MapReduce``4(System.Linq.ParallelQuery{``0},System.Func{``0,``1},System.Func{``1,``2},System.Func{System.Linq.IGrouping{``2,``1},``3})">
            <summary>Implements a map-reduce operation.</summary>
            <typeparam name="TSource">Specifies the type of the source elements.</typeparam>
            <typeparam name="TMapped">Specifies the type of the mapped elements.</typeparam>
            <typeparam name="TKey">Specifies the type of the element keys.</typeparam>
            <typeparam name="TResult">Specifies the type of the results.</typeparam>
            <param name="source">The source elements.</param>
            <param name="map">A function used to get the target data from a source element.</param>
            <param name="keySelector">A function used to get a key from the target data.</param>
            <param name="reduce">A function used to reduce a group of elements.</param>
            <returns>The result elements of the reductions.</returns>
        </member>
        <member name="M:System.Linq.ParallelLinqExtensions.MapReduce``4(System.Linq.ParallelQuery{``0},System.Func{``0,System.Collections.Generic.IEnumerable{``1}},System.Func{``1,``2},System.Func{System.Linq.IGrouping{``2,``1},System.Collections.Generic.IEnumerable{``3}})">
            <summary>Implements a map-reduce operation.</summary>
            <typeparam name="TSource">Specifies the type of the source elements.</typeparam>
            <typeparam name="TMapped">Specifies the type of the mapped elements.</typeparam>
            <typeparam name="TKey">Specifies the type of the element keys.</typeparam>
            <typeparam name="TResult">Specifies the type of the results.</typeparam>
            <param name="source">The source elements.</param>
            <param name="map">A function used to get an enumerable of target data from a source element.</param>
            <param name="keySelector">A function used to get a key from target data.</param>
            <param name="reduce">A function used to reduce a group of elements to an enumerable of results.</param>
            <returns>The result elements of the reductions.</returns>
        </member>
        <member name="M:System.Linq.ParallelLinqExtensions.OutputToProducerConsumerCollection``1(System.Linq.ParallelQuery{``0},System.Collections.Concurrent.IProducerConsumerCollection{``0})">
            <summary>Runs the query and outputs its results into the target collection.</summary>
            <typeparam name="TSource">Specifies the type of elements output from the query.</typeparam>
            <param name="source">The source query.</param>
            <param name="target">The target collection.</param>
        </member>
        <member name="M:System.Linq.ParallelLinqExtensions.AsParallel``1(System.Collections.Generic.IEnumerable{``0},System.Linq.ParallelLinqOptions)">
            <summary>This is the method to opt into Parallel LINQ.</summary>
            <typeparam name="TSource">Specifies the type of elements provided to the query.</typeparam>
            <param name="source">The source query.</param>
            <param name="parallelOptions">The options to use for query processing.</param>
            <returns>The source as a ParallelQuery to bind to ParallelEnumerable extension methods.</returns>
        </member>
        <member name="T:System.Linq.ParallelLinqExtensions.DescendingDefaultComparer`1">
            <summary>A comparer that comparers using the inverse of the default comparer.</summary>
            <typeparam name="T">Specifies the type being compared.</typeparam>
        </member>
        <member name="T:System.Threading.Tasks.TaskCompletionSourceExtensions">
            <summary>Extension methods for TaskCompletionSource.</summary>
        </member>
        <member name="M:System.Threading.Tasks.TaskCompletionSourceExtensions.SetFromTask``1(System.Threading.Tasks.TaskCompletionSource{``0},System.Threading.Tasks.Task)">
            <summary>Transfers the result of a Task to the TaskCompletionSource.</summary>
            <typeparam name="TResult">Specifies the type of the result.</typeparam>
            <param name="resultSetter">The TaskCompletionSource.</param>
            <param name="task">The task whose completion results should be transfered.</param>
        </member>
        <member name="M:System.Threading.Tasks.TaskCompletionSourceExtensions.SetFromTask``1(System.Threading.Tasks.TaskCompletionSource{``0},System.Threading.Tasks.Task{``0})">
            <summary>Transfers the result of a Task to the TaskCompletionSource.</summary>
            <typeparam name="TResult">Specifies the type of the result.</typeparam>
            <param name="resultSetter">The TaskCompletionSource.</param>
            <param name="task">The task whose completion results should be transfered.</param>
        </member>
        <member name="M:System.Threading.Tasks.TaskCompletionSourceExtensions.TrySetFromTask``1(System.Threading.Tasks.TaskCompletionSource{``0},System.Threading.Tasks.Task)">
            <summary>Attempts to transfer the result of a Task to the TaskCompletionSource.</summary>
            <typeparam name="TResult">Specifies the type of the result.</typeparam>
            <param name="resultSetter">The TaskCompletionSource.</param>
            <param name="task">The task whose completion results should be transfered.</param>
            <returns>Whether the transfer could be completed.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskCompletionSourceExtensions.TrySetFromTask``1(System.Threading.Tasks.TaskCompletionSource{``0},System.Threading.Tasks.Task{``0})">
            <summary>Attempts to transfer the result of a Task to the TaskCompletionSource.</summary>
            <typeparam name="TResult">Specifies the type of the result.</typeparam>
            <param name="resultSetter">The TaskCompletionSource.</param>
            <param name="task">The task whose completion results should be transfered.</param>
            <returns>Whether the transfer could be completed.</returns>
        </member>
        <member name="T:System.Threading.Tasks.TaskExtrasExtensions">
            <summary>Extensions methods for Task.</summary>
        </member>
        <member name="M:System.Threading.Tasks.TaskExtrasExtensions.ContinueWith(System.Threading.Tasks.Task,System.Action{System.Threading.Tasks.Task},System.Threading.Tasks.TaskFactory)">
            <summary>Creates a continuation task using the specified TaskFactory.</summary>
            <param name="task">The antecedent Task.</param>
            <param name="continuationAction">The continuation action.</param>
            <param name="factory">The TaskFactory.</param>
            <returns>A continuation task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskExtrasExtensions.ContinueWith``1(System.Threading.Tasks.Task,System.Func{System.Threading.Tasks.Task,``0},System.Threading.Tasks.TaskFactory)">
            <summary>Creates a continuation task using the specified TaskFactory.</summary>
            <param name="task">The antecedent Task.</param>
            <param name="continuationFunction">The continuation function.</param>
            <param name="factory">The TaskFactory.</param>
            <returns>A continuation task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskExtrasExtensions.ContinueWith``1(System.Threading.Tasks.Task{``0},System.Action{System.Threading.Tasks.Task{``0}},System.Threading.Tasks.TaskFactory{``0})">
            <summary>Creates a continuation task using the specified TaskFactory.</summary>
            <param name="task">The antecedent Task.</param>
            <param name="continuationAction">The continuation action.</param>
            <param name="factory">The TaskFactory.</param>
            <returns>A continuation task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskExtrasExtensions.ContinueWith``2(System.Threading.Tasks.Task{``0},System.Func{System.Threading.Tasks.Task{``0},``1},System.Threading.Tasks.TaskFactory{``0})">
            <summary>Creates a continuation task using the specified TaskFactory.</summary>
            <param name="task">The antecedent Task.</param>
            <param name="continuationFunction">The continuation function.</param>
            <param name="factory">The TaskFactory.</param>
            <returns>A continuation task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskExtrasExtensions.ToAsync(System.Threading.Tasks.Task,System.AsyncCallback,System.Object)">
            <summary>
            Creates a Task that represents the completion of another Task, and 
            that schedules an AsyncCallback to run upon completion.
            </summary>
            <param name="task">The antecedent Task.</param>
            <param name="callback">The AsyncCallback to run.</param>
            <param name="state">The object state to use with the AsyncCallback.</param>
            <returns>The new task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskExtrasExtensions.ToAsync``1(System.Threading.Tasks.Task{``0},System.AsyncCallback,System.Object)">
            <summary>
            Creates a Task that represents the completion of another Task, and 
            that schedules an AsyncCallback to run upon completion.
            </summary>
            <param name="task">The antecedent Task.</param>
            <param name="callback">The AsyncCallback to run.</param>
            <param name="state">The object state to use with the AsyncCallback.</param>
            <returns>The new task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskExtrasExtensions.IgnoreExceptions(System.Threading.Tasks.Task)">
            <summary>Suppresses default exception handling of a Task that would otherwise reraise the exception on the finalizer thread.</summary>
            <param name="task">The Task to be monitored.</param>
            <returns>The original Task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskExtrasExtensions.IgnoreExceptions``1(System.Threading.Tasks.Task{``0})">
            <summary>Suppresses default exception handling of a Task that would otherwise reraise the exception on the finalizer thread.</summary>
            <param name="task">The Task to be monitored.</param>
            <returns>The original Task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskExtrasExtensions.FailFastOnException(System.Threading.Tasks.Task)">
            <summary>Fails immediately when an exception is encountered.</summary>
            <param name="task">The Task to be monitored.</param>
            <returns>The original Task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskExtrasExtensions.FailFastOnException``1(System.Threading.Tasks.Task{``0})">
            <summary>Fails immediately when an exception is encountered.</summary>
            <param name="task">The Task to be monitored.</param>
            <returns>The original Task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskExtrasExtensions.PropagateExceptions(System.Threading.Tasks.Task)">
            <summary>Propagates any exceptions that occurred on the specified task.</summary>
            <param name="task">The Task whose exceptions are to be propagated.</param>
        </member>
        <member name="M:System.Threading.Tasks.TaskExtrasExtensions.PropagateExceptions(System.Threading.Tasks.Task[])">
            <summary>Propagates any exceptions that occurred on the specified tasks.</summary>
            <param name="tasks">The Task whose exceptions are to be propagated.</param>
        </member>
        <member name="M:System.Threading.Tasks.TaskExtrasExtensions.ToObservable``1(System.Threading.Tasks.Task{``0})">
            <summary>Creates an IObservable that represents the completion of a Task.</summary>
            <typeparam name="TResult">Specifies the type of data returned by the Task.</typeparam>
            <param name="task">The Task to be represented as an IObservable.</param>
            <returns>An IObservable that represents the completion of the Task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskExtrasExtensions.WithTimeout(System.Threading.Tasks.Task,System.TimeSpan)">
            <summary>Creates a new Task that mirrors the supplied task but that will be canceled after the specified timeout.</summary>
            <param name="task">The task.</param>
            <param name="timeout">The timeout.</param>
            <returns>The new Task that may time out.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskExtrasExtensions.WithTimeout``1(System.Threading.Tasks.Task{``0},System.TimeSpan)">
            <summary>Creates a new Task that mirrors the supplied task but that will be canceled after the specified timeout.</summary>
            <typeparam name="TResult">Specifies the type of data contained in the task.</typeparam>
            <param name="task">The task.</param>
            <param name="timeout">The timeout.</param>
            <returns>The new Task that may time out.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskExtrasExtensions.AttachToParent(System.Threading.Tasks.Task)">
            <summary>
            Ensures that a parent task can't transition into a completed state
            until the specified task has also completed, even if it's not
            already a child task.
            </summary>
            <param name="task">The task to attach to the current task as a child.</param>
        </member>
        <member name="M:System.Threading.Tasks.TaskExtrasExtensions.WaitWithPumping(System.Threading.Tasks.Task)">
            <summary>Waits for the task to complete execution, pumping in the meantime.</summary>
            <param name="task">The task for which to wait.</param>
            <remarks>This method is intended for usage with Windows Presentation Foundation.</remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskExtrasExtensions.WaitWithPumping``1(System.Threading.Tasks.Task{``0})">
            <summary>Waits for the task to complete execution, pumping in the meantime.</summary>
            <param name="task">The task for which to wait.</param>
            <remarks>This method is intended for usage with Windows Presentation Foundation.</remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskExtrasExtensions.WaitForCompletionStatus(System.Threading.Tasks.Task)">
            <summary>Waits for the task to complete execution, returning the task's final status.</summary>
            <param name="task">The task for which to wait.</param>
            <returns>The completion status of the task.</returns>
            <remarks>Unlike Wait, this method will not throw an exception if the task ends in the Faulted or Canceled state.</remarks>
        </member>
        <member name="M:System.Threading.Tasks.TaskExtrasExtensions.Then(System.Threading.Tasks.Task,System.Action)">
            <summary>Creates a task that represents the completion of a follow-up action when a task completes.</summary>
            <param name="task">The task.</param>
            <param name="next">The action to run when the task completes.</param>
            <returns>The task that represents the completion of both the task and the action.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskExtrasExtensions.Then``1(System.Threading.Tasks.Task,System.Func{``0})">
            <summary>Creates a task that represents the completion of a follow-up function when a task completes.</summary>
            <param name="task">The task.</param>
            <param name="next">The function to run when the task completes.</param>
            <returns>The task that represents the completion of both the task and the function.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskExtrasExtensions.Then``1(System.Threading.Tasks.Task{``0},System.Action{``0})">
            <summary>Creates a task that represents the completion of a follow-up action when a task completes.</summary>
            <param name="task">The task.</param>
            <param name="next">The action to run when the task completes.</param>
            <returns>The task that represents the completion of both the task and the action.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskExtrasExtensions.Then``2(System.Threading.Tasks.Task{``0},System.Func{``0,``1})">
            <summary>Creates a task that represents the completion of a follow-up function when a task completes.</summary>
            <param name="task">The task.</param>
            <param name="next">The function to run when the task completes.</param>
            <returns>The task that represents the completion of both the task and the function.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskExtrasExtensions.Then(System.Threading.Tasks.Task,System.Func{System.Threading.Tasks.Task})">
            <summary>Creates a task that represents the completion of a second task when a first task completes.</summary>
            <param name="task">The first task.</param>
            <param name="next">The function that produces the second task.</param>
            <returns>The task that represents the completion of both the first and second task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskExtrasExtensions.Then``1(System.Threading.Tasks.Task{``0},System.Func{``0,System.Threading.Tasks.Task})">
            <summary>Creates a task that represents the completion of a second task when a first task completes.</summary>
            <param name="task">The first task.</param>
            <param name="next">The function that produces the second task based on the result of the first task.</param>
            <returns>The task that represents the completion of both the first and second task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskExtrasExtensions.Then``1(System.Threading.Tasks.Task,System.Func{System.Threading.Tasks.Task{``0}})">
            <summary>Creates a task that represents the completion of a second task when a first task completes.</summary>
            <param name="task">The first task.</param>
            <param name="next">The function that produces the second task.</param>
            <returns>The task that represents the completion of both the first and second task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskExtrasExtensions.Then``2(System.Threading.Tasks.Task{``0},System.Func{``0,System.Threading.Tasks.Task{``1}})">
            <summary>Creates a task that represents the completion of a second task when a first task completes.</summary>
            <param name="task">The first task.</param>
            <param name="next">The function that produces the second task based on the result of the first.</param>
            <returns>The task that represents the completion of both the first and second task.</returns>
        </member>
        <member name="T:System.Threading.Tasks.TaskExtrasExtensions.TaskObservable`1">
            <summary>An implementation of IObservable that wraps a Task.</summary>
            <typeparam name="TResult">The type of data returned by the task.</typeparam>
        </member>
        <member name="T:System.Threading.Tasks.TaskExtrasExtensions.CancelOnDispose">
            <summary>Translate a call to IDisposable.Dispose to a CancellationTokenSource.Cancel.</summary>
        </member>
        <member name="T:System.Threading.Tasks.TaskFactoryExtensions">
            <summary>Extensions for TaskFactory.</summary>
            <summary>Extensions for TaskFactory.</summary>
            <summary>Extensions for TaskFactory.</summary>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.ToGeneric``1(System.Threading.Tasks.TaskFactory)">
            <summary>Creates a generic TaskFactory from a non-generic one.</summary>
            <typeparam name="TResult">Specifies the type of Task results for the Tasks created by the new TaskFactory.</typeparam>
            <param name="factory">The TaskFactory to serve as a template.</param>
            <returns>The created TaskFactory.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.ToNonGeneric``1(System.Threading.Tasks.TaskFactory{``0})">
            <summary>Creates a generic TaskFactory from a non-generic one.</summary>
            <typeparam name="TResult">Specifies the type of Task results for the Tasks created by the new TaskFactory.</typeparam>
            <param name="factory">The TaskFactory to serve as a template.</param>
            <returns>The created TaskFactory.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.GetTargetScheduler(System.Threading.Tasks.TaskFactory)">
            <summary>Gets the TaskScheduler instance that should be used to schedule tasks.</summary>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.GetTargetScheduler``1(System.Threading.Tasks.TaskFactory{``0})">
            <summary>Gets the TaskScheduler instance that should be used to schedule tasks.</summary>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.ContinuationOptionsFromCreationOptions(System.Threading.Tasks.TaskCreationOptions)">
            <summary>Converts TaskCreationOptions into TaskContinuationOptions.</summary>
            <param name="creationOptions"></param>
            <returns></returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.WhenAll(System.Threading.Tasks.TaskFactory,System.Threading.Tasks.Task[])">
            <summary>
            Creates a continuation Task that will compplete upon
            the completion of a set of provided Tasks.
            </summary>
            <param name="factory">The TaskFactory to use to create the continuation task.</param>
            <param name="tasks">The array of tasks from which to continue.</param>
            <returns>A task that, when completed, will return the array of completed tasks.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.WhenAll``1(System.Threading.Tasks.TaskFactory,System.Threading.Tasks.Task{``0}[])">
            <summary>
            Creates a continuation Task that will compplete upon
            the completion of a set of provided Tasks.
            </summary>
            <param name="factory">The TaskFactory to use to create the continuation task.</param>
            <param name="tasks">The array of tasks from which to continue.</param>
            <returns>A task that, when completed, will return the array of completed tasks.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.WhenAny(System.Threading.Tasks.TaskFactory,System.Threading.Tasks.Task[])">
            <summary>
            Creates a continuation Task that will complete upon
            the completion of any one of a set of provided Tasks.
            </summary>
            <param name="factory">The TaskFactory to use to create the continuation task.</param>
            <param name="tasks">The array of tasks from which to continue.</param>
            <returns>A task that, when completed, will return the completed task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.WhenAny``1(System.Threading.Tasks.TaskFactory,System.Threading.Tasks.Task{``0}[])">
            <summary>
            Creates a continuation Task that will complete upon
            the completion of any one of a set of provided Tasks.
            </summary>
            <param name="factory">The TaskFactory to use to create the continuation task.</param>
            <param name="tasks">The array of tasks from which to continue.</param>
            <returns>A task that, when completed, will return the completed task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.Create(System.Threading.Tasks.TaskFactory,System.Action)">
            <summary>Creates a Task using the TaskFactory.</summary>
            <param name="factory">The factory to use.</param>
            <param name="action">The delegate for the task.</param>
            <returns>The created task.  The task has not been scheduled.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.Create(System.Threading.Tasks.TaskFactory,System.Action,System.Threading.Tasks.TaskCreationOptions)">
            <summary>Creates a Task using the TaskFactory.</summary>
            <param name="factory">The factory to use.</param>
            <param name="action">The delegate for the task.</param>
            <param name="creationOptions">Options that control the task's behavior.</param>
            <returns>The created task.  The task has not been scheduled.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.Create(System.Threading.Tasks.TaskFactory,System.Action{System.Object},System.Object)">
            <summary>Creates a Task using the TaskFactory.</summary>
            <param name="factory">The factory to use.</param>
            <param name="action">The delegate for the task.</param>
            <param name="state">An object provided to the delegate.</param>
            <returns>The created task.  The task has not been scheduled.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.Create(System.Threading.Tasks.TaskFactory,System.Action{System.Object},System.Object,System.Threading.Tasks.TaskCreationOptions)">
            <summary>Creates a Task using the TaskFactory.</summary>
            <param name="factory">The factory to use.</param>
            <param name="action">The delegate for the task.</param>
            <param name="state">An object provided to the delegate.</param>
            <param name="creationOptions">Options that control the task's behavior.</param>
            <returns>The created task.  The task has not been scheduled.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.Create``1(System.Threading.Tasks.TaskFactory,System.Func{``0})">
            <summary>Creates a Task using the TaskFactory.</summary>
            <param name="factory">The factory to use.</param>
            <param name="function">The delegate for the task.</param>
            <returns>The created task.  The task has not been scheduled.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.Create``1(System.Threading.Tasks.TaskFactory,System.Func{``0},System.Threading.Tasks.TaskCreationOptions)">
            <summary>Creates a Task using the TaskFactory.</summary>
            <param name="factory">The factory to use.</param>
            <param name="function">The delegate for the task.</param>
            <param name="creationOptions">Options that control the task's behavior.</param>
            <returns>The created task.  The task has not been scheduled.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.Create``1(System.Threading.Tasks.TaskFactory,System.Func{System.Object,``0},System.Object)">
            <summary>Creates a Task using the TaskFactory.</summary>
            <param name="factory">The factory to use.</param>
            <param name="function">The delegate for the task.</param>
            <param name="state">An object provided to the delegate.</param>
            <returns>The created task.  The task has not been scheduled.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.Create``1(System.Threading.Tasks.TaskFactory,System.Func{System.Object,``0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
            <summary>Creates a Task using the TaskFactory.</summary>
            <param name="factory">The factory to use.</param>
            <param name="function">The delegate for the task.</param>
            <param name="state">An object provided to the delegate.</param>
            <param name="creationOptions">Options that control the task's behavior.</param>
            <returns>The created task.  The task has not been scheduled.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.Create``1(System.Threading.Tasks.TaskFactory{``0},System.Func{``0})">
            <summary>Creates a Task using the TaskFactory.</summary>
            <param name="factory">The factory to use.</param>
            <param name="function">The delegate for the task.</param>
            <returns>The created task.  The task has not been scheduled.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.Create``1(System.Threading.Tasks.TaskFactory{``0},System.Func{``0},System.Threading.Tasks.TaskCreationOptions)">
            <summary>Creates a Task using the TaskFactory.</summary>
            <param name="factory">The factory to use.</param>
            <param name="function">The delegate for the task.</param>
            <param name="creationOptions">Options that control the task's behavior.</param>
            <returns>The created task.  The task has not been scheduled.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.Create``1(System.Threading.Tasks.TaskFactory{``0},System.Func{System.Object,``0},System.Object)">
            <summary>Creates a Task using the TaskFactory.</summary>
            <param name="factory">The factory to use.</param>
            <param name="function">The delegate for the task.</param>
            <param name="state">An object provided to the delegate.</param>
            <returns>The created task.  The task has not been scheduled.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.Create``1(System.Threading.Tasks.TaskFactory{``0},System.Func{System.Object,``0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
            <summary>Creates a Task using the TaskFactory.</summary>
            <param name="factory">The factory to use.</param>
            <param name="function">The delegate for the task.</param>
            <param name="state">An object provided to the delegate.</param>
            <param name="creationOptions">Options that control the task's behavior.</param>
            <returns>The created task.  The task has not been scheduled.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.StartNewDelayed(System.Threading.Tasks.TaskFactory,System.Int32)">
            <summary>Creates a Task that will complete after the specified delay.</summary>
            <param name="factory">The TaskFactory.</param>
            <param name="millisecondsDelay">The delay after which the Task should transition to RanToCompletion.</param>
            <returns>A Task that will be completed after the specified duration.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.StartNewDelayed(System.Threading.Tasks.TaskFactory,System.Int32,System.Threading.CancellationToken)">
            <summary>Creates a Task that will complete after the specified delay.</summary>
            <param name="factory">The TaskFactory.</param>
            <param name="millisecondsDelay">The delay after which the Task should transition to RanToCompletion.</param>
            <param name="cancellationToken">The cancellation token that can be used to cancel the timed task.</param>
            <returns>A Task that will be completed after the specified duration and that's cancelable with the specified token.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.StartNewDelayed(System.Threading.Tasks.TaskFactory,System.Int32,System.Action)">
            <summary>Creates and schedules a task for execution after the specified time delay.</summary>
            <param name="factory">The factory to use to create the task.</param>
            <param name="millisecondsDelay">The delay after which the task will be scheduled.</param>
            <param name="action">The delegate executed by the task.</param>
            <returns>The created Task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.StartNewDelayed(System.Threading.Tasks.TaskFactory,System.Int32,System.Action,System.Threading.Tasks.TaskCreationOptions)">
            <summary>Creates and schedules a task for execution after the specified time delay.</summary>
            <param name="factory">The factory to use to create the task.</param>
            <param name="millisecondsDelay">The delay after which the task will be scheduled.</param>
            <param name="action">The delegate executed by the task.</param>
            <param name="creationOptions">Options that control the task's behavior.</param>
            <returns>The created Task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.StartNewDelayed(System.Threading.Tasks.TaskFactory,System.Int32,System.Action,System.Threading.CancellationToken)">
            <summary>Creates and schedules a task for execution after the specified time delay.</summary>
            <param name="factory">The factory to use to create the task.</param>
            <param name="millisecondsDelay">The delay after which the task will be scheduled.</param>
            <param name="action">The delegate executed by the task.</param>
            <param name="cancellationToken">The cancellation token to assign to the created Task.</param>
            <returns>The created Task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.StartNewDelayed(System.Threading.Tasks.TaskFactory,System.Int32,System.Action,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
            <summary>Creates and schedules a task for execution after the specified time delay.</summary>
            <param name="factory">The factory to use to create the task.</param>
            <param name="millisecondsDelay">The delay after which the task will be scheduled.</param>
            <param name="action">The delegate executed by the task.</param>
            <param name="cancellationToken">The cancellation token to assign to the created Task.</param>
            <param name="creationOptions">Options that control the task's behavior.</param>
            <param name="scheduler">The scheduler to which the Task will be scheduled.</param>
            <returns>The created Task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.StartNewDelayed(System.Threading.Tasks.TaskFactory,System.Int32,System.Action{System.Object},System.Object)">
            <summary>Creates and schedules a task for execution after the specified time delay.</summary>
            <param name="factory">The factory to use to create the task.</param>
            <param name="millisecondsDelay">The delay after which the task will be scheduled.</param>
            <param name="action">The delegate executed by the task.</param>
            <param name="state">An object provided to the delegate.</param>
            <returns>The created Task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.StartNewDelayed(System.Threading.Tasks.TaskFactory,System.Int32,System.Action{System.Object},System.Object,System.Threading.Tasks.TaskCreationOptions)">
            <summary>Creates and schedules a task for execution after the specified time delay.</summary>
            <param name="factory">The factory to use to create the task.</param>
            <param name="millisecondsDelay">The delay after which the task will be scheduled.</param>
            <param name="action">The delegate executed by the task.</param>
            <param name="state">An object provided to the delegate.</param>
            <param name="creationOptions">Options that control the task's behavior.</param>
            <returns>The created Task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.StartNewDelayed(System.Threading.Tasks.TaskFactory,System.Int32,System.Action{System.Object},System.Object,System.Threading.CancellationToken)">
            <summary>Creates and schedules a task for execution after the specified time delay.</summary>
            <param name="factory">The factory to use to create the task.</param>
            <param name="millisecondsDelay">The delay after which the task will be scheduled.</param>
            <param name="action">The delegate executed by the task.</param>
            <param name="state">An object provided to the delegate.</param>
            <param name="cancellationToken">The cancellation token to assign to the created Task.</param>
            <returns>The created Task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.StartNewDelayed(System.Threading.Tasks.TaskFactory,System.Int32,System.Action{System.Object},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
            <summary>Creates and schedules a task for execution after the specified time delay.</summary>
            <param name="factory">The factory to use to create the task.</param>
            <param name="millisecondsDelay">The delay after which the task will be scheduled.</param>
            <param name="action">The delegate executed by the task.</param>
            <param name="state">An object provided to the delegate.</param>
            <param name="cancellationToken">The cancellation token to assign to the created Task.</param>
            <param name="creationOptions">Options that control the task's behavior.</param>
            <param name="scheduler">The scheduler to which the Task will be scheduled.</param>
            <returns>The created Task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.StartNewDelayed``1(System.Threading.Tasks.TaskFactory{``0},System.Int32,System.Func{``0})">
            <summary>Creates and schedules a task for execution after the specified time delay.</summary>
            <param name="factory">The factory to use to create the task.</param>
            <param name="millisecondsDelay">The delay after which the task will be scheduled.</param>
            <param name="function">The delegate executed by the task.</param>
            <returns>The created Task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.StartNewDelayed``1(System.Threading.Tasks.TaskFactory{``0},System.Int32,System.Func{``0},System.Threading.Tasks.TaskCreationOptions)">
            <summary>Creates and schedules a task for execution after the specified time delay.</summary>
            <param name="factory">The factory to use to create the task.</param>
            <param name="millisecondsDelay">The delay after which the task will be scheduled.</param>
            <param name="function">The delegate executed by the task.</param>
            <param name="creationOptions">Options that control the task's behavior.</param>
            <returns>The created Task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.StartNewDelayed``1(System.Threading.Tasks.TaskFactory{``0},System.Int32,System.Func{``0},System.Threading.CancellationToken)">
            <summary>Creates and schedules a task for execution after the specified time delay.</summary>
            <param name="factory">The factory to use to create the task.</param>
            <param name="millisecondsDelay">The delay after which the task will be scheduled.</param>
            <param name="function">The delegate executed by the task.</param>
            <param name="cancellationToken">The CancellationToken to assign to the Task.</param>
            <returns>The created Task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.StartNewDelayed``1(System.Threading.Tasks.TaskFactory{``0},System.Int32,System.Func{``0},System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
            <summary>Creates and schedules a task for execution after the specified time delay.</summary>
            <param name="factory">The factory to use to create the task.</param>
            <param name="millisecondsDelay">The delay after which the task will be scheduled.</param>
            <param name="function">The delegate executed by the task.</param>
            <param name="cancellationToken">The CancellationToken to assign to the Task.</param>
            <param name="creationOptions">Options that control the task's behavior.</param>
            <param name="scheduler">The scheduler to which the Task will be scheduled.</param>
            <returns>The created Task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.StartNewDelayed``1(System.Threading.Tasks.TaskFactory{``0},System.Int32,System.Func{System.Object,``0},System.Object)">
            <summary>Creates and schedules a task for execution after the specified time delay.</summary>
            <param name="factory">The factory to use to create the task.</param>
            <param name="millisecondsDelay">The delay after which the task will be scheduled.</param>
            <param name="function">The delegate executed by the task.</param>
            <param name="state">An object provided to the delegate.</param>
            <returns>The created Task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.StartNewDelayed``1(System.Threading.Tasks.TaskFactory{``0},System.Int32,System.Func{System.Object,``0},System.Object,System.Threading.CancellationToken)">
            <summary>Creates and schedules a task for execution after the specified time delay.</summary>
            <param name="factory">The factory to use to create the task.</param>
            <param name="millisecondsDelay">The delay after which the task will be scheduled.</param>
            <param name="function">The delegate executed by the task.</param>
            <param name="state">An object provided to the delegate.</param>
            <param name="cancellationToken">The CancellationToken to assign to the Task.</param>
            <returns>The created Task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.StartNewDelayed``1(System.Threading.Tasks.TaskFactory{``0},System.Int32,System.Func{System.Object,``0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
            <summary>Creates and schedules a task for execution after the specified time delay.</summary>
            <param name="factory">The factory to use to create the task.</param>
            <param name="millisecondsDelay">The delay after which the task will be scheduled.</param>
            <param name="function">The delegate executed by the task.</param>
            <param name="state">An object provided to the delegate.</param>
            <param name="creationOptions">Options that control the task's behavior.</param>
            <returns>The created Task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.StartNewDelayed``1(System.Threading.Tasks.TaskFactory{``0},System.Int32,System.Func{System.Object,``0},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
            <summary>Creates and schedules a task for execution after the specified time delay.</summary>
            <param name="factory">The factory to use to create the task.</param>
            <param name="millisecondsDelay">The delay after which the task will be scheduled.</param>
            <param name="function">The delegate executed by the task.</param>
            <param name="state">An object provided to the delegate.</param>
            <param name="cancellationToken">The CancellationToken to assign to the Task.</param>
            <param name="creationOptions">Options that control the task's behavior.</param>
            <param name="scheduler">The scheduler to which the Task will be scheduled.</param>
            <returns>The created Task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.FromException(System.Threading.Tasks.TaskFactory,System.Exception)">
            <summary>Creates a Task that has completed in the Faulted state with the specified exception.</summary>
            <param name="factory">The target TaskFactory.</param>
            <param name="exception">The exception with which the Task should fault.</param>
            <returns>The completed Task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.FromException``1(System.Threading.Tasks.TaskFactory,System.Exception)">
            <summary>Creates a Task that has completed in the Faulted state with the specified exception.</summary>
            <typeparam name="TResult">Specifies the type of payload for the new Task.</typeparam>
            <param name="factory">The target TaskFactory.</param>
            <param name="exception">The exception with which the Task should fault.</param>
            <returns>The completed Task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.FromResult``1(System.Threading.Tasks.TaskFactory,``0)">
            <summary>Creates a Task that has completed in the RanToCompletion state with the specified result.</summary>
            <typeparam name="TResult">Specifies the type of payload for the new Task.</typeparam>
            <param name="factory">The target TaskFactory.</param>
            <param name="result">The result with which the Task should complete.</param>
            <returns>The completed Task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.FromCancellation(System.Threading.Tasks.TaskFactory,System.Threading.CancellationToken)">
            <summary>Creates a Task that has completed in the Canceled state with the specified CancellationToken.</summary>
            <param name="factory">The target TaskFactory.</param>
            <param name="cancellationToken">The CancellationToken with which the Task should complete.</param>
            <returns>The completed Task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.FromCancellation``1(System.Threading.Tasks.TaskFactory,System.Threading.CancellationToken)">
            <summary>Creates a Task that has completed in the Canceled state with the specified CancellationToken.</summary>
            <typeparam name="TResult">Specifies the type of payload for the new Task.</typeparam>
            <param name="factory">The target TaskFactory.</param>
            <param name="cancellationToken">The CancellationToken with which the Task should complete.</param>
            <returns>The completed Task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.FromException``1(System.Threading.Tasks.TaskFactory{``0},System.Exception)">
            <summary>Creates a Task that has completed in the Faulted state with the specified exception.</summary>
            <param name="factory">The target TaskFactory.</param>
            <param name="exception">The exception with which the Task should fault.</param>
            <returns>The completed Task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.FromResult``1(System.Threading.Tasks.TaskFactory{``0},``0)">
            <summary>Creates a Task that has completed in the RanToCompletion state with the specified result.</summary>
            <typeparam name="TResult">Specifies the type of payload for the new Task.</typeparam>
            <param name="factory">The target TaskFactory.</param>
            <param name="result">The result with which the Task should complete.</param>
            <returns>The completed Task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.FromCancellation``1(System.Threading.Tasks.TaskFactory{``0},System.Threading.CancellationToken)">
            <summary>Creates a Task that has completed in the Canceled state with the specified CancellationToken.</summary>
            <typeparam name="TResult">Specifies the type of payload for the new Task.</typeparam>
            <param name="factory">The target TaskFactory.</param>
            <param name="cancellationToken">The CancellationToken with which the Task should complete.</param>
            <returns>The completed Task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.FromAsync(System.Threading.Tasks.TaskFactory,System.Threading.WaitHandle)">
            <summary>Creates a Task that will be completed when the specified WaitHandle is signaled.</summary>
            <param name="factory">The target factory.</param>
            <param name="waitHandle">The WaitHandle.</param>
            <returns>The created Task.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.Iterate(System.Threading.Tasks.TaskFactory,System.Collections.Generic.IEnumerable{System.Object})">
            <summary>Asynchronously iterates through an enumerable of tasks.</summary>
            <param name="factory">The target factory.</param>
            <param name="source">The enumerable containing the tasks to be iterated through.</param>
            <returns>A Task that represents the complete asynchronous operation.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.Iterate(System.Threading.Tasks.TaskFactory,System.Collections.Generic.IEnumerable{System.Object},System.Threading.CancellationToken)">
            <summary>Asynchronously iterates through an enumerable of tasks.</summary>
            <param name="factory">The target factory.</param>
            <param name="source">The enumerable containing the tasks to be iterated through.</param>
            <param name="cancellationToken">The cancellation token used to cancel the iteration.</param>
            <returns>A Task that represents the complete asynchronous operation.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.Iterate(System.Threading.Tasks.TaskFactory,System.Collections.Generic.IEnumerable{System.Object},System.Threading.Tasks.TaskCreationOptions)">
            <summary>Asynchronously iterates through an enumerable of tasks.</summary>
            <param name="factory">The target factory.</param>
            <param name="source">The enumerable containing the tasks to be iterated through.</param>
            <param name="creationOptions">Options that control the task's behavior.</param>
            <returns>A Task that represents the complete asynchronous operation.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.Iterate(System.Threading.Tasks.TaskFactory,System.Collections.Generic.IEnumerable{System.Object},System.Threading.Tasks.TaskScheduler)">
            <summary>Asynchronously iterates through an enumerable of tasks.</summary>
            <param name="factory">The target factory.</param>
            <param name="source">The enumerable containing the tasks to be iterated through.</param>
            <param name="scheduler">The scheduler to which tasks will be scheduled.</param>
            <returns>A Task that represents the complete asynchronous operation.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.Iterate(System.Threading.Tasks.TaskFactory,System.Collections.Generic.IEnumerable{System.Object},System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
            <summary>Asynchronously iterates through an enumerable of tasks.</summary>
            <param name="factory">The target factory.</param>
            <param name="source">The enumerable containing the tasks to be iterated through.</param>
            <param name="cancellationToken">The cancellation token used to cancel the iteration.</param>
            <param name="creationOptions">Options that control the task's behavior.</param>
            <param name="scheduler">The scheduler to which tasks will be scheduled.</param>
            <returns>A Task that represents the complete asynchronous operation.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.Iterate(System.Threading.Tasks.TaskFactory,System.Collections.Generic.IEnumerable{System.Object},System.Object)">
            <summary>Asynchronously iterates through an enumerable of tasks.</summary>
            <param name="factory">The target factory.</param>
            <param name="source">The enumerable containing the tasks to be iterated through.</param>
            <param name="state">The asynchronous state for the returned Task.</param>
            <returns>A Task that represents the complete asynchronous operation.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.Iterate(System.Threading.Tasks.TaskFactory,System.Collections.Generic.IEnumerable{System.Object},System.Object,System.Threading.CancellationToken)">
            <summary>Asynchronously iterates through an enumerable of tasks.</summary>
            <param name="factory">The target factory.</param>
            <param name="source">The enumerable containing the tasks to be iterated through.</param>
            <param name="state">The asynchronous state for the returned Task.</param>
            <param name="cancellationToken">The cancellation token used to cancel the iteration.</param>
            <returns>A Task that represents the complete asynchronous operation.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.Iterate(System.Threading.Tasks.TaskFactory,System.Collections.Generic.IEnumerable{System.Object},System.Object,System.Threading.Tasks.TaskCreationOptions)">
            <summary>Asynchronously iterates through an enumerable of tasks.</summary>
            <param name="factory">The target factory.</param>
            <param name="source">The enumerable containing the tasks to be iterated through.</param>
            <param name="state">The asynchronous state for the returned Task.</param>
            <param name="creationOptions">Options that control the task's behavior.</param>
            <returns>A Task that represents the complete asynchronous operation.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.Iterate(System.Threading.Tasks.TaskFactory,System.Collections.Generic.IEnumerable{System.Object},System.Object,System.Threading.Tasks.TaskScheduler)">
            <summary>Asynchronously iterates through an enumerable of tasks.</summary>
            <param name="factory">The target factory.</param>
            <param name="source">The enumerable containing the tasks to be iterated through.</param>
            <param name="state">The asynchronous state for the returned Task.</param>
            <param name="scheduler">The scheduler to which tasks will be scheduled.</param>
            <returns>A Task that represents the complete asynchronous operation.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.Iterate(System.Threading.Tasks.TaskFactory,System.Collections.Generic.IEnumerable{System.Object},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
            <summary>Asynchronously iterates through an enumerable of tasks.</summary>
            <param name="factory">The target factory.</param>
            <param name="source">The enumerable containing the tasks to be iterated through.</param>
            <param name="state">The asynchronous state for the returned Task.</param>
            <param name="cancellationToken">The cancellation token used to cancel the iteration.</param>
            <param name="creationOptions">Options that control the task's behavior.</param>
            <param name="scheduler">The scheduler to which tasks will be scheduled.</param>
            <returns>A Task that represents the complete asynchronous operation.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.TrackedSequence(System.Threading.Tasks.TaskFactory,System.Func{System.Threading.Tasks.Task}[])">
            <summary>Asynchronously executes a sequence of tasks, maintaining a list of all tasks processed.</summary>
            <param name="factory">The TaskFactory to use to create the task.</param>
            <param name="functions">
            The functions that generate the tasks through which to iterate sequentially.
            Iteration will cease if a task faults.
            </param>
            <returns>A Task that will return the list of tracked tasks iterated.</returns>
        </member>
        <member name="M:System.Threading.Tasks.TaskFactoryExtensions.TrackedSequenceInternal(System.Collections.Generic.IEnumerable{System.Func{System.Threading.Tasks.Task}},System.Threading.Tasks.TaskCompletionSource{System.Collections.Generic.IList{System.Threading.Tasks.Task}})">
            <summary>Creates the enumerable to iterate through with Iterate.</summary>
            <param name="functions">
            The functions that generate the tasks through which to iterate sequentially.
            Iteration will cease if a task faults.
            </param>
            <param name="tcs">The TaskCompletionSource to resolve with the asynchronous results.</param>
            <returns>The enumerable through which to iterate.</returns>
        </member>
        <member name="T:System.Threading.Tasks.TaskFactoryExtensions.DelegateCache`1">
            <summary>A cache of delegates.</summary>
            <typeparam name="TResult">The result type.</typeparam>
        </member>
        <member name="F:System.Threading.Tasks.TaskFactoryExtensions.DelegateCache`1.DefaultResult">
            <summary>Function that returns default(TResult).</summary>
        </member>
        <member name="T:System.Threading.Tasks.TaskSchedulerExtensions">
            <summary>Extension methods for TaskScheduler.</summary>
        </member>
        <member name="M:System.Threading.Tasks.TaskSchedulerExtensions.ToSynchronizationContext(System.Threading.Tasks.TaskScheduler)">
            <summary>Gets a SynchronizationContext that targets this TaskScheduler.</summary>
            <param name="scheduler">The target scheduler.</param>
            <returns>A SynchronizationContext that targets this scheduler.</returns>
        </member>
        <member name="T:System.Threading.Tasks.TaskSchedulerExtensions.TaskSchedulerSynchronizationContext">
            <summary>Provides a SynchronizationContext wrapper for a TaskScheduler.</summary>
        </member>
        <member name="F:System.Threading.Tasks.TaskSchedulerExtensions.TaskSchedulerSynchronizationContext._scheduler">
            <summary>The scheduler.</summary>
        </member>
        <member name="M:System.Threading.Tasks.TaskSchedulerExtensions.TaskSchedulerSynchronizationContext.#ctor(System.Threading.Tasks.TaskScheduler)">
            <summary>Initializes the context with the specified scheduler.</summary>
            <param name="scheduler">The scheduler to target.</param>
        </member>
        <member name="M:System.Threading.Tasks.TaskSchedulerExtensions.TaskSchedulerSynchronizationContext.Post(System.Threading.SendOrPostCallback,System.Object)">
            <summary>Dispatches an asynchronous message to the synchronization context.</summary>
            <param name="d">The System.Threading.SendOrPostCallback delegate to call.</param>
            <param name="state">The object passed to the delegate.</param>
        </member>
        <member name="M:System.Threading.Tasks.TaskSchedulerExtensions.TaskSchedulerSynchronizationContext.Send(System.Threading.SendOrPostCallback,System.Object)">
            <summary>Dispatches a synchronous message to the synchronization context.</summary>
            <param name="d">The System.Threading.SendOrPostCallback delegate to call.</param>
            <param name="state">The object passed to the delegate.</param>
        </member>
        <member name="T:System.Threading.Algorithms.ParallelAlgorithms">
            <summary>
            Provides parallelized algorithms for common operations.
            </summary>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.Filter``1(System.Collections.Generic.IList{``0},System.Func{``0,System.Boolean})">
            <summary>Filters an input list, running a predicate over each element of the input.</summary>
            <typeparam name="T">Specifies the type of data in the list.</typeparam>
            <param name="input">The list to be filtered.</param>
            <param name="predicate">The predicate to use to determine which elements pass.</param>
            <returns>A new list containing all those elements from the input that passed the filter.</returns>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.Filter``1(System.Collections.Generic.IList{``0},System.Threading.Tasks.ParallelOptions,System.Func{``0,System.Boolean})">
            <summary>Filters an input list, running a predicate over each element of the input.</summary>
            <typeparam name="T">Specifies the type of data in the list.</typeparam>
            <param name="input">The list to be filtered.</param>
            <param name="parallelOptions">Options to use for the execution of this filter.</param>
            <param name="predicate">The predicate to use to determine which elements pass.</param>
            <returns>A new list containing all those elements from the input that passed the filter.</returns>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.For(System.Numerics.BigInteger,System.Numerics.BigInteger,System.Action{System.Numerics.BigInteger})">
            <summary>Executes a for loop in which iterations may run in parallel.</summary>
            <param name="fromInclusive">The start index, inclusive.</param>
            <param name="toExclusive">The end index, exclusive.</param>
            <param name="body">The delegate that is invoked once per iteration.</param>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.For(System.Numerics.BigInteger,System.Numerics.BigInteger,System.Threading.Tasks.ParallelOptions,System.Action{System.Numerics.BigInteger})">
            <summary>Executes a for loop in which iterations may run in parallel.</summary>
            <param name="fromInclusive">The start index, inclusive.</param>
            <param name="toExclusive">The end index, exclusive.</param>
            <param name="options">A System.Threading.Tasks.ParallelOptions instance that configures the behavior of this operation.</param>
            <param name="body">The delegate that is invoked once per iteration.</param>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.Range(System.Numerics.BigInteger,System.Numerics.BigInteger)">
            <summary>Creates an enumerable that iterates the range [fromInclusive, toExclusive).</summary>
            <param name="fromInclusive">The lower bound, inclusive.</param>
            <param name="toExclusive">The upper bound, exclusive.</param>
            <returns>The enumerable of the range.</returns>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.ForRange(System.Int32,System.Int32,System.Action{System.Int32,System.Int32})">
            <summary>Executes a for loop over ranges in which iterations may run in parallel. </summary>
            <param name="fromInclusive">The start index, inclusive.</param>
            <param name="toExclusive">The end index, exclusive.</param>
            <param name="body">The delegate that is invoked once per range.</param>
            <returns>A ParallelLoopResult structure that contains information on what portion of the loop completed.</returns>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.ForRange(System.Int32,System.Int32,System.Action{System.Int32,System.Int32,System.Threading.Tasks.ParallelLoopState})">
            <summary>Executes a for loop over ranges in which iterations may run in parallel. </summary>
            <param name="fromInclusive">The start index, inclusive.</param>
            <param name="toExclusive">The end index, exclusive.</param>
            <param name="body">The delegate that is invoked once per range.</param>
            <returns>A ParallelLoopResult structure that contains information on what portion of the loop completed.</returns>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.ForRange``1(System.Int32,System.Int32,System.Func{``0},System.Func{System.Int32,System.Int32,System.Threading.Tasks.ParallelLoopState,``0,``0},System.Action{``0})">
            <summary>Executes a for loop over ranges in which iterations may run in parallel. </summary>
            <param name="fromInclusive">The start index, inclusive.</param>
            <param name="toExclusive">The end index, exclusive.</param>
            <param name="localInit">The function delegate that returns the initial state of the local data for each thread.</param>
            <param name="body">The delegate that is invoked once per range.</param>
            <param name="localFinally">The delegate that performs a final action on the local state of each thread.</param>
            <returns>A ParallelLoopResult structure that contains information on what portion of the loop completed.</returns>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.ForRange(System.Int64,System.Int64,System.Action{System.Int64,System.Int64})">
            <summary>Executes a for loop over ranges in which iterations may run in parallel. </summary>
            <param name="fromInclusive">The start index, inclusive.</param>
            <param name="toExclusive">The end index, exclusive.</param>
            <param name="body">The delegate that is invoked once per range.</param>
            <returns>A ParallelLoopResult structure that contains information on what portion of the loop completed.</returns>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.ForRange(System.Int64,System.Int64,System.Action{System.Int64,System.Int64,System.Threading.Tasks.ParallelLoopState})">
            <summary>Executes a for loop over ranges in which iterations may run in parallel. </summary>
            <param name="fromInclusive">The start index, inclusive.</param>
            <param name="toExclusive">The end index, exclusive.</param>
            <param name="body">The delegate that is invoked once per range.</param>
            <returns>A ParallelLoopResult structure that contains information on what portion of the loop completed.</returns>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.ForRange``1(System.Int64,System.Int64,System.Func{``0},System.Func{System.Int64,System.Int64,System.Threading.Tasks.ParallelLoopState,``0,``0},System.Action{``0})">
            <summary>Executes a for loop over ranges in which iterations may run in parallel. </summary>
            <param name="fromInclusive">The start index, inclusive.</param>
            <param name="toExclusive">The end index, exclusive.</param>
            <param name="localInit">The function delegate that returns the initial state of the local data for each thread.</param>
            <param name="body">The delegate that is invoked once per range.</param>
            <param name="localFinally">The delegate that performs a final action on the local state of each thread.</param>
            <returns>A ParallelLoopResult structure that contains information on what portion of the loop completed.</returns>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.ForRange(System.Int32,System.Int32,System.Threading.Tasks.ParallelOptions,System.Action{System.Int32,System.Int32})">
            <summary>Executes a for loop over ranges in which iterations may run in parallel. </summary>
            <param name="fromInclusive">The start index, inclusive.</param>
            <param name="toExclusive">The end index, exclusive.</param>
            <param name="parallelOptions">A ParallelOptions instance that configures the behavior of this operation.</param>
            <param name="body">The delegate that is invoked once per range.</param>
            <returns>A ParallelLoopResult structure that contains information on what portion of the loop completed.</returns>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.ForRange(System.Int32,System.Int32,System.Threading.Tasks.ParallelOptions,System.Action{System.Int32,System.Int32,System.Threading.Tasks.ParallelLoopState})">
            <summary>Executes a for loop over ranges in which iterations may run in parallel. </summary>
            <param name="fromInclusive">The start index, inclusive.</param>
            <param name="toExclusive">The end index, exclusive.</param>
            <param name="parallelOptions">A ParallelOptions instance that configures the behavior of this operation.</param>
            <param name="body">The delegate that is invoked once per range.</param>
            <returns>A ParallelLoopResult structure that contains information on what portion of the loop completed.</returns>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.ForRange``1(System.Int32,System.Int32,System.Threading.Tasks.ParallelOptions,System.Func{``0},System.Func{System.Int32,System.Int32,System.Threading.Tasks.ParallelLoopState,``0,``0},System.Action{``0})">
            <summary>Executes a for loop over ranges in which iterations may run in parallel. </summary>
            <param name="fromInclusive">The start index, inclusive.</param>
            <param name="toExclusive">The end index, exclusive.</param>
            <param name="parallelOptions"></param>
            <param name="localInit">The function delegate that returns the initial state of the local data for each thread.</param>
            <param name="body">The delegate that is invoked once per range.</param>
            <param name="localFinally">The delegate that performs a final action on the local state of each thread.</param>
            <returns>A ParallelLoopResult structure that contains information on what portion of the loop completed.</returns>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.ForRange(System.Int64,System.Int64,System.Threading.Tasks.ParallelOptions,System.Action{System.Int64,System.Int64})">
            <summary>Executes a for loop over ranges in which iterations may run in parallel. </summary>
            <param name="fromInclusive">The start index, inclusive.</param>
            <param name="toExclusive">The end index, exclusive.</param>
            <param name="parallelOptions">A ParallelOptions instance that configures the behavior of this operation.</param>
            <param name="body">The delegate that is invoked once per range.</param>
            <returns>A ParallelLoopResult structure that contains information on what portion of the loop completed.</returns>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.ForRange(System.Int64,System.Int64,System.Threading.Tasks.ParallelOptions,System.Action{System.Int64,System.Int64,System.Threading.Tasks.ParallelLoopState})">
            <summary>Executes a for loop over ranges in which iterations may run in parallel. </summary>
            <param name="fromInclusive">The start index, inclusive.</param>
            <param name="toExclusive">The end index, exclusive.</param>
            <param name="parallelOptions">A ParallelOptions instance that configures the behavior of this operation.</param>
            <param name="body">The delegate that is invoked once per range.</param>
            <returns>A ParallelLoopResult structure that contains information on what portion of the loop completed.</returns>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.ForRange``1(System.Int64,System.Int64,System.Threading.Tasks.ParallelOptions,System.Func{``0},System.Func{System.Int64,System.Int64,System.Threading.Tasks.ParallelLoopState,``0,``0},System.Action{``0})">
            <summary>Executes a for loop over ranges in which iterations may run in parallel. </summary>
            <param name="fromInclusive">The start index, inclusive.</param>
            <param name="toExclusive">The end index, exclusive.</param>
            <param name="parallelOptions"></param>
            <param name="localInit">The function delegate that returns the initial state of the local data for each thread.</param>
            <param name="body">The delegate that is invoked once per range.</param>
            <param name="localFinally">The delegate that performs a final action on the local state of each thread.</param>
            <returns>A ParallelLoopResult structure that contains information on what portion of the loop completed.</returns>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.Map``2(System.Collections.Generic.IList{``0},System.Func{``0,``1})">
            <summary>Executes a map operation, converting an input list into an output list, in parallel.</summary>
            <typeparam name="TInput">Specifies the type of the input data.</typeparam>
            <typeparam name="TOutput">Specifies the type of the output data.</typeparam>
            <param name="input">The input list to be mapped used the transform function.</param>
            <param name="transform">The transform function to use to map the input data to the output data.</param>
            <returns>The output data, transformed using the transform function.</returns>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.Map``2(System.Collections.Generic.IList{``0},System.Threading.Tasks.ParallelOptions,System.Func{``0,``1})">
            <summary>Executes a map operation, converting an input list into an output list, in parallel.</summary>
            <typeparam name="TInput">Specifies the type of the input data.</typeparam>
            <typeparam name="TOutput">Specifies the type of the output data.</typeparam>
            <param name="input">The input list to be mapped used the transform function.</param>
            <param name="parallelOptions">A ParallelOptions instance that configures the behavior of this operation.</param>
            <param name="transform">The transform function to use to map the input data to the output data.</param>
            <returns>The output data, transformed using the transform function.</returns>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.Reduce``1(System.Collections.Generic.IList{``0},``0,System.Func{``0,``0,``0})">
            <summary>Reduces the input data using the specified aggregation operation.</summary>
            <typeparam name="T">Specifies the type of data being aggregated.</typeparam>
            <param name="input">The input data to be reduced.</param>
            <param name="seed">The seed to use to initialize the operation; this seed may be used multiple times.</param>
            <param name="associativeCommutativeOperation">The reduction operation.</param>
            <returns>The reduced value.</returns>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.Reduce``1(System.Collections.Generic.IList{``0},System.Threading.Tasks.ParallelOptions,``0,System.Func{``0,``0,``0})">
            <summary>Reduces the input data using the specified aggregation operation.</summary>
            <typeparam name="T">Specifies the type of data being aggregated.</typeparam>
            <param name="input">The input data to be reduced.</param>
            <param name="parallelOptions">A ParallelOptions instance that configures the behavior of this operation.</param>
            <param name="seed">The seed to use to initialize the operation; this seed may be used multiple times.</param>
            <param name="associativeCommutativeOperation">The reduction operation.</param>
            <returns>The reduced value.</returns>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.Reduce``1(System.Int32,System.Int32,System.Func{System.Int32,``0},``0,System.Func{``0,``0,``0})">
            <summary>Reduces the input range using the specified aggregation operation.</summary>
            <typeparam name="T">Specifies the type of data being aggregated.</typeparam>
            <param name="fromInclusive">The start index, inclusive.</param>
            <param name="toExclusive">The end index, exclusive.</param>
            <param name="mapOperation">The function used to retrieve the data to be reduced for a given index.</param>
            <param name="seed">The seed to use to initialize the operation; this seed may be used multiple times.</param>
            <param name="associativeCommutativeOperation">The reduction operation.</param>
            <returns>The reduced value.</returns>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.Reduce``1(System.Int32,System.Int32,System.Threading.Tasks.ParallelOptions,System.Func{System.Int32,``0},``0,System.Func{``0,``0,``0})">
            <summary>Reduces the input range using the specified aggregation operation.</summary>
            <typeparam name="T">Specifies the type of data being aggregated.</typeparam>
            <param name="fromInclusive">The start index, inclusive.</param>
            <param name="toExclusive">The end index, exclusive.</param>
            <param name="parallelOptions">A ParallelOptions instance that configures the behavior of this operation.</param>
            <param name="mapOperation">The function used to retrieve the data to be reduced for a given index.</param>
            <param name="seed">The seed to use to initialize the operation; this seed may be used multiple times.</param>
            <param name="associativeCommutativeOperation">The reduction operation.</param>
            <returns>The reduced value.</returns>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.Scan``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``0,``0})">
            <summary>Computes a parallel prefix scan over the source enumerable using the specified function.</summary>
            <typeparam name="T">The type of the data in the source.</typeparam>
            <param name="source">The source data over which a prefix scan should be computed.</param>
            <param name="function">The function to use for the scan.</param>
            <returns>The results of the scan operation.</returns>
            <remarks>
            For very small functions, such as additions, an implementation targeted
            at the relevant type and operation will perform significantly better than
            this generalized implementation.
            </remarks>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.Scan``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``0,``0},System.Boolean)">
            <summary>Computes a parallel prefix scan over the source enumerable using the specified function.</summary>
            <typeparam name="T">The type of the data in the source.</typeparam>
            <param name="source">The source data over which a prefix scan should be computed.</param>
            <param name="function">The function to use for the scan.</param>
            <param name="loadBalance">Whether to load-balance during process.</param>
            <returns>The results of the scan operation.</returns>
            <remarks>
            For very small functions, such as additions, an implementation targeted
            at the relevant type and operation will perform significantly better than
            this generalized implementation.
            </remarks>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.ScanInPlace``1(``0[],System.Func{``0,``0,``0})">
            <summary>Computes a parallel prefix scan in-place on an array using the specified function.</summary>
            <typeparam name="T">The type of the data in the source.</typeparam>
            <param name="data">The data over which a prefix scan should be computed. Upon exit, stores the results.</param>
            <param name="function">The function to use for the scan.</param>
            <returns>The results of the scan operation.</returns>
            <remarks>
            For very small functions, such as additions, an implementation targeted
            at the relevant type and operation will perform significantly better than
            this generalized implementation.
            </remarks>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.ScanInPlace``1(``0[],System.Func{``0,``0,``0},System.Boolean)">
            <summary>Computes a parallel prefix scan in-place on an array using the specified function.</summary>
            <typeparam name="T">The type of the data in the source.</typeparam>
            <param name="data">The data over which a prefix scan should be computed. Upon exit, stores the results.</param>
            <param name="function">The function to use for the scan.</param>
            <param name="loadBalance">Whether to load-balance during process.</param>
            <returns>The results of the scan operation.</returns>
            <remarks>
            For very small functions, such as additions, an implementation targeted
            at the relevant type and operation will perform significantly better than
            this generalized implementation.
            </remarks>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.InclusiveScanInPlaceSerial``1(``0[],System.Func{``0,``0,``0},System.Int32,System.Int32,System.Int32)">
            <summary>Computes a sequential prefix scan over the array using the specified function.</summary>
            <typeparam name="T">The type of the data in the array.</typeparam>
            <param name="arr">The data, which will be overwritten with the computed prefix scan.</param>
            <param name="function">The function to use for the scan.</param>
            <param name="arrStart">The start of the data in arr over which the scan is being computed.</param>
            <param name="arrLength">The length of the data in arr over which the scan is being computed.</param>
            <param name="skip">The inclusive distance between elements over which the scan is being computed.</param>
            <remarks>No parameter validation is performed.</remarks>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.ExclusiveScanInPlaceSerial``1(``0[],System.Func{``0,``0,``0},System.Int32,System.Int32)">
            <summary>Computes a sequential exclusive prefix scan over the array using the specified function.</summary>
            <param name="arr">The data, which will be overwritten with the computed prefix scan.</param>
            <param name="function">The function to use for the scan.</param>
            <param name="lowerBoundInclusive">The inclusive lower bound of the array at which to start the scan.</param>
            <param name="upperBoundExclusive">The exclusive upper bound of the array at which to end the scan.</param>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.InclusiveScanInPlaceWithLoadBalancingParallel``1(``0[],System.Func{``0,``0,``0},System.Int32,System.Int32,System.Int32)">
            <summary>Computes a parallel prefix scan over the array using the specified function.</summary>
            <typeparam name="T">The type of the data in the array.</typeparam>
            <param name="arr">The data, which will be overwritten with the computed prefix scan.</param>
            <param name="function">The function to use for the scan.</param>
            <param name="arrStart">The start of the data in arr over which the scan is being computed.</param>
            <param name="arrLength">The length of the data in arr over which the scan is being computed.</param>
            <param name="skip">The inclusive distance between elements over which the scan is being computed.</param>
            <remarks>No parameter validation is performed.</remarks>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.InclusiveScanInPlaceParallel``1(``0[],System.Func{``0,``0,``0})">
            <summary>Computes a parallel inclusive prefix scan over the array using the specified function.</summary>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.Sort``1(``0[])">
            <summary>Sorts an array in parallel.</summary>
            <typeparam name="T">Specifies the type of data in the array.</typeparam>
            <param name="array">The array to be sorted.</param>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.Sort``1(``0[],System.Collections.Generic.IComparer{``0})">
            <summary>Sorts an array in parallel.</summary>
            <typeparam name="T">Specifies the type of data in the array.</typeparam>
            <param name="array">The array to be sorted.</param>
            <param name="comparer">The comparer used to compare two elements during the sort operation.</param>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.Sort``1(``0[],System.Int32,System.Int32)">
            <summary>Sorts an array in parallel.</summary>
            <typeparam name="T">Specifies the type of data in the array.</typeparam>
            <param name="array">The array to be sorted.</param>
            <param name="index">The index at which to start the sort, inclusive.</param>
            <param name="length">The number of elements to be sorted, starting at the start index.</param>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.Sort``1(``0[],System.Int32,System.Int32,System.Collections.Generic.IComparer{``0})">
            <summary>Sorts an array in parallel.</summary>
            <typeparam name="T">Specifies the type of data in the array.</typeparam>
            <param name="array">The array to be sorted.</param>
            <param name="index">The index at which to start the sort, inclusive.</param>
            <param name="length">The number of elements to be sorted, starting at the start index.</param>
            <param name="comparer">The comparer used to compare two elements during the sort operation.</param>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.Sort``2(``0[],``1[])">
            <summary>Sorts key/value arrays in parallel.</summary>
            <typeparam name="TKey">Specifies the type of the data in the keys array.</typeparam>
            <typeparam name="TValue">Specifies the type of the data in the items array.</typeparam>
            <param name="keys">The keys to be sorted.</param>
            <param name="items">The items to be sorted based on the corresponding keys.</param>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.Sort``2(``0[],``1[],System.Collections.Generic.IComparer{``0})">
            <summary>Sorts key/value arrays in parallel.</summary>
            <typeparam name="TKey">Specifies the type of the data in the keys array.</typeparam>
            <typeparam name="TValue">Specifies the type of the data in the items array.</typeparam>
            <param name="keys">The keys to be sorted.</param>
            <param name="items">The items to be sorted based on the corresponding keys.</param>
            <param name="comparer">The comparer used to compare two elements during the sort operation.</param>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.Sort``2(``0[],``1[],System.Int32,System.Int32)">
            <summary>Sorts key/value arrays in parallel.</summary>
            <typeparam name="TKey">Specifies the type of the data in the keys array.</typeparam>
            <typeparam name="TValue">Specifies the type of the data in the items array.</typeparam>
            <param name="keys">The keys to be sorted.</param>
            <param name="items">The items to be sorted based on the corresponding keys.</param>
            <param name="index">The index at which to start the sort, inclusive.</param>
            <param name="length">The number of elements to be sorted, starting at the start index.</param>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.Sort``2(``0[],``1[],System.Int32,System.Int32,System.Collections.Generic.IComparer{``0})">
            <summary>Sorts key/value arrays in parallel.</summary>
            <typeparam name="TKey">Specifies the type of the data in the keys array.</typeparam>
            <typeparam name="TValue">Specifies the type of the data in the items array.</typeparam>
            <param name="keys">The keys to be sorted.</param>
            <param name="items">The items to be sorted based on the corresponding keys.</param>
            <param name="index">The index at which to start the sort, inclusive.</param>
            <param name="length">The number of elements to be sorted, starting at the start index.</param>
            <param name="comparer">The comparer used to compare two elements during the sort operation.</param>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.SpeculativeFor``1(System.Int32,System.Int32,System.Func{System.Int32,``0})">
            <summary>Executes a function for each value in a range, returning the first result achieved and ceasing execution.</summary>
            <typeparam name="TResult">The type of the data returned.</typeparam>
            <param name="fromInclusive">The start of the range, inclusive.</param>
            <param name="toExclusive">The end of the range, exclusive.</param>
            <param name="body">The function to execute for each element.</param>
            <returns>The result computed.</returns>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.SpeculativeFor``1(System.Int32,System.Int32,System.Threading.Tasks.ParallelOptions,System.Func{System.Int32,``0})">
            <summary>Executes a function for each value in a range, returning the first result achieved and ceasing execution.</summary>
            <typeparam name="TResult">The type of the data returned.</typeparam>
            <param name="fromInclusive">The start of the range, inclusive.</param>
            <param name="toExclusive">The end of the range, exclusive.</param>
            <param name="options">The options to use for processing the loop.</param>
            <param name="body">The function to execute for each element.</param>
            <returns>The result computed.</returns>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.SpeculativeForEach``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1})">
            <summary>Executes a function for each element in a source, returning the first result achieved and ceasing execution.</summary>
            <typeparam name="TSource">The type of the data in the source.</typeparam>
            <typeparam name="TResult">The type of the data returned.</typeparam>
            <param name="source">The input elements to be processed.</param>
            <param name="body">The function to execute for each element.</param>
            <returns>The result computed.</returns>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.SpeculativeForEach``2(System.Collections.Generic.IEnumerable{``0},System.Threading.Tasks.ParallelOptions,System.Func{``0,``1})">
            <summary>Executes a function for each element in a source, returning the first result achieved and ceasing execution.</summary>
            <typeparam name="TSource">The type of the data in the source.</typeparam>
            <typeparam name="TResult">The type of the data returned.</typeparam>
            <param name="source">The input elements to be processed.</param>
            <param name="options">The options to use for processing the loop.</param>
            <param name="body">The function to execute for each element.</param>
            <returns>The result computed.</returns>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.SpeculativeInvoke``1(System.Func{``0}[])">
            <summary>Invokes the specified functions, potentially in parallel, canceling outstanding invocations once one completes.</summary>
            <typeparam name="T">Specifies the type of data returned by the functions.</typeparam>
            <param name="functions">The functions to be executed.</param>
            <returns>A result from executing one of the functions.</returns>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.SpeculativeInvoke``1(System.Threading.Tasks.ParallelOptions,System.Func{``0}[])">
            <summary>Invokes the specified functions, potentially in parallel, canceling outstanding invocations once one completes.</summary>
            <typeparam name="T">Specifies the type of data returned by the functions.</typeparam>
            <param name="options">The options to use for the execution.</param>
            <param name="functions">The functions to be executed.</param>
            <returns>A result from executing one of the functions.</returns>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.Wavefront(System.Int32,System.Int32,System.Int32,System.Int32,System.Action{System.Int32,System.Int32,System.Int32,System.Int32})">
            <summary>Process in parallel a matrix where every cell has a dependency on the cell above it and to its left.</summary>
            <param name="numRows">The number of rows in the matrix.</param>
            <param name="numColumns">The number of columns in the matrix.</param>
            <param name="numBlocksPerRow">Partition the matrix into this number of blocks along the rows.</param>
            <param name="numBlocksPerColumn">Partition the matrix into this number of blocks along the columns.</param>
            <param name="processBlock">The action to invoke for every block, supplied with the start and end indices of the rows and columns.</param>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.Wavefront(System.Int32,System.Int32,System.Action{System.Int32,System.Int32})">
            <summary>Process in parallel a matrix where every cell has a dependency on the cell above it and to its left.</summary>
            <param name="numRows">The number of rows in the matrix.</param>
            <param name="numColumns">The number of columns in the matrix.</param>
            <param name="processRowColumnCell">The action to invoke for every cell, supplied with the row and column indices.</param>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.ParallelWhile(System.Func{System.Boolean},System.Action)">
            <summary>Repeatedly executes an operation in parallel while the specified condition evaluates to true.</summary>
            <param name="condition">The condition to evaluate.</param>
            <param name="body">The loop body.</param>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.ParallelWhile(System.Threading.Tasks.ParallelOptions,System.Func{System.Boolean},System.Action)">
            <summary>Repeatedly executes an operation in parallel while the specified condition evaluates to true.</summary>
            <param name="parallelOptions">A ParallelOptions instance that configures the behavior of this operation.</param>
            <param name="condition">The condition to evaluate.</param>
            <param name="body">The loop body.</param>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.WhileNotEmpty``1(System.Collections.Generic.IEnumerable{``0},System.Action{``0,System.Action{``0}})">
            <summary>Processes data in parallel, allowing the processing function to add more data to be processed.</summary>
            <typeparam name="T">Specifies the type of data being processed.</typeparam>
            <param name="initialValues">The initial set of data to be processed.</param>
            <param name="body">The operation to execute for each value.</param>
        </member>
        <member name="M:System.Threading.Algorithms.ParallelAlgorithms.WhileNotEmpty``1(System.Threading.Tasks.ParallelOptions,System.Collections.Generic.IEnumerable{``0},System.Action{``0,System.Action{``0}})">
            <summary>Processes data in parallel, allowing the processing function to add more data to be processed.</summary>
            <typeparam name="T">Specifies the type of data being processed.</typeparam>
            <param name="parallelOptions">A ParallelOptions instance that configures the behavior of this operation.</param>
            <param name="initialValues">The initial set of data to be processed.</param>
            <param name="body">The operation to execute for each value.</param>
        </member>
        <member name="T:System.Collections.Concurrent.Partitioners.ChunkPartitioner">
            <summary>
            Partitions an enumerable into chunks based on user-supplied criteria.
            </summary>
        </member>
        <member name="M:System.Collections.Concurrent.Partitioners.ChunkPartitioner.Create``1(System.Collections.Generic.IEnumerable{``0},System.Func{System.Int32,System.Int32})">
            <summary>Creates a partitioner that chooses the next chunk size based on a user-supplied function.</summary>
            <typeparam name="TSource">The type of the data being partitioned.</typeparam>
            <param name="source">The data being partitioned.</param>
            <param name="nextChunkSizeFunc">A function that determines the next chunk size based on the
            previous chunk size.</param>
            <returns>A partitioner.</returns>
        </member>
        <member name="M:System.Collections.Concurrent.Partitioners.ChunkPartitioner.Create``1(System.Collections.Generic.IEnumerable{``0},System.Int32)">
            <summary>Creates a partitioner that always uses a user-specified chunk size.</summary>
            <typeparam name="TSource">The type of the data being partitioned.</typeparam>
            <param name="source">The data being partitioned.</param>
            <param name="chunkSize">The chunk size to be used.</param>
            <returns>A partitioner.</returns>
        </member>
        <member name="M:System.Collections.Concurrent.Partitioners.ChunkPartitioner.Create``1(System.Collections.Generic.IEnumerable{``0},System.Int32,System.Int32)">
            <summary>Creates a partitioner that chooses chunk sizes between the user-specified min and max.</summary>
            <typeparam name="TSource">The type of the data being partitioned.</typeparam>
            <param name="source">The data being partitioned.</param>
            <param name="minChunkSize">The minimum chunk size to use.</param>
            <param name="maxChunkSize">The maximum chunk size to use.</param>
            <returns>A partitioner.</returns>
        </member>
        <member name="T:System.Collections.Concurrent.Partitioners.ChunkPartitioner`1">
            <summary>
            Partitions an enumerable into chunks based on user-supplied criteria.
            </summary>
        </member>
        <member name="M:System.Collections.Concurrent.Partitioners.ChunkPartitioner`1.GetOrderablePartitions(System.Int32)">
            <summary>
            Partitions the underlying collection into the specified number of orderable partitions.
            </summary>
            <param name="partitionCount">The number of partitions to create.</param>
            <returns>An object that can create partitions over the underlying data source.</returns>
        </member>
        <member name="M:System.Collections.Concurrent.Partitioners.ChunkPartitioner`1.GetOrderableDynamicPartitions">
            <summary>
            Creates an object that can partition the underlying collection into a variable number of
            partitions.
            </summary>
            <returns>
            An object that can create partitions over the underlying data source.
            </returns>
        </member>
        <member name="P:System.Collections.Concurrent.Partitioners.ChunkPartitioner`1.SupportsDynamicPartitions">
            <summary>Gets whether additional partitions can be created dynamically.</summary>
        </member>
        <member name="T:System.Collections.Concurrent.Partitioners.SingleItemPartitioner">
            <summary>Partitions a data source one item at a time.</summary>
        </member>
        <member name="M:System.Collections.Concurrent.Partitioners.SingleItemPartitioner.Create``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>Creates a partitioner for an enumerable that partitions it one item at a time.</summary>
            <typeparam name="T">Specifies the type of data contained in the enumerable.</typeparam>
            <param name="source">The source enumerable to be partitioned.</param>
            <returns>The partitioner.</returns>
        </member>
        <member name="T:System.Collections.Concurrent.Partitioners.SingleItemPartitioner.SingleItemEnumerablePartitioner`1">
            <summary>Partitions an enumerable one item at a time.</summary>
            <typeparam name="T">Specifies the type of data contained in the list.</typeparam>
        </member>
        <member name="F:System.Collections.Concurrent.Partitioners.SingleItemPartitioner.SingleItemEnumerablePartitioner`1._source">
            <summary>The enumerable to be partitioned.</summary>
        </member>
        <member name="M:System.Collections.Concurrent.Partitioners.SingleItemPartitioner.SingleItemEnumerablePartitioner`1.#ctor(System.Collections.Generic.IEnumerable{`0})">
            <summary>Initializes the partitioner.</summary>
            <param name="source">The enumerable to be partitioned.</param>
        </member>
        <member name="M:System.Collections.Concurrent.Partitioners.SingleItemPartitioner.SingleItemEnumerablePartitioner`1.GetOrderableDynamicPartitions">
            <summary>Gets a list of the specified static number of partitions.</summary>
            <returns>The list of created partitions ready to be iterated.</returns>
        </member>
        <member name="P:System.Collections.Concurrent.Partitioners.SingleItemPartitioner.SingleItemEnumerablePartitioner`1.SupportsDynamicPartitions">
            <summary>Gets whether this partitioner supports dynamic partitioning (it does).</summary>
        </member>
        <member name="T:System.Collections.Concurrent.Partitioners.SingleItemPartitioner.SingleItemEnumerablePartitioner`1.DynamicGenerator">
            <summary>Dynamically generates a partitions on a shared enumerator.</summary>
        </member>
        <member name="F:System.Collections.Concurrent.Partitioners.SingleItemPartitioner.SingleItemEnumerablePartitioner`1.DynamicGenerator._sharedEnumerator">
            <summary>The source enumerator shared amongst all partitions.</summary>
        </member>
        <member name="F:System.Collections.Concurrent.Partitioners.SingleItemPartitioner.SingleItemEnumerablePartitioner`1.DynamicGenerator._nextAvailablePosition">
            <summary>The next available position to be yielded.</summary>
        </member>
        <member name="F:System.Collections.Concurrent.Partitioners.SingleItemPartitioner.SingleItemEnumerablePartitioner`1.DynamicGenerator._remainingPartitions">
            <summary>The number of partitions remaining to be disposed, potentially including this dynamic generator.</summary>
        </member>
        <member name="F:System.Collections.Concurrent.Partitioners.SingleItemPartitioner.SingleItemEnumerablePartitioner`1.DynamicGenerator._disposed">
            <summary>Whether this dynamic partitioner has been disposed.</summary>
        </member>
        <member name="M:System.Collections.Concurrent.Partitioners.SingleItemPartitioner.SingleItemEnumerablePartitioner`1.DynamicGenerator.#ctor(System.Collections.Generic.IEnumerator{`0},System.Boolean)">
            <summary>Initializes the dynamic generator.</summary>
            <param name="sharedEnumerator">The enumerator shared by all partitions.</param>
            <param name="requiresDisposal">Whether this generator will be disposed.</param>
        </member>
        <member name="M:System.Collections.Concurrent.Partitioners.SingleItemPartitioner.SingleItemEnumerablePartitioner`1.DynamicGenerator.System#IDisposable#Dispose">
            <summary>Closes the shared enumerator if all other partitions have completed.</summary>
        </member>
        <member name="M:System.Collections.Concurrent.Partitioners.SingleItemPartitioner.SingleItemEnumerablePartitioner`1.DynamicGenerator.GetEnumerator">
            <summary>Increments the number of partitions in use and returns a new partition.</summary>
            <returns>The new partition.</returns>
        </member>
        <member name="M:System.Collections.Concurrent.Partitioners.SingleItemPartitioner.SingleItemEnumerablePartitioner`1.DynamicGenerator.GetEnumeratorCore">
            <summary>Creates a partition.</summary>
            <returns>The new partition.</returns>
        </member>
        <member name="T:System.Collections.Concurrent.Partitioners.SingleItemPartitioner.SingleItemIListPartitioner`1">
            <summary>Partitions a list one item at a time.</summary>
            <typeparam name="T">Specifies the type of data contained in the list.</typeparam>
        </member>
        <member name="F:System.Collections.Concurrent.Partitioners.SingleItemPartitioner.SingleItemIListPartitioner`1._source">
            <summary>The list to be partitioned.</summary>
        </member>
        <member name="M:System.Collections.Concurrent.Partitioners.SingleItemPartitioner.SingleItemIListPartitioner`1.#ctor(System.Collections.Generic.IList{`0})">
            <summary>Initializes the partitioner.</summary>
            <param name="source">The list to be partitioned.</param>
        </member>
        <member name="M:System.Collections.Concurrent.Partitioners.SingleItemPartitioner.SingleItemIListPartitioner`1.GetOrderablePartitions(System.Int32)">
            <summary>Gets a list of the specified static number of partitions.</summary>
            <param name="partitionCount">The static number of partitions to create.</param>
            <returns>The list of created partitions ready to be iterated.</returns>
        </member>
        <member name="M:System.Collections.Concurrent.Partitioners.SingleItemPartitioner.SingleItemIListPartitioner`1.GetOrderableDynamicPartitions">
            <summary>Creates a dynamic partitioner for creating a dynamic number of partitions.</summary>
            <returns>The dynamic partitioner.</returns>
        </member>
        <member name="M:System.Collections.Concurrent.Partitioners.SingleItemPartitioner.SingleItemIListPartitioner`1.GetOrderableDynamicPartitionsCore(System.Collections.Generic.IList{`0},System.Runtime.CompilerServices.StrongBox{System.Int32})">
            <summary>An enumerable that creates individual enumerators that all work together to partition the list.</summary>
            <param name="source">The list being partitioned.</param>
            <param name="nextIteration">An integer shared between partitions denoting the next available index in the source.</param>
            <returns>An enumerable that generates enumerators which participate in partitioning the list.</returns>
        </member>
        <member name="P:System.Collections.Concurrent.Partitioners.SingleItemPartitioner.SingleItemIListPartitioner`1.SupportsDynamicPartitions">
            <summary>Gets whether this partitioner supports dynamic partitioning (it does).</summary>
        </member>
        <member name="T:System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave">
            <summary>Provides concurrent and exclusive task schedulers that coordinate.</summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave._internalLock">
            <summary>Synchronizes all activity in this type and its generated schedulers.</summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave._parallelOptions">
            <summary>The parallel options used by the asynchronous task and parallel loops.</summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave._concurrentTaskScheduler">
            <summary>The scheduler used to queue and execute "reader" tasks that may run concurrently with other readers.</summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave._exclusiveTaskScheduler">
            <summary>The scheduler used to queue and execute "writer" tasks that must run exclusively while no other tasks for this interleave are running.</summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave._taskExecuting">
            <summary>Whether this interleave has queued its processing task.</summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave._exclusiveProcessingIncludesChildren">
            <summary>Whether the exclusive processing of a task should include all of its children as well.</summary>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave.#ctor">
            <summary>Initialies the ConcurrentExclusiveInterleave.</summary>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave.#ctor(System.Boolean)">
            <summary>Initialies the ConcurrentExclusiveInterleave.</summary>
            <param name="exclusiveProcessingIncludesChildren">Whether the exclusive processing of a task should include all of its children as well.</param>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave.#ctor(System.Threading.Tasks.TaskScheduler)">
            <summary>Initialies the ConcurrentExclusiveInterleave.</summary>
            <param name="targetScheduler">The target scheduler on which this interleave should execute.</param>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave.#ctor(System.Threading.Tasks.TaskScheduler,System.Boolean)">
            <summary>Initialies the ConcurrentExclusiveInterleave.</summary>
            <param name="targetScheduler">The target scheduler on which this interleave should execute.</param>
            <param name="exclusiveProcessingIncludesChildren">Whether the exclusive processing of a task should include all of its children as well.</param>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave.NotifyOfNewWork">
            <summary>Notifies the interleave that new work has arrived to be processed.</summary>
            <remarks>Must only be called while holding the lock.</remarks>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave.ConcurrentExclusiveInterleaveProcessor">
            <summary>The body of the async processor to be run in a Task.  Only one should be running at a time.</summary>
            <remarks>This has been separated out into its own method to improve the Parallel Tasks window experience.</remarks>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave.ExecuteConcurrentTask(System.Threading.Tasks.Task)">
            <summary>Runs a concurrent task.</summary>
            <param name="task">The task to execute.</param>
            <remarks>This has been separated out into its own method to improve the Parallel Tasks window experience.</remarks>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave.GetConcurrentTasksUntilExclusiveExists">
            <summary>
            Gets an enumerable that yields waiting concurrent tasks one at a time until
            either there are no more concurrent tasks or there are any exclusive tasks.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave.GetExclusiveTasks">
            <summary>
            Gets an enumerable that yields all of the exclusive tasks one at a time.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave.ConcurrentTaskScheduler">
            <summary>
            Gets a TaskScheduler that can be used to schedule tasks to this interleave
            that may run concurrently with other tasks on this interleave.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave.ExclusiveTaskScheduler">
            <summary>
            Gets a TaskScheduler that can be used to schedule tasks to this interleave
            that must run exclusively with regards to other tasks on this interleave.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave.ExclusiveTaskCount">
            <summary>Gets the number of tasks waiting to run exclusively.</summary>
        </member>
        <member name="P:System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave.ConcurrentTaskCount">
            <summary>Gets the number of tasks waiting to run concurrently.</summary>
        </member>
        <member name="T:System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave.ConcurrentExclusiveInterleaveDebugView">
            <summary>Provides a debug view for ConcurrentExclusiveInterleave.</summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave.ConcurrentExclusiveInterleaveDebugView._interleave">
            <summary>The interleave being debugged.</summary>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave.ConcurrentExclusiveInterleaveDebugView.#ctor(System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave)">
            <summary>Initializes the debug view.</summary>
            <param name="interleave">The interleave being debugged.</param>
        </member>
        <member name="P:System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave.ConcurrentExclusiveInterleaveDebugView.ConcurrentTasksWaiting">
            <summary>Gets the number of tasks waiting to run concurrently.</summary>
        </member>
        <member name="P:System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave.ConcurrentExclusiveInterleaveDebugView.InterleaveTask">
            <summary>Gets a description of the processing task for debugging purposes.</summary>
        </member>
        <member name="T:System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave.ConcurrentExclusiveTaskScheduler">
            <summary>
            A scheduler shim used to queue tasks to the interleave and execute those tasks on request of the interleave.
            </summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave.ConcurrentExclusiveTaskScheduler._interleave">
            <summary>The parent interleave.</summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave.ConcurrentExclusiveTaskScheduler._maximumConcurrencyLevel">
            <summary>The maximum concurrency level for the scheduler.</summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave.ConcurrentExclusiveTaskScheduler._processingTaskOnCurrentThread">
            <summary>Whether a Task is currently being processed on this thread.</summary>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave.ConcurrentExclusiveTaskScheduler.#ctor(System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave,System.Collections.Generic.Queue{System.Threading.Tasks.Task},System.Int32)">
            <summary>Initializes the scheduler.</summary>
            <param name="interleave">The parent interleave.</param>
            <param name="tasks">The queue to store queued tasks into.</param>
            <param name="maximumConcurrencyLevel"></param>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave.ConcurrentExclusiveTaskScheduler.QueueTask(System.Threading.Tasks.Task)">
            <summary>Queues a task to the scheduler.</summary>
            <param name="task">The task to be queued.</param>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave.ConcurrentExclusiveTaskScheduler.ExecuteTask(System.Threading.Tasks.Task)">
            <summary>Executes a task on this scheduler.</summary>
            <param name="task">The task to be executed.</param>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave.ConcurrentExclusiveTaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)">
            <summary>Tries to execute the task synchronously on this scheduler.</summary>
            <param name="task">The task to execute.</param>
            <param name="taskWasPreviouslyQueued">Whether the task was previously queued to the scheduler.</param>
            <returns>true if the task could be executed; otherwise, false.</returns>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave.ConcurrentExclusiveTaskScheduler.GetScheduledTasks">
            <summary>Gets for debugging purposes the tasks scheduled to this scheduler.</summary>
            <returns>An enumerable of the tasks queued.</returns>
        </member>
        <member name="P:System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave.ConcurrentExclusiveTaskScheduler.MaximumConcurrencyLevel">
            <summary>Gets the maximum concurrency level this scheduler is able to support.</summary>
        </member>
        <member name="P:System.Threading.Tasks.Schedulers.ConcurrentExclusiveInterleave.ConcurrentExclusiveTaskScheduler.Tasks">
            <summary>Gets the queue of tasks for this scheduler.</summary>
        </member>
        <member name="T:System.Threading.Tasks.Schedulers.CurrentThreadTaskScheduler">
            <summary>Provides a task scheduler that runs tasks on the current thread.</summary>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.CurrentThreadTaskScheduler.QueueTask(System.Threading.Tasks.Task)">
            <summary>Runs the provided Task synchronously on the current thread.</summary>
            <param name="task">The task to be executed.</param>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.CurrentThreadTaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)">
            <summary>Runs the provided Task synchronously on the current thread.</summary>
            <param name="task">The task to be executed.</param>
            <param name="taskWasPreviouslyQueued">Whether the Task was previously queued to the scheduler.</param>
            <returns>True if the Task was successfully executed; otherwise, false.</returns>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.CurrentThreadTaskScheduler.GetScheduledTasks">
            <summary>Gets the Tasks currently scheduled to this scheduler.</summary>
            <returns>An empty enumerable, as Tasks are never queued, only executed.</returns>
        </member>
        <member name="P:System.Threading.Tasks.Schedulers.CurrentThreadTaskScheduler.MaximumConcurrencyLevel">
            <summary>Gets the maximum degree of parallelism for this scheduler.</summary>
        </member>
        <member name="T:System.Threading.Tasks.Schedulers.IOCompletionPortTaskScheduler">
            <summary>Provides a TaskScheduler that uses an I/O completion port for concurrency control.</summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.IOCompletionPortTaskScheduler.m_tasks">
            <summary>The queue of tasks to be scheduled.</summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.IOCompletionPortTaskScheduler.m_iocp">
            <summary>The I/O completion port to use for concurrency control.</summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.IOCompletionPortTaskScheduler.m_schedulerThread">
            <summary>Whether the current thread is a scheduler thread.</summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.IOCompletionPortTaskScheduler.m_remainingThreadsToShutdown">
            <summary>Event used to wait for all threads to shutdown.</summary>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.IOCompletionPortTaskScheduler.#ctor(System.Int32,System.Int32)">
            <summary>Initializes the IOCompletionPortTaskScheduler.</summary>
            <param name="maxConcurrencyLevel">The maximum number of threads in the scheduler to be executing concurrently.</param>
            <param name="numAvailableThreads">The number of threads to have available in the scheduler for executing tasks.</param>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.IOCompletionPortTaskScheduler.Dispose">
            <summary>Dispose of the scheduler.</summary>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.IOCompletionPortTaskScheduler.GetScheduledTasks">
            <summary>Gets a list of all tasks scheduled to this scheduler.</summary>
            <returns>An enumerable of all scheduled tasks.</returns>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.IOCompletionPortTaskScheduler.QueueTask(System.Threading.Tasks.Task)">
            <summary>Queues a task to this scheduler for execution.</summary>
            <param name="task">The task to be executed.</param>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.IOCompletionPortTaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)">
            <summary>Try to execute a task on the current thread.</summary>
            <param name="task">The task to execute.</param>
            <param name="taskWasPreviouslyQueued">Whether the task was previously queued to this scheduler.</param>
            <returns>Whether the task was executed.</returns>
        </member>
        <member name="T:System.Threading.Tasks.Schedulers.IOCompletionPortTaskScheduler.IOCompletionPort">
            <summary>Provides a simple managed wrapper for an I/O completion port.</summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.IOCompletionPortTaskScheduler.IOCompletionPort.INFINITE_TIMEOUT">
            <summary>Infinite timeout value to use for GetQueuedCompletedStatus.</summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.IOCompletionPortTaskScheduler.IOCompletionPort.INVALID_FILE_HANDLE">
            <summary>An invalid file handle value.</summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.IOCompletionPortTaskScheduler.IOCompletionPort.INVALID_IOCP_HANDLE">
            <summary>An invalid I/O completion port handle value.</summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.IOCompletionPortTaskScheduler.IOCompletionPort.m_handle">
            <summary>The I/O completion porth handle.</summary>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.IOCompletionPortTaskScheduler.IOCompletionPort.#ctor(System.Int32)">
            <summary>Initializes the I/O completion port.</summary>
            <param name="maxConcurrencyLevel">The maximum concurrency level allowed by the I/O completion port.</param>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.IOCompletionPortTaskScheduler.IOCompletionPort.Dispose">
            <summary>Clean up.</summary>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.IOCompletionPortTaskScheduler.IOCompletionPort.NotifyOne">
            <summary>Notify that I/O completion port that new work is available.</summary>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.IOCompletionPortTaskScheduler.IOCompletionPort.WaitOne">
            <summary>Waits for an item on the I/O completion port.</summary>
            <returns>true if an item was available; false if the completion port closed before an item could be retrieved.</returns>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.IOCompletionPortTaskScheduler.IOCompletionPort.CreateIoCompletionPort(System.IntPtr,System.IntPtr,System.UIntPtr,System.UInt32)">
            <summary>
            Creates an input/output (I/O) completion port and associates it with a specified file handle, 
            or creates an I/O completion port that is not yet associated with a file handle, allowing association at a later time.
            </summary>
            <param name="fileHandle">An open file handle or INVALID_HANDLE_VALUE.</param>
            <param name="existingCompletionPort">A handle to an existing I/O completion port or NULL.</param>
            <param name="completionKey">The per-handle user-defined completion key that is included in every I/O completion packet for the specified file handle.</param>
            <param name="numberOfConcurrentThreads">The maximum number of threads that the operating system can allow to concurrently process I/O completion packets for the I/O completion port.</param>
            <returns>If the function succeeds, the return value is the handle to an I/O completion port.  If the function fails, the return value is NULL.</returns>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.IOCompletionPortTaskScheduler.IOCompletionPort.GetQueuedCompletionStatus(System.IntPtr,System.UInt32@,System.IntPtr@,System.IntPtr@,System.UInt32)">
            <summary>Attempts to dequeue an I/O completion packet from the specified I/O completion port.</summary>
            <param name="completionPort">A handle to the completion port.</param>
            <param name="lpNumberOfBytes">A pointer to a variable that receives the number of bytes transferred during an I/O operation that has completed.</param>
            <param name="lpCompletionKey">A pointer to a variable that receives the completion key value associated with the file handle whose I/O operation has completed.</param>
            <param name="lpOverlapped">A pointer to a variable that receives the address of the OVERLAPPED structure that was specified when the completed I/O operation was started.</param>
            <param name="dwMilliseconds">The number of milliseconds that the caller is willing to wait for a completion packet to appear at the completion port. </param>
            <returns>Returns nonzero (TRUE) if successful or zero (FALSE) otherwise.</returns>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.IOCompletionPortTaskScheduler.IOCompletionPort.PostQueuedCompletionStatus(Microsoft.Win32.SafeHandles.SafeFileHandle,System.IntPtr,System.IntPtr,System.IntPtr)">
            <summary>Posts an I/O completion packet to an I/O completion port.</summary>
            <param name="completionPort">A handle to the completion port.</param>
            <param name="dwNumberOfBytesTransferred">The value to be returned through the lpNumberOfBytesTransferred parameter of the GetQueuedCompletionStatus function.</param>
            <param name="dwCompletionKey">The value to be returned through the lpCompletionKey parameter of the GetQueuedCompletionStatus function.</param>
            <param name="lpOverlapped">The value to be returned through the lpOverlapped parameter of the GetQueuedCompletionStatus function.</param>
            <returns>If the function succeeds, the return value is nonzero. If the function fails, the return value is zero.</returns>
        </member>
        <member name="T:System.Threading.Tasks.Schedulers.LimitedConcurrencyLevelTaskScheduler">
            <summary>
            Provides a task scheduler that ensures a maximum concurrency level while
            running on top of the ThreadPool.
            </summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.LimitedConcurrencyLevelTaskScheduler._currentThreadIsProcessingItems">
            <summary>Whether the current thread is processing work items.</summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.LimitedConcurrencyLevelTaskScheduler._tasks">
            <summary>The list of tasks to be executed.</summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.LimitedConcurrencyLevelTaskScheduler._maxDegreeOfParallelism">
            <summary>The maximum concurrency level allowed by this scheduler.</summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.LimitedConcurrencyLevelTaskScheduler._delegatesQueuedOrRunning">
            <summary>Whether the scheduler is currently processing work items.</summary>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.LimitedConcurrencyLevelTaskScheduler.#ctor(System.Int32)">
            <summary>
            Initializes an instance of the LimitedConcurrencyLevelTaskScheduler class with the
            specified degree of parallelism.
            </summary>
            <param name="maxDegreeOfParallelism">The maximum degree of parallelism provided by this scheduler.</param>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.LimitedConcurrencyLevelTaskScheduler.QueueTask(System.Threading.Tasks.Task)">
            <summary>Queues a task to the scheduler.</summary>
            <param name="task">The task to be queued.</param>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.LimitedConcurrencyLevelTaskScheduler.NotifyThreadPoolOfPendingWork">
            <summary>
            Informs the ThreadPool that there's work to be executed for this scheduler.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.LimitedConcurrencyLevelTaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)">
            <summary>Attempts to execute the specified task on the current thread.</summary>
            <param name="task">The task to be executed.</param>
            <param name="taskWasPreviouslyQueued"></param>
            <returns>Whether the task could be executed on the current thread.</returns>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.LimitedConcurrencyLevelTaskScheduler.TryDequeue(System.Threading.Tasks.Task)">
            <summary>Attempts to remove a previously scheduled task from the scheduler.</summary>
            <param name="task">The task to be removed.</param>
            <returns>Whether the task could be found and removed.</returns>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.LimitedConcurrencyLevelTaskScheduler.GetScheduledTasks">
            <summary>Gets an enumerable of the tasks currently scheduled on this scheduler.</summary>
            <returns>An enumerable of the tasks currently scheduled.</returns>
        </member>
        <member name="P:System.Threading.Tasks.Schedulers.LimitedConcurrencyLevelTaskScheduler.MaximumConcurrencyLevel">
            <summary>Gets the maximum concurrency level supported by this scheduler.</summary>
        </member>
        <member name="T:System.Threading.Tasks.Schedulers.OrderedTaskScheduler">
            <summary>
            Provides a task scheduler that ensures only one task is executing at a time, and that tasks
            execute in the order that they were queued.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.OrderedTaskScheduler.#ctor">
            <summary>Initializes an instance of the OrderedTaskScheduler class.</summary>
        </member>
        <member name="T:System.Threading.Tasks.Schedulers.QueuedTaskScheduler">
            <summary>
            Provides a TaskScheduler that provides control over priorities, fairness, and the underlying threads utilized.
            </summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.QueuedTaskScheduler._queueGroups">
            <summary>
            A sorted list of round-robin queue lists.  Tasks with the smallest priority value
            are preferred.  Priority groups are round-robin'd through in order of priority.
            </summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.QueuedTaskScheduler._disposeCancellation">
            <summary>Cancellation token used for disposal.</summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.QueuedTaskScheduler._concurrencyLevel">
            <summary>
            The maximum allowed concurrency level of this scheduler.  If custom threads are
            used, this represents the number of created threads.
            </summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.QueuedTaskScheduler._taskProcessingThread">
            <summary>Whether we're processing tasks on the current thread.</summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.QueuedTaskScheduler._targetScheduler">
            <summary>The scheduler onto which actual work is scheduled.</summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.QueuedTaskScheduler._nonthreadsafeTaskQueue">
            <summary>The queue of tasks to process when using an underlying target scheduler.</summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.QueuedTaskScheduler._delegatesQueuedOrRunning">
            <summary>The number of Tasks that have been queued or that are running whiel using an underlying scheduler.</summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.QueuedTaskScheduler._threads">
            <summary>The threads used by the scheduler to process work.</summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.QueuedTaskScheduler._blockingTaskQueue">
            <summary>The collection of tasks to be executed on our custom threads.</summary>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.#ctor">
            <summary>Initializes the scheduler.</summary>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.#ctor(System.Threading.Tasks.TaskScheduler)">
            <summary>Initializes the scheduler.</summary>
            <param name="targetScheduler">The target underlying scheduler onto which this sceduler's work is queued.</param>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.#ctor(System.Threading.Tasks.TaskScheduler,System.Int32)">
            <summary>Initializes the scheduler.</summary>
            <param name="targetScheduler">The target underlying scheduler onto which this sceduler's work is queued.</param>
            <param name="maxConcurrencyLevel">The maximum degree of concurrency allowed for this scheduler's work.</param>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.#ctor(System.Int32)">
            <summary>Initializes the scheduler.</summary>
            <param name="threadCount">The number of threads to create and use for processing work items.</param>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.#ctor(System.Int32,System.String,System.Boolean,System.Threading.ThreadPriority,System.Threading.ApartmentState,System.Int32,System.Action,System.Action)">
            <summary>Initializes the scheduler.</summary>
            <param name="threadCount">The number of threads to create and use for processing work items.</param>
            <param name="threadName">The name to use for each of the created threads.</param>
            <param name="useForegroundThreads">A Boolean value that indicates whether to use foreground threads instead of background.</param>
            <param name="threadPriority">The priority to assign to each thread.</param>
            <param name="threadApartmentState">The apartment state to use for each thread.</param>
            <param name="threadMaxStackSize">The stack size to use for each thread.</param>
            <param name="threadInit">An initialization routine to run on each thread.</param>
            <param name="threadFinally">A finalization routine to run on each thread.</param>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.ThreadBasedDispatchLoop(System.Action,System.Action)">
            <summary>The dispatch loop run by all threads in this scheduler.</summary>
            <param name="threadInit">An initialization routine to run when the thread begins.</param>
            <param name="threadFinally">A finalization routine to run before the thread ends.</param>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.FindNextTask_NeedsLock(System.Threading.Tasks.Task@,System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue@)">
            <summary>Find the next task that should be executed, based on priorities and fairness and the like.</summary>
            <param name="targetTask">The found task, or null if none was found.</param>
            <param name="queueForTargetTask">
            The scheduler associated with the found task.  Due to security checks inside of TPL,  
            this scheduler needs to be used to execute that task.
            </param>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueueTask(System.Threading.Tasks.Task)">
            <summary>Queues a task to the scheduler.</summary>
            <param name="task">The task to be queued.</param>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.ProcessPrioritizedAndBatchedTasks">
            <summary>
            Process tasks one at a time in the best order.  
            This should be run in a Task generated by QueueTask.
            It's been separated out into its own method to show up better in Parallel Tasks.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.NotifyNewWorkItem">
            <summary>Notifies the pool that there's a new item to be executed in one of the round-robin queues.</summary>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)">
            <summary>Tries to execute a task synchronously on the current thread.</summary>
            <param name="task">The task to execute.</param>
            <param name="taskWasPreviouslyQueued">Whether the task was previously queued.</param>
            <returns>true if the task was executed; otherwise, false.</returns>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.GetScheduledTasks">
            <summary>Gets the tasks scheduled to this scheduler.</summary>
            <returns>An enumerable of all tasks queued to this scheduler.</returns>
            <remarks>This does not include the tasks on sub-schedulers.  Those will be retrieved by the debugger separately.</remarks>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.Dispose">
            <summary>Initiates shutdown of the scheduler.</summary>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.ActivateNewQueue">
            <summary>Creates and activates a new scheduling queue for this scheduler.</summary>
            <returns>The newly created and activated queue at priority 0.</returns>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.ActivateNewQueue(System.Int32)">
            <summary>Creates and activates a new scheduling queue for this scheduler.</summary>
            <param name="priority">The priority level for the new queue.</param>
            <returns>The newly created and activated queue at the specified priority.</returns>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.RemoveQueue_NeedsLock(System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue)">
            <summary>Removes a scheduler from the group.</summary>
            <param name="queue">The scheduler to be removed.</param>
        </member>
        <member name="P:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.DebugQueueCount">
            <summary>Gets the number of queues currently activated.</summary>
        </member>
        <member name="P:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.DebugTaskCount">
            <summary>Gets the number of tasks currently scheduled.</summary>
        </member>
        <member name="P:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.MaximumConcurrencyLevel">
            <summary>Gets the maximum concurrency level to use when processing tasks.</summary>
        </member>
        <member name="T:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerDebugView">
            <summary>Debug view for the QueuedTaskScheduler.</summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerDebugView._scheduler">
            <summary>The scheduler.</summary>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerDebugView.#ctor(System.Threading.Tasks.Schedulers.QueuedTaskScheduler)">
            <summary>Initializes the debug view.</summary>
            <param name="scheduler">The scheduler.</param>
        </member>
        <member name="P:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerDebugView.ScheduledTasks">
            <summary>Gets all of the Tasks queued to the scheduler directly.</summary>
        </member>
        <member name="P:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerDebugView.Queues">
            <summary>Gets the prioritized and fair queues.</summary>
        </member>
        <member name="T:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueueGroup">
            <summary>A group of queues a the same priority level.</summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueueGroup.NextQueueIndex">
            <summary>The starting index for the next round-robin traversal.</summary>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueueGroup.CreateSearchOrder">
            <summary>Creates a search order through this group.</summary>
            <returns>An enumerable of indices for this group.</returns>
        </member>
        <member name="T:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue">
            <summary>Provides a scheduling queue associatd with a QueuedTaskScheduler.</summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue._pool">
            <summary>The scheduler with which this pool is associated.</summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue._workItems">
            <summary>The work items stored in this queue.</summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue._disposed">
            <summary>Whether this queue has been disposed.</summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue._priority">
            <summary>Gets the priority for this queue.</summary>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue.#ctor(System.Int32,System.Threading.Tasks.Schedulers.QueuedTaskScheduler)">
            <summary>Initializes the queue.</summary>
            <param name="priority">The priority associated with this queue.</param>
            <param name="pool">The scheduler with which this queue is associated.</param>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue.GetScheduledTasks">
            <summary>Gets the tasks scheduled to this scheduler.</summary>
            <returns>An enumerable of all tasks queued to this scheduler.</returns>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue.QueueTask(System.Threading.Tasks.Task)">
            <summary>Queues a task to the scheduler.</summary>
            <param name="task">The task to be queued.</param>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)">
            <summary>Tries to execute a task synchronously on the current thread.</summary>
            <param name="task">The task to execute.</param>
            <param name="taskWasPreviouslyQueued">Whether the task was previously queued.</param>
            <returns>true if the task was executed; otherwise, false.</returns>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue.ExecuteTask(System.Threading.Tasks.Task)">
            <summary>Runs the specified ask.</summary>
            <param name="task">The task to execute.</param>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue.Dispose">
            <summary>Signals that the queue should be removed from the scheduler as soon as the queue is empty.</summary>
        </member>
        <member name="P:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue.WaitingTasks">
            <summary>Gets the number of tasks waiting in this scheduler.</summary>
        </member>
        <member name="P:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue.MaximumConcurrencyLevel">
            <summary>Gets the maximum concurrency level to use when processing tasks.</summary>
        </member>
        <member name="T:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue.QueuedTaskSchedulerQueueDebugView">
            <summary>A debug view for the queue.</summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue.QueuedTaskSchedulerQueueDebugView._queue">
            <summary>The queue.</summary>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue.QueuedTaskSchedulerQueueDebugView.#ctor(System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue)">
            <summary>Initializes the debug view.</summary>
            <param name="queue">The queue to be debugged.</param>
        </member>
        <member name="P:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue.QueuedTaskSchedulerQueueDebugView.Priority">
            <summary>Gets the priority of this queue in its associated scheduler.</summary>
        </member>
        <member name="P:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue.QueuedTaskSchedulerQueueDebugView.Id">
            <summary>Gets the ID of this scheduler.</summary>
        </member>
        <member name="P:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue.QueuedTaskSchedulerQueueDebugView.ScheduledTasks">
            <summary>Gets all of the tasks scheduled to this queue.</summary>
        </member>
        <member name="P:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue.QueuedTaskSchedulerQueueDebugView.AssociatedScheduler">
            <summary>Gets the QueuedTaskScheduler with which this queue is associated.</summary>
        </member>
        <member name="T:System.Threading.Tasks.Schedulers.ReprioritizableTaskScheduler">
            <summary>Provides a task scheduler that supports reprioritizing previously queued tasks.</summary>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.ReprioritizableTaskScheduler.QueueTask(System.Threading.Tasks.Task)">
            <summary>Queues a task to the scheduler.</summary>
            <param name="task">The task to be queued.</param>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.ReprioritizableTaskScheduler.Prioritize(System.Threading.Tasks.Task)">
            <summary>Reprioritizes a previously queued task to the front of the queue.</summary>
            <param name="task">The task to be reprioritized.</param>
            <returns>Whether the task could be found and moved to the front of the queue.</returns>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.ReprioritizableTaskScheduler.Deprioritize(System.Threading.Tasks.Task)">
            <summary>Reprioritizes a previously queued task to the back of the queue.</summary>
            <param name="task">The task to be reprioritized.</param>
            <returns>Whether the task could be found and moved to the back of the queue.</returns>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.ReprioritizableTaskScheduler.TryDequeue(System.Threading.Tasks.Task)">
            <summary>Removes a previously queued item from the scheduler.</summary>
            <param name="task">The task to be removed.</param>
            <returns>Whether the task could be removed from the scheduler.</returns>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.ReprioritizableTaskScheduler.ProcessNextQueuedItem(System.Object)">
            <summary>Picks up and executes the next item in the queue.</summary>
            <param name="ignored">Ignored.</param>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.ReprioritizableTaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)">
            <summary>Executes the specified task inline.</summary>
            <param name="task">The task to be executed.</param>
            <param name="taskWasPreviouslyQueued">Whether the task was previously queued.</param>
            <returns>Whether the task could be executed inline.</returns>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.ReprioritizableTaskScheduler.GetScheduledTasks">
            <summary>Gets all of the tasks currently queued to the scheduler.</summary>
            <returns>An enumerable of the tasks currently queued to the scheduler.</returns>
        </member>
        <member name="T:System.Threading.Tasks.Schedulers.RoundRobinSchedulerGroup">
            <summary>Enables the creation of a group of schedulers that support round-robin scheduling for fairness.</summary>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.RoundRobinSchedulerGroup.CreateScheduler">
            <summary>Creates a new scheduler as part of this group.</summary>
            <returns>The new scheduler.</returns>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.RoundRobinSchedulerGroup.RemoveQueue_NeedsLock(System.Threading.Tasks.Schedulers.RoundRobinSchedulerGroup.RoundRobinTaskSchedulerQueue)">
            <summary>Removes a scheduler from the group.</summary>
            <param name="queue">The scheduler to be removed.</param>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.RoundRobinSchedulerGroup.NotifyNewWorkItem">
            <summary>Notifies the ThreadPool that there's a new item to be executed.</summary>
        </member>
        <member name="P:System.Threading.Tasks.Schedulers.RoundRobinSchedulerGroup.Schedulers">
            <summary>Gets a collection of all schedulers in this group.</summary>
        </member>
        <member name="T:System.Threading.Tasks.Schedulers.RoundRobinSchedulerGroup.RoundRobinTaskSchedulerQueue">
            <summary>A scheduler that participates in round-robin scheduling.</summary>
        </member>
        <member name="T:System.Threading.Tasks.Schedulers.StaTaskScheduler">
            <summary>Provides a scheduler that uses STA threads.</summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.StaTaskScheduler._tasks">
            <summary>Stores the queued tasks to be executed by our pool of STA threads.</summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.StaTaskScheduler._threads">
            <summary>The STA threads used by the scheduler.</summary>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.StaTaskScheduler.#ctor(System.Int32)">
            <summary>Initializes a new instance of the StaTaskScheduler class with the specified concurrency level.</summary>
            <param name="numberOfThreads">The number of threads that should be created and used by this scheduler.</param>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.StaTaskScheduler.QueueTask(System.Threading.Tasks.Task)">
            <summary>Queues a Task to be executed by this scheduler.</summary>
            <param name="task">The task to be executed.</param>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.StaTaskScheduler.GetScheduledTasks">
            <summary>Provides a list of the scheduled tasks for the debugger to consume.</summary>
            <returns>An enumerable of all tasks currently scheduled.</returns>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.StaTaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)">
            <summary>Determines whether a Task may be inlined.</summary>
            <param name="task">The task to be executed.</param>
            <param name="taskWasPreviouslyQueued">Whether the task was previously queued.</param>
            <returns>true if the task was successfully inlined; otherwise, false.</returns>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.StaTaskScheduler.Dispose">
            <summary>
            Cleans up the scheduler by indicating that no more tasks will be queued.
            This method blocks until all threads successfully shutdown.
            </summary>
        </member>
        <member name="P:System.Threading.Tasks.Schedulers.StaTaskScheduler.MaximumConcurrencyLevel">
            <summary>Gets the maximum concurrency level supported by this scheduler.</summary>
        </member>
        <member name="T:System.Threading.Tasks.Schedulers.SynchronizationContextTaskScheduler">
            <summary>Provides a task scheduler that targets a specific SynchronizationContext.</summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.SynchronizationContextTaskScheduler._tasks">
            <summary>The queue of tasks to execute, maintained for debugging purposes.</summary>
        </member>
        <member name="F:System.Threading.Tasks.Schedulers.SynchronizationContextTaskScheduler._context">
            <summary>The target context under which to execute the queued tasks.</summary>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.SynchronizationContextTaskScheduler.#ctor">
            <summary>Initializes an instance of the SynchronizationContextTaskScheduler class.</summary>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.SynchronizationContextTaskScheduler.#ctor(System.Threading.SynchronizationContext)">
            <summary>
            Initializes an instance of the SynchronizationContextTaskScheduler class
            with the specified SynchronizationContext.
            </summary>
            <param name="context">The SynchronizationContext under which to execute tasks.</param>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.SynchronizationContextTaskScheduler.QueueTask(System.Threading.Tasks.Task)">
            <summary>Queues a task to the scheduler for execution on the I/O ThreadPool.</summary>
            <param name="task">The Task to queue.</param>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.SynchronizationContextTaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)">
            <summary>Tries to execute a task on the current thread.</summary>
            <param name="task">The task to be executed.</param>
            <param name="taskWasPreviouslyQueued">Ignored.</param>
            <returns>Whether the task could be executed.</returns>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.SynchronizationContextTaskScheduler.GetScheduledTasks">
            <summary>Gets an enumerable of tasks queued to the scheduler.</summary>
            <returns>An enumerable of tasks queued to the scheduler.</returns>
        </member>
        <member name="P:System.Threading.Tasks.Schedulers.SynchronizationContextTaskScheduler.MaximumConcurrencyLevel">
            <summary>Gets the maximum concurrency level supported by this scheduler.</summary>
        </member>
        <member name="T:System.Threading.Tasks.Schedulers.ThreadPerTaskScheduler">
            <summary>Provides a task scheduler that dedicates a thread per task.</summary>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.ThreadPerTaskScheduler.GetScheduledTasks">
            <summary>Gets the tasks currently scheduled to this scheduler.</summary>
            <remarks>This will always return an empty enumerable, as tasks are launched as soon as they're queued.</remarks>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.ThreadPerTaskScheduler.QueueTask(System.Threading.Tasks.Task)">
            <summary>Starts a new thread to process the provided task.</summary>
            <param name="task">The task to be executed.</param>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.ThreadPerTaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)">
            <summary>Runs the provided task on the current thread.</summary>
            <param name="task">The task to be executed.</param>
            <param name="taskWasPreviouslyQueued">Ignored.</param>
            <returns>Whether the task could be executed on the current thread.</returns>
        </member>
        <member name="T:System.Threading.Tasks.Schedulers.WorkStealingTaskScheduler">
            <summary>Provides a work-stealing scheduler.</summary>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.WorkStealingTaskScheduler.#ctor">
            <summary>Initializes a new instance of the WorkStealingTaskScheduler class.</summary>
            <remarks>This constructors defaults to using twice as many threads as there are processors.</remarks>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.WorkStealingTaskScheduler.#ctor(System.Int32)">
            <summary>Initializes a new instance of the WorkStealingTaskScheduler class.</summary>
            <param name="concurrencyLevel">The number of threads to use in the scheduler.</param>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.WorkStealingTaskScheduler.QueueTask(System.Threading.Tasks.Task)">
            <summary>Queues a task to the scheduler.</summary>
            <param name="task">The task to be scheduled.</param>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.WorkStealingTaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)">
            <summary>Executes a task on the current thread.</summary>
            <param name="task">The task to be executed.</param>
            <param name="taskWasPreviouslyQueued">Ignored.</param>
            <returns>Whether the task could be executed.</returns>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.WorkStealingTaskScheduler.GetScheduledTasks">
            <summary>Gets all of the tasks currently scheduled to this scheduler.</summary>
            <returns>An enumerable containing all of the scheduled tasks.</returns>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.WorkStealingTaskScheduler.AddWsq(System.Threading.Tasks.Schedulers.WorkStealingQueue{System.Threading.Tasks.Task})">
            <summary>Adds a work-stealing queue to the set of queues.</summary>
            <param name="wsq">The queue to be added.</param>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.WorkStealingTaskScheduler.RemoveWsq(System.Threading.Tasks.Schedulers.WorkStealingQueue{System.Threading.Tasks.Task})">
            <summary>Remove a work-stealing queue from the set of queues.</summary>
            <param name="wsq">The work-stealing queue to remove.</param>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.WorkStealingTaskScheduler.DispatchLoop">
            <summary>
            The dispatch loop run by each thread in the scheduler.
            </summary>
        </member>
        <member name="M:System.Threading.Tasks.Schedulers.WorkStealingTaskScheduler.Dispose">
            <summary>Signal the scheduler to shutdown and wait for all threads to finish.</summary>
        </member>
        <member name="P:System.Threading.Tasks.Schedulers.WorkStealingTaskScheduler.MaximumConcurrencyLevel">
            <summary>Gets the maximum concurrency level supported by this scheduler.</summary>
        </member>
        <member name="T:System.Threading.Tasks.Schedulers.WorkStealingQueue`1">
            <summary>A work-stealing queue.</summary>
            <typeparam name="T">Specifies the type of data stored in the queue.</typeparam>
        </member>
        <member name="T:CodeSmith.Core.Reflection.CallMethodException">
            <summary>
            This exception is returned from the 
            CallMethod method in the server-side DataPortal
            and contains the exception thrown by the
            underlying business object method that was
            being invoked.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Reflection.CallMethodException.#ctor(System.String,System.Exception)">
            <summary>
            Creates an instance of the object.
            </summary>
            <param name="message">Message text describing the exception.</param>
            <param name="ex">Inner exception object.</param>
        </member>
        <member name="M:CodeSmith.Core.Reflection.CallMethodException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Creates an instance of the object for deserialization.
            </summary>
            <param name="info">Serialization info.</param>
            <param name="context">Serialiation context.</param>
        </member>
        <member name="M:CodeSmith.Core.Reflection.CallMethodException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Serializes the object.
            </summary>
            <param name="info">Serialization info.</param>
            <param name="context">Serialization context.</param>
        </member>
        <member name="P:CodeSmith.Core.Reflection.CallMethodException.StackTrace">
            <summary>
            Get the stack trace from the original
            exception.
            </summary>
            <value></value>
            <returns></returns>
            <remarks></remarks>
        </member>
        <member name="T:CodeSmith.Core.Reflection.DynamicConstructor">
            <summary>
            Delegate for a dynamic constructor method.
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Reflection.DynamicMemberMethod">
            <summary>
            Delegate for a dynamic method.
            </summary>
            <param name="target">
            Object containg method to invoke.
            </param>
            <param name="args">
            Parameters passed to method.
            </param>
        </member>
        <member name="T:CodeSmith.Core.Reflection.DynamicMemberGetter">
            <summary>
            Delegate for getting a value.
            </summary>
            <param name="target">Target object.</param>
            <returns>The value from the target.</returns>
        </member>
        <member name="T:CodeSmith.Core.Reflection.DynamicMemberSetter">
            <summary>
            Delegate for setting a value.
            </summary>
            <param name="target">Target object.</param>
            <param name="arg">Argument value.</param>
        </member>
        <member name="T:CodeSmith.Core.Reflection.FieldAccessor">
            <summary>
            An accessor class for <see cref="T:System.Reflection.FieldInfo"/>.
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Reflection.MemberAccessor">
            <summary>
            A base class for member accessors.
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Reflection.IMemberAccessor">
            <summary>
            An interface for member accessors.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Reflection.IMemberAccessor.GetValue(System.Object)">
            <summary>
            Returns the value of the member.
            </summary>
            <param name="instance">The object whose member value will be returned.</param>
            <returns>The member value for the instance parameter.</returns>
        </member>
        <member name="M:CodeSmith.Core.Reflection.IMemberAccessor.SetValue(System.Object,System.Object)">
            <summary>
            Sets the value of the member.
            </summary>
            <param name="instance">The object whose member value will be set.</param>
            <param name="value">The new value for this member.</param>
        </member>
        <member name="P:CodeSmith.Core.Reflection.IMemberAccessor.MemberType">
            <summary>
            Gets the type of the member.
            </summary>
            <value>The type of the member.</value>
        </member>
        <member name="P:CodeSmith.Core.Reflection.IMemberAccessor.MemberInfo">
            <summary>
            Gets the member info.
            </summary>
            <value>The member info.</value>
        </member>
        <member name="P:CodeSmith.Core.Reflection.IMemberAccessor.Name">
            <summary>
            Gets the name of the member.
            </summary>
            <value>The name of the member.</value>
        </member>
        <member name="P:CodeSmith.Core.Reflection.IMemberAccessor.HasGetter">
            <summary>
            Gets a value indicating whether this member has getter.
            </summary>
            <value>
            	<c>true</c> if this member has getter; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:CodeSmith.Core.Reflection.IMemberAccessor.HasSetter">
            <summary>
            Gets a value indicating whether this member has setter.
            </summary>
            <value>
            	<c>true</c> if this member has setter; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="M:CodeSmith.Core.Reflection.MemberAccessor.GetValue(System.Object)">
            <summary>
            Returns the value of the member.
            </summary>
            <param name="instance">The object whose member value will be returned.</param>
            <returns>
            The member value for the instance parameter.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Reflection.MemberAccessor.SetValue(System.Object,System.Object)">
            <summary>
            Sets the value of the member.
            </summary>
            <param name="instance">The object whose member value will be set.</param>
            <param name="value">The new value for this member.</param>
        </member>
        <member name="M:CodeSmith.Core.Reflection.MemberAccessor.Equals(CodeSmith.Core.Reflection.IMemberAccessor)">
            <summary>
            Determines whether the specified <see cref="T:CodeSmith.Core.Reflection.IMemberAccessor"/> is equal to this instance.
            </summary>
            <param name="other">The <see cref="T:CodeSmith.Core.Reflection.IMemberAccessor"/> to compare with this instance.</param>
            <returns>
            	<c>true</c> if the specified <see cref="T:CodeSmith.Core.Reflection.IMemberAccessor"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Reflection.MemberAccessor.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
            </summary>
            <param name="obj">The <see cref="T:System.Object"/> to compare with this instance.</param>
            <returns>
            	<c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Reflection.MemberAccessor.GetHashCode">
            <summary>
            Returns a hash code for this instance.
            </summary>
            <returns>
            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. 
            </returns>
        </member>
        <member name="P:CodeSmith.Core.Reflection.MemberAccessor.MemberType">
            <summary>
            Gets the type of the member.
            </summary>
            <value>The type of the member.</value>
        </member>
        <member name="P:CodeSmith.Core.Reflection.MemberAccessor.MemberInfo">
            <summary>
            Gets the member info.
            </summary>
            <value>The member info.</value>
        </member>
        <member name="P:CodeSmith.Core.Reflection.MemberAccessor.Name">
            <summary>
            Gets the name of the member.
            </summary>
            <value>The name of the member.</value>
        </member>
        <member name="P:CodeSmith.Core.Reflection.MemberAccessor.HasGetter">
            <summary>
            Gets a value indicating whether this member has getter.
            </summary>
            <value><c>true</c> if this member has getter; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:CodeSmith.Core.Reflection.MemberAccessor.HasSetter">
            <summary>
            Gets a value indicating whether this member has setter.
            </summary>
            <value><c>true</c> if this member has setter; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:CodeSmith.Core.Reflection.FieldAccessor.#ctor(System.Reflection.FieldInfo)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Reflection.FieldAccessor"/> class.
            </summary>
            <param name="fieldInfo">The <see cref="T:System.Reflection.FieldInfo"/> instance to use for this accessor.</param>
        </member>
        <member name="M:CodeSmith.Core.Reflection.FieldAccessor.GetValue(System.Object)">
            <summary>
            Returns the value of the member.
            </summary>
            <param name="instance">The object whose member value will be returned.</param>
            <returns>
            The member value for the instance parameter.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Reflection.FieldAccessor.SetValue(System.Object,System.Object)">
            <summary>
            Sets the value of the member.
            </summary>
            <param name="instance">The object whose member value will be set.</param>
            <param name="value">The new value for this member.</param>
        </member>
        <member name="P:CodeSmith.Core.Reflection.FieldAccessor.MemberType">
            <summary>
            Gets the type of the member.
            </summary>
            <value>The type of the member.</value>
        </member>
        <member name="P:CodeSmith.Core.Reflection.FieldAccessor.MemberInfo">
            <summary>
            Gets the member info.
            </summary>
            <value>The member info.</value>
        </member>
        <member name="P:CodeSmith.Core.Reflection.FieldAccessor.Name">
            <summary>
            Gets the name of the member.
            </summary>
            <value>The name of the member.</value>
        </member>
        <member name="P:CodeSmith.Core.Reflection.FieldAccessor.HasGetter">
            <summary>
            Gets a value indicating whether this member has getter.
            </summary>
            <value><c>true</c> if this member has getter; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:CodeSmith.Core.Reflection.FieldAccessor.HasSetter">
            <summary>
            Gets a value indicating whether this member has setter.
            </summary>
            <value><c>true</c> if this member has setter; otherwise, <c>false</c>.</value>
        </member>
        <member name="T:CodeSmith.Core.Reflection.LateBinder">
            <summary>
            A class for late bound operations on a type.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Reflection.LateBinder.FindProperty(System.Type,System.String)">
            <summary>
            Searches for the public property with the specified name.
            </summary>
            <param name="type">The <see cref="T:System.Type"/> to search for the property in.</param>
            <param name="name">The name of the property to find.</param>
            <returns>
            An <see cref="T:CodeSmith.Core.Reflection.IMemberAccessor"/> instance for the property if found; otherwise <c>null</c>.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Reflection.LateBinder.FindProperty(System.Type,System.String,System.Reflection.BindingFlags)">
            <summary>
            Searches for the specified property, using the specified binding constraints.
            </summary>
            <param name="type">The <see cref="T:System.Type"/> to search for the property in.</param>
            <param name="name">The name of the property to find.</param>
            <param name="flags">A bitmask comprised of one or more <see cref="T:System.Reflection.BindingFlags"/> that specify how the search is conducted.</param>
            <returns>
            An <see cref="T:CodeSmith.Core.Reflection.IMemberAccessor"/> instance for the property if found; otherwise <c>null</c>.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Reflection.LateBinder.FindField(System.Type,System.String)">
            <summary>
            Searches for the field with the specified name.
            </summary>
            <param name="type">The <see cref="T:System.Type"/> to search for the field in.</param>
            <param name="name">The name of the field to find.</param>
            <returns>
            An <see cref="T:CodeSmith.Core.Reflection.IMemberAccessor"/> instance for the field if found; otherwise <c>null</c>.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Reflection.LateBinder.FindField(System.Type,System.String,System.Reflection.BindingFlags)">
            <summary>
            Searches for the field, using the specified binding constraints.
            </summary>
            <param name="type">The <see cref="T:System.Type"/> to search for the field in.</param>
            <param name="name">The name of the field to find.</param>
            <param name="flags">A bitmask comprised of one or more <see cref="T:System.Reflection.BindingFlags"/> that specify how the search is conducted.</param>
            <returns>
            An <see cref="T:CodeSmith.Core.Reflection.IMemberAccessor"/> instance for the field if found; otherwise <c>null</c>.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Reflection.LateBinder.SetProperty(System.Object,System.String,System.Object)">
            <summary>
            Sets the property value with the specified name.
            </summary>
            <param name="target">The object whose property value will be set.</param>
            <param name="name">The name of the property to set.</param>
            <param name="value">The new value to be set.</param>
        </member>
        <member name="M:CodeSmith.Core.Reflection.LateBinder.SetField(System.Object,System.String,System.Object)">
            <summary>
            Sets the field value with the specified name.
            </summary>
            <param name="target">The object whose field value will be set.</param>
            <param name="name">The name of the field to set.</param>
            <param name="value">The new value to be set.</param>
        </member>
        <member name="M:CodeSmith.Core.Reflection.LateBinder.GetProperty(System.Object,System.String)">
            <summary>
            Returns the value of the property with the specified name.
            </summary>
            <param name="target">The object whose property value will be returned.</param>
            <param name="name">The name of the property to read.</param>
            <returns>The value of the property.</returns>
        </member>
        <member name="M:CodeSmith.Core.Reflection.LateBinder.GetField(System.Object,System.String)">
            <summary>
            Returns the value of the field with the specified name.
            </summary>
            <param name="target">The object whose field value will be returned.</param>
            <param name="name">The name of the field to read.</param>
            <returns>The value of the field.</returns>
        </member>
        <member name="M:CodeSmith.Core.Reflection.LateBinder.CreateInstance(System.Type)">
            <summary>
            Creates an instance of the specified type.
            </summary>
            <param name="type">The type to create.</param>
            <returns>A new instance of the specified type.</returns>
        </member>
        <member name="T:CodeSmith.Core.Reflection.MethodCaller">
            <summary>
            Provides methods to dynamically find and call methods.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Reflection.MethodCaller.CreateInstance(System.Type)">
            <summary>
            Uses reflection to create an object using its 
            default constructor.
            </summary>
            <param name="objectType">Type of object to create.</param>
        </member>
        <member name="M:CodeSmith.Core.Reflection.MethodCaller.CallPropertyGetter(System.Object,System.String)">
            <summary>
            Invokes a property getter using dynamic
            method invocation.
            </summary>
            <param name="obj">Target object.</param>
            <param name="property">Property to invoke.</param>
            <returns></returns>
        </member>
        <member name="M:CodeSmith.Core.Reflection.MethodCaller.CallPropertySetter(System.Object,System.String,System.Object)">
            <summary>
            Invokes a property setter using dynamic
            method invocation.
            </summary>
            <param name="obj">Target object.</param>
            <param name="property">Property to invoke.</param>
            <param name="value">New value for property.</param>
        </member>
        <member name="M:CodeSmith.Core.Reflection.MethodCaller.GetParameterTypes(System.Object[])">
            <summary>
            Returns an array of Type objects corresponding
            to the type of parameters provided.
            </summary>
            <param name="parameters">
            Parameter values.
            </param>
        </member>
        <member name="M:CodeSmith.Core.Reflection.MethodCaller.CallMethodIfImplemented(System.Object,System.String,System.Object[])">
            <summary>
            Uses reflection to dynamically invoke a method
            if that method is implemented on the target object.
            </summary>
            <param name="obj">
            Object containing method.
            </param>
            <param name="method">
            Name of the method.
            </param>
            <param name="parameters">
            Parameters to pass to method.
            </param>
        </member>
        <member name="M:CodeSmith.Core.Reflection.MethodCaller.CallMethod(System.Object,System.String,System.Object[])">
            <summary>
            Uses reflection to dynamically invoke a method,
            throwing an exception if it is not
            implemented on the target object.
            </summary>
            <param name="obj">
            Object containing method.
            </param>
            <param name="method">
            Name of the method.
            </param>
            <param name="parameters">
            Parameters to pass to method.
            </param>
        </member>
        <member name="M:CodeSmith.Core.Reflection.MethodCaller.CallMethod(System.Object,System.Reflection.MethodInfo,System.Object[])">
            <summary>
            Uses reflection to dynamically invoke a method,
            throwing an exception if it is not
            implemented on the target object.
            </summary>
            <param name="obj">
            Object containing method.
            </param>
            <param name="info">
            MethodInfo for the method.
            </param>
            <param name="parameters">
            Parameters to pass to method.
            </param>
        </member>
        <member name="M:CodeSmith.Core.Reflection.MethodCaller.CallMethod(System.Object,CodeSmith.Core.Reflection.DynamicMethodHandle,System.Object[])">
            <summary>
            Uses reflection to dynamically invoke a method,
            throwing an exception if it is not implemented
            on the target object.
            </summary>
            <param name="obj">
            Object containing method.
            </param>
            <param name="methodHandle">
            MethodHandle for the method.
            </param>
            <param name="parameters">
            Parameters to pass to method.
            </param>
        </member>
        <member name="M:CodeSmith.Core.Reflection.MethodCaller.GetMethod(System.Type,System.String,System.Object[])">
            <summary>
            Uses reflection to locate a matching method
            on the target object.
            </summary>
            <param name="objectType">
            Type of object containing method.
            </param>
            <param name="method">
            Name of the method.
            </param>
            <param name="parameters">
            Parameters to pass to method.
            </param>
        </member>
        <member name="M:CodeSmith.Core.Reflection.MethodCaller.FindMethod(System.Type,System.String,System.Type[])">
            <summary>
            Returns information about the specified
            method, even if the parameter types are
            generic and are located in an abstract
            generic base class.
            </summary>
            <param name="objectType">
            Type of object containing method.
            </param>
            <param name="method">
            Name of the method.
            </param>
            <param name="types">
            Parameter types to pass to method.
            </param>
        </member>
        <member name="M:CodeSmith.Core.Reflection.MethodCaller.FindMethod(System.Type,System.String,System.Int32)">
            <summary>
            Returns information about the specified
            method, finding the method based purely
            on the method name and number of parameters.
            </summary>
            <param name="objectType">
            Type of object containing method.
            </param>
            <param name="method">
            Name of the method.
            </param>
            <param name="parameterCount">
            Number of parameters to pass to method.
            </param>
        </member>
        <member name="M:CodeSmith.Core.Reflection.MethodCaller.FindProperty(System.Type,System.String)">
            <summary>
            Finds a <see cref="T:System.Reflection.PropertyInfo"/> by name ignoring case.
            </summary>
            <param name="type">The type to search.</param>
            <param name="propertyName">Name of the property.</param>
            <returns>A <see cref="T:System.Reflection.PropertyInfo"/> matching the property name.</returns>
            <remarks>
            FindProperty will first try to get a property matching the name and case of the 
            property name specified.  If a property cannot be found, all the properties will
            be searched ignoring the case of the name.
            </remarks>
        </member>
        <member name="T:CodeSmith.Core.Reflection.ObjectCopierSettings">
            <summary>
            Settings class for the <see cref="T:CodeSmith.Core.Reflection.ObjectCopier"/>.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Reflection.ObjectCopierSettings.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Reflection.ObjectCopierSettings"/> class.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Reflection.ObjectCopierSettings.SuppressExceptions">
            <summary>
            Gets or sets a value indicating whether the <see cref="T:CodeSmith.Core.Reflection.ObjectCopier"/> will suppress exceptions when copying.
            </summary>
            <value><c>true</c> to suppress exceptions; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:CodeSmith.Core.Reflection.ObjectCopierSettings.IgnoreList">
            <summary>
            Gets or sets the list of property names to ignore when <see cref="T:CodeSmith.Core.Reflection.ObjectCopier"/> is copying properties.
            </summary>
            <value>The ignore list.</value>
        </member>
        <member name="P:CodeSmith.Core.Reflection.ObjectCopierSettings.UseDynamicCache">
            <summary>
            Gets or sets a value indicating whether <see cref="T:CodeSmith.Core.Reflection.ObjectCopier"/> will use dynamic cache.
            </summary>
            <value><c>true</c> to use dynamic cache; otherwise, <c>false</c>.</value>
        </member>
        <member name="T:CodeSmith.Core.Reflection.PropertyAccessor">
            <summary>
            An accessor class for <see cref="T:System.Reflection.PropertyInfo"/>.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Reflection.PropertyAccessor.#ctor(System.Reflection.PropertyInfo)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Reflection.PropertyAccessor"/> class.
            </summary>
            <param name="propertyInfo">The <see cref="T:System.Reflection.PropertyInfo"/> instance to use for this accessor.</param>
        </member>
        <member name="M:CodeSmith.Core.Reflection.PropertyAccessor.GetValue(System.Object)">
            <summary>
            Returns the value of the member.
            </summary>
            <param name="instance">The object whose member value will be returned.</param>
            <returns>
            The member value for the instance parameter.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Reflection.PropertyAccessor.SetValue(System.Object,System.Object)">
            <summary>
            Sets the value of the member.
            </summary>
            <param name="instance">The object whose member value will be set.</param>
            <param name="value">The new value for this member.</param>
        </member>
        <member name="P:CodeSmith.Core.Reflection.PropertyAccessor.MemberType">
            <summary>
            Gets the type of the member.
            </summary>
            <value>The type of the member.</value>
        </member>
        <member name="P:CodeSmith.Core.Reflection.PropertyAccessor.MemberInfo">
            <summary>
            Gets the member info.
            </summary>
            <value>The member info.</value>
        </member>
        <member name="P:CodeSmith.Core.Reflection.PropertyAccessor.Name">
            <summary>
            Gets the name of the member.
            </summary>
            <value>The name of the member.</value>
        </member>
        <member name="P:CodeSmith.Core.Reflection.PropertyAccessor.HasGetter">
            <summary>
            Gets a value indicating whether this member has getter.
            </summary>
            <value><c>true</c> if this member has getter; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:CodeSmith.Core.Reflection.PropertyAccessor.HasSetter">
            <summary>
            Gets a value indicating whether this member has setter.
            </summary>
            <value><c>true</c> if this member has setter; otherwise, <c>false</c>.</value>
        </member>
        <member name="T:CodeSmith.Core.Reflection.TypeAccessor">
            <summary>
            A class holding all the accessors for a <see cref="P:CodeSmith.Core.Reflection.TypeAccessor.Type"/>.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Reflection.TypeAccessor.#ctor(System.Type)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Reflection.TypeAccessor"/> class.
            </summary>
            <param name="type">The <see cref="P:CodeSmith.Core.Reflection.TypeAccessor.Type"/> this accessor is for.</param>
        </member>
        <member name="M:CodeSmith.Core.Reflection.TypeAccessor.Create">
            <summary>
            Creates a new instance of accessors type.
            </summary>
            <returns>A new instance of accessors type.</returns>
        </member>
        <member name="M:CodeSmith.Core.Reflection.TypeAccessor.FindProperty(System.String)">
            <summary>
            Searches for the public property with the specified name.
            </summary>
            <param name="name">The name of the property to find.</param>
            <returns>An <see cref="T:CodeSmith.Core.Reflection.IMemberAccessor"/> instance for the property if found; otherwise <c>null</c>.</returns>
        </member>
        <member name="M:CodeSmith.Core.Reflection.TypeAccessor.FindProperty(System.String,System.Reflection.BindingFlags)">
            <summary>
            Searches for the specified property, using the specified binding constraints.
            </summary>
            <param name="name">The name of the property to find.</param>
            <param name="flags">A bitmask comprised of one or more <see cref="T:System.Reflection.BindingFlags"/> that specify how the search is conducted.</param>
            <returns>
            An <see cref="T:CodeSmith.Core.Reflection.IMemberAccessor"/> instance for the property if found; otherwise <c>null</c>.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Reflection.TypeAccessor.FindField(System.String)">
            <summary>
            Searches for the specified field with the specified name.
            </summary>
            <param name="name">The name of the field to find.</param>
            <returns>
            An <see cref="T:CodeSmith.Core.Reflection.IMemberAccessor"/> instance for the field if found; otherwise <c>null</c>.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Reflection.TypeAccessor.FindField(System.String,System.Reflection.BindingFlags)">
            <summary>
            Searches for the specified field, using the specified binding constraints.
            </summary>
            <param name="name">The name of the field to find.</param>
            <param name="flags">A bitmask comprised of one or more <see cref="T:System.Reflection.BindingFlags"/> that specify how the search is conducted.</param>
            <returns>
            An <see cref="T:CodeSmith.Core.Reflection.IMemberAccessor"/> instance for the field if found; otherwise <c>null</c>.
            </returns>
        </member>
        <member name="P:CodeSmith.Core.Reflection.TypeAccessor.Type">
            <summary>
            Gets the <see cref="P:CodeSmith.Core.Reflection.TypeAccessor.Type"/> this accessor is for.
            </summary>
            <value>The <see cref="P:CodeSmith.Core.Reflection.TypeAccessor.Type"/> this accessor is for.</value>
        </member>
        <member name="T:CodeSmith.Core.Reflection.TypeSpec">
            <summary>
            A class to parse an assembly-qualified name of a Type into its parts.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Reflection.TypeSpec.Parse(System.String)">
            <summary>
            Parses an assembly-qualified name of a Type into its parts.
            </summary>
            <param name="typeName">The assembly-qualified name of the Type.</param>
            <returns></returns>
        </member>
        <member name="T:CodeSmith.Core.Rules.RuleOperator">
            <summary>
            The rule operator for criteria.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Rules.RuleOperator.Equal">
            <summary>
            A comparison for equality.  
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Rules.RuleOperator.GreaterThan">
            <summary>
            A comparison for greater than.  
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Rules.RuleOperator.GreaterThanOrEqual">
            <summary>
            A comparison for greater than or equal to. 
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Rules.RuleOperator.LessThan">
            <summary>
            A comparison for less than.  
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Rules.RuleOperator.LessThanOrEqual">
            <summary>
            A comparison for less than or equal to.  
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Rules.RuleOperator.NotEqual">
            <summary>
            A comparison for inequality.  
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Rules.RuleOperator.Contains">
            <summary>
            A comparison for partial match
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Scheduler.DefaultJobLockProvider">
            <summary>
            A default lock provider
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Scheduler.JobLockProvider">
            <summary>
            A base class for JobLockProviders.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobLockProvider.Acquire(System.String)">
            <summary>
            Acquires a lock on specified job name.
            </summary>
            <param name="lockName">Name of the lock, usually the job name.</param>
            <returns>A <see cref="T:CodeSmith.Core.Scheduler.JobLock"/> object that will release the lock when disposed.</returns>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobLockProvider.Release(CodeSmith.Core.Scheduler.JobLock)">
            <summary>
            Releases the specified job lock.
            </summary>
            <param name="jobLock">The job lock.</param>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.DefaultJobLockProvider.Acquire(System.String)">
            <summary>
            Acquires a lock on specified job name.
            </summary>
            <param name="lockName">Name of the lock, usually the job name.</param>
            <returns>A <see cref="T:CodeSmith.Core.Scheduler.JobLock"/> object that will release the lock when disposed.</returns>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.DefaultJobLockProvider.Release(CodeSmith.Core.Scheduler.JobLock)">
            <summary>
            Releases the specified job lock.
            </summary>
            <param name="jobLock">The job lock.</param>
        </member>
        <member name="T:CodeSmith.Core.Scheduler.IJob">
            <summary>
            Interface for a scheduled job.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.IJob.Run(CodeSmith.Core.Scheduler.JobContext)">
            <summary>
            Runs this job.
            </summary>
            <param name="context">The job context.</param>
            <returns>
            A <see cref="T:CodeSmith.Core.Scheduler.JobResult"/> instance indicating the results of the job.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.IJob.Cancel">
            <summary>
            Cancels this job.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.IJobConfiguration.Name">
            <summary>
            Gets or sets the name of the job.
            </summary>
            <value>The name of the job.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.IJobConfiguration.Description">
            <summary>
            Gets or sets the description for the job.
            </summary>
            <value>The description for the job.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.IJobConfiguration.Group">
            <summary>
            Gets or sets the group for the job.
            </summary>
            <value>The group for the job.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.IJobConfiguration.Interval">
            <summary>
            Gets or sets the timer interval.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.IJobConfiguration.IsTimeOfDay">
            <summary>
            Gets or sets a value indicating whether Interval is a time of day.
            </summary>
            <value>
            	<c>true</c> if Interval is time of day; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.IJobConfiguration.Type">
            <summary>
            Gets or sets the assembly type that contains the job to run.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.IJobConfiguration.KeepAlive">
            <summary>
            Gets or sets a value indicating whether to keep alive the instance between job runs.
            </summary>
            <value><c>true</c> to keep alive instance; otherwise, <c>false</c>.</value>
            <remarks>
            Setting this to true, the default value, will keep the <see cref="T:CodeSmith.Core.Scheduler.IJob"/> instance alive between runs.
            </remarks>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.IJobConfiguration.JobLockProvider">
            <summary>
            Gets or sets the name of the provider that is used to lock the job when running.
            </summary>
            <value>The type to use to lock the job.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.IJobConfiguration.JobHistoryProvider">
            <summary>
            Gets or sets the job history provider.
            </summary>
            <value>The job history provider.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.IJobConfiguration.Arguments">
            <summary>
            Gets the arguments.
            </summary>
            <value>The arguments.</value>
        </member>
        <member name="T:CodeSmith.Core.Scheduler.Job">
            <summary>
            A class representing a scheduled job.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.Job.#ctor(CodeSmith.Core.Scheduler.IJobConfiguration,System.Type,CodeSmith.Core.Scheduler.JobLockProvider,CodeSmith.Core.Scheduler.JobHistoryProvider,CodeSmith.Core.Dependency.IDependencyResolver)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Scheduler.Job"/> class.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.Job.Start">
            <summary>
            Starts this job timer.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.Job.Stop">
            <summary>
            Stops this job timer.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.Job.Stop(System.Boolean)">
            <summary>
            Stops this job timer.
            </summary>
            <param name="cancel">if set to <c>true</c> cancel running job.</param>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.Job.RunAsync">
            <summary>
            Runs this job asynchronous.
            </summary>
            <remarks>Can be used to speed up the job when an event occurs.</remarks>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.Job.Run(System.TimeSpan)">
            <summary>
            Runs this job at the specified time.
            </summary>
            <param name="runTime">The run time.</param>
            <remarks>Can be used to speed up the job when an event occurs.</remarks>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.Job.Run">
            <summary>
            Runs this job.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.Job.Name">
            <summary>
            Gets the name.
            </summary>
            <value>The name.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.Job.Description">
            <summary>
            Gets the description.
            </summary>
            <value>The description.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.Job.Group">
            <summary>
            Gets the group name.
            </summary>
            <value>The group name.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.Job.Arguments">
            <summary>
            Gets the arguments.
            </summary>
            <value>The arguments.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.Job.Interval">
            <summary>
            Gets the job interval.
            </summary>
            <value>The job interval.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.Job.IsTimeOfDay">
            <summary>
            Gets a value indicating whether Interval is a time of day.
            </summary>
            <value>
            	<c>true</c> if Interval is time of day; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.Job.KeepAlive">
            <summary>
            Gets a value indicating whether to keep alive the job instance.
            </summary>
            <value><c>true</c> to keep alive; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.Job.LastRunStartTime">
            <summary>
            Gets the last run start time.
            </summary>
            <value>The last run start time.</value>
            <remarks>This property is thread safe.</remarks>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.Job.LastRunFinishTime">
            <summary>
            Gets the last run finish time.
            </summary>
            <value>The last run finish time.</value>
            <remarks>This property is thread safe.</remarks>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.Job.LastRunDuration">
            <summary>
            Gets the last run duration.
            </summary>
            <value>The last run duration.</value>
            <remarks>This property is thread safe.</remarks>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.Job.NextRunTime">
            <summary>
            Gets the next run time.
            </summary>
            <value>The next run time.</value>
            <remarks>This property is thread safe.</remarks>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.Job.Status">
            <summary>
            Gets the status.
            </summary>
            <value>The status.</value>
            <remarks>This property is thread safe.</remarks>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.Job.LastStatus">
            <summary>
            Gets the last status.
            </summary>
            <value>The last status.</value>
            <remarks>This property is thread safe.</remarks>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.Job.LastResult">
            <summary>
            Gets the last result.
            </summary>
            <value>The last result.</value>
            <remarks>This property is thread safe.</remarks>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.Job.IsBusy">
            <summary>
            Gets a value indicating whether this job is busy.
            </summary>
            <value><c>true</c> if this job is busy; otherwise, <c>false</c>.</value>
            <remarks>This property is thread safe.</remarks>
        </member>
        <member name="T:CodeSmith.Core.Scheduler.JobBase">
            <summary>
            A base class for jobs
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobBase.Run(CodeSmith.Core.Scheduler.JobContext)">
            <summary>
            Runs this job.
            </summary>
            <param name="context">The job context.</param>
            <returns>
            A <see cref="T:CodeSmith.Core.Scheduler.JobResult"/> instance indicating the results of the job.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobBase.Cancel">
            <summary>
            Cancels this job.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobBase.CancelPending">
            <summary>
            Gets a value indicating whether a cancel request is pending.
            </summary>
            <value><c>true</c> if cancel is pending; otherwise, <c>false</c>.</value>
        </member>
        <member name="T:CodeSmith.Core.Scheduler.JobCollection">
            <summary>
            A keyed collection of Jobs.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobCollection.GetKeyForItem(CodeSmith.Core.Scheduler.Job)">
            <summary>
            When implemented in a derived class, extracts the key from the specified element.
            </summary>
            <param name="item">The element from which to extract the key.</param>
            <returns>The key for the specified element.</returns>
        </member>
        <member name="T:CodeSmith.Core.Scheduler.JobConfiguration">
            <summary>
            A class holding job configuration.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobConfiguration.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Scheduler.JobConfiguration"/> class.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobConfiguration.Name">
            <summary>
            Gets or sets the name of the job.
            </summary>
            <value>The name of the job.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobConfiguration.Description">
            <summary>
            Gets or sets the description for the job.
            </summary>
            <value>The description for the job.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobConfiguration.Group">
            <summary>
            Gets or sets the group for the job.
            </summary>
            <value>The group for the job.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobConfiguration.Interval">
            <summary>
            Gets or sets the timer interval.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobConfiguration.IsTimeOfDay">
            <summary>
            Gets or sets a value indicating whether Interval is a time of day.
            </summary>
            <value><c>true</c> if Interval is time of day; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobConfiguration.Type">
            <summary>
            Gets or sets the assembly type that contains the job to run.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobConfiguration.KeepAlive">
            <summary>
            Gets or sets a value indicating whether to keep alive the instance between job runs.
            </summary>
            <value><c>true</c> to keep alive instance; otherwise, <c>false</c>.</value>
            <remarks>
            Setting this to true, the default value, will keep the <see cref="T:CodeSmith.Core.Scheduler.IJob"/> instance alive between runs.
            </remarks>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobConfiguration.JobLockProvider">
            <summary>
            Gets or sets the name of the provider that is used to lock the job when running.
            </summary>
            <value>The type to use to lock the job.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobConfiguration.JobHistoryProvider">
            <summary>
            Gets or sets the job history provider.
            </summary>
            <value>The job history provider.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobConfiguration.JobFactory">
            <summary>
            Gets or sets the job factory.
            </summary>
            <value>The job factory.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobConfiguration.Arguments">
            <summary>
            Gets the arguments.
            </summary>
            <value>The arguments.</value>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobContext.#ctor(System.String,System.String,System.DateTime,CodeSmith.Core.Scheduler.JobStatus,System.Collections.Generic.IDictionary{System.String,System.Object},System.Action{System.String},CodeSmith.Core.Dependency.IDependencyResolver)">
            <summary>
            Initializes a new instance of the <see cref="T:System.MarshalByRefObject" /> class. 
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobContext.UpdateStatus(System.String)">
            <summary>
            Updates the status.
            </summary>
            <param name="message">The message.</param>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobContext.Name">
            <summary>
            Gets the name of the job.
            </summary>
            <value>The name of the job.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobContext.Description">
            <summary>
            Gets the description for the job.
            </summary>
            <value>The description for the job.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobContext.Arguments">
            <summary>
            Gets the arguments.
            </summary>
            <value>The arguments.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobContext.LastStatus">
            <summary>
            Gets the last status.
            </summary>
            <value>The last status.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobContext.LastRunTime">
            <summary>
            Gets the last run time.
            </summary>
            <value>The last run time.</value>
        </member>
        <member name="T:CodeSmith.Core.Scheduler.JobEventArgs">
            <summary>
            Job event arguments.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobEventArgs.#ctor(System.String,CodeSmith.Core.Scheduler.JobAction)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Scheduler.JobEventArgs"/> class.
            </summary>
            <param name="jobName">Name of the job.</param>
            <param name="action">The action.</param>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobEventArgs.#ctor(System.String,CodeSmith.Core.Scheduler.JobAction,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Scheduler.JobEventArgs"/> class.
            </summary>
            <param name="jobName">Name of the job.</param>
            <param name="action">The action.</param>
            <param name="jobId">The job id.</param>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobEventArgs.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobEventArgs.JobName">
            <summary>
            Gets or sets the name of the job.
            </summary>
            <value>The name of the job.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobEventArgs.Action">
            <summary>
            Gets or sets the action.
            </summary>
            <value>The action.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobEventArgs.JobId">
            <summary>
            Gets or sets the job id.
            </summary>
            <value>The job id.</value>
        </member>
        <member name="T:CodeSmith.Core.Scheduler.JobHistoryProvider">
            <summary>
            A provider to save and restore the history for a job.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobHistoryProvider.RestoreHistory(CodeSmith.Core.Scheduler.Job)">
            <summary>
            Restores the latest job history from the provider.
            </summary>
            <param name="job">The job to restore the history to.</param>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobHistoryProvider.SaveHistory(CodeSmith.Core.Scheduler.Job)">
            <summary>
            Saves the history to the provider.
            </summary>
            <param name="job">The job to save the history on.</param>
        </member>
        <member name="T:CodeSmith.Core.Scheduler.JobLockProviderCollection">
            <summary>
            A <see cref="T:CodeSmith.Core.Scheduler.JobLockProvider"/> collection.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobLockProviderCollection.Add(System.Configuration.Provider.ProviderBase)">
            <summary>
            Adds a provider to the collection.
            </summary>
            <param name="provider">The provider to be added.</param>
            <exception cref="T:System.NotSupportedException">The collection is read-only.</exception>
            <exception cref="T:System.ArgumentNullException">
            	<paramref name="provider"/> is null.</exception>
            <exception cref="T:System.ArgumentException">The <see cref="P:System.Configuration.Provider.ProviderBase.Name"/> of <paramref name="provider"/> is null.- or -The length of the <see cref="P:System.Configuration.Provider.ProviderBase.Name"/> of <paramref name="provider"/> is less than 1.</exception>
            <PermissionSet>
            	<IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="UnmanagedCode, ControlEvidence"/>
            </PermissionSet>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobLockProviderCollection.Item(System.String)">
            <summary>
            Gets the <see cref="T:CodeSmith.Core.Scheduler.JobLockProvider"/> with the specified name.
            </summary>
            <value>An instance of <see cref="T:CodeSmith.Core.Scheduler.JobLockProvider"/>.</value>
        </member>
        <member name="T:CodeSmith.Core.Scheduler.JobProvider">
            <summary>
            A base class for job providers.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobProvider.GetJobs">
            <summary>
            Gets an <see cref="T:System.Collections.IEnumerable"/> list <see cref="T:CodeSmith.Core.Scheduler.IJobConfiguration"/> jobs.
            </summary>
            <returns>An <see cref="T:System.Collections.IEnumerable"/> list <see cref="T:CodeSmith.Core.Scheduler.IJobConfiguration"/> jobs.</returns>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobProvider.IsReloadRequired(System.DateTime)">
            <summary>
            Determines whether a job reload is required.
            </summary>
            <param name="lastLoad">The last load.</param>
            <returns>
            	<c>true</c> if a job reload is required; otherwise, <c>false</c>.
            </returns>
            <remarks>
            If true is return, the <see cref="T:CodeSmith.Core.Scheduler.JobManager"/> will call Reload that will 
            in turn call <see cref="M:CodeSmith.Core.Scheduler.JobProvider.GetJobs"/> on this provider.
            </remarks>
        </member>
        <member name="T:CodeSmith.Core.Scheduler.JobElementCollection">
            <summary>
            A configuration element collection class for <see cref="T:CodeSmith.Core.Scheduler.JobElement"/>.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobElementCollection.CreateNewElement">
            <summary>
            When overridden in a derived class, creates a new <see cref="T:System.Configuration.ConfigurationElement"/>.
            </summary>
            <returns>
            A new <see cref="T:System.Configuration.ConfigurationElement"/>.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobElementCollection.GetElementKey(System.Configuration.ConfigurationElement)">
            <summary>
            Gets the element key for a specified configuration element when overridden in a derived class.
            </summary>
            <param name="element">The <see cref="T:System.Configuration.ConfigurationElement"/> to return the key for.</param>
            <returns>
            An <see cref="T:System.Object"/> that acts as the key for the specified <see cref="T:System.Configuration.ConfigurationElement"/>.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobElementCollection.System#Collections#Generic#IEnumerable{CodeSmith#Core#Scheduler#IJobConfiguration}#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.
            </returns>
            <filterpriority>1</filterpriority>
        </member>
        <member name="T:CodeSmith.Core.Scheduler.JobHttpModule">
            <summary>
            A Http module class to start the <see cref="T:CodeSmith.Core.Scheduler.JobManager"/>.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobHttpModule.Dispose">
            <summary>
            Disposes of the resources (other than memory) used by the module that implements <see cref="T:System.Web.IHttpModule"/>.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobHttpModule.Init(System.Web.HttpApplication)">
            <summary>
            Initializes a module and prepares it to handle requests.
            </summary>
            <param name="context">An <see cref="T:System.Web.HttpApplication"/> that provides access to the methods, properties, and events common to all application objects within an ASP.NET application</param>
        </member>
        <member name="T:CodeSmith.Core.Scheduler.JobLock">
            <summary>
            A base class representing a job lock.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobLock.#ctor(CodeSmith.Core.Scheduler.JobLockProvider,System.String,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Scheduler.JobLock"/> class.
            </summary>
            <param name="provider">The lock provider to call when disposing.</param>
            <param name="lockName">Name of the lock.</param>
            <param name="lockAcquired">if set to <c>true</c> lock was acquired.</param>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobLock.DisposeUnmanagedResources">
            <summary>
            Disposes the unmanaged resources.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobLock.SetReleased">
            <summary>
            Sets the lock to released.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobLock.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
            </returns>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobLock.LockName">
            <summary>
            Gets the name of the lock.
            </summary>
            <value>The name of the lock.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobLock.LockAcquired">
            <summary>
            Gets a value indicating whether the lock was acquired successfully.
            </summary>
            <value><c>true</c> if the was lock acquired; otherwise, <c>false</c>.</value>
        </member>
        <member name="T:CodeSmith.Core.Scheduler.JobManager">
            <summary>
            A class to manage the jobs for the Scheduler.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobManager.OnJobManagerStarting(CodeSmith.Core.Scheduler.JobEventArgs)">
            <summary>
            Raises the <see cref="E:CodeSmith.Core.Scheduler.JobManager.JobManagerStarting"/> event.
            </summary>
            <param name="e">The <see cref="T:CodeSmith.Core.Scheduler.JobEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobManager.OnJobManagerStarted(CodeSmith.Core.Scheduler.JobEventArgs)">
            <summary>
            Raises the <see cref="E:CodeSmith.Core.Scheduler.JobManager.JobManagerStarted"/> event.
            </summary>
            <param name="e">The <see cref="T:CodeSmith.Core.Scheduler.JobEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobManager.OnJobManagerStopping(CodeSmith.Core.Scheduler.JobEventArgs)">
            <summary>
            Raises the <see cref="E:CodeSmith.Core.Scheduler.JobManager.JobManagerStopping"/> event.
            </summary>
            <param name="e">The <see cref="T:CodeSmith.Core.Scheduler.JobEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobManager.OnJobStarting(CodeSmith.Core.Scheduler.JobEventArgs)">
            <summary>
            Raises the <see cref="E:CodeSmith.Core.Scheduler.JobManager.JobStarting"/> event.
            </summary>
            <param name="e">The <see cref="T:CodeSmith.Core.Scheduler.JobEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobManager.OnJobStopping(CodeSmith.Core.Scheduler.JobEventArgs)">
            <summary>
            Raises the <see cref="E:CodeSmith.Core.Scheduler.JobManager.JobStopping"/> event.
            </summary>
            <param name="e">The <see cref="T:CodeSmith.Core.Scheduler.JobEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobManager.OnJobRunning(CodeSmith.Core.Scheduler.JobEventArgs)">
            <summary>
            Raises the <see cref="E:CodeSmith.Core.Scheduler.JobManager.JobRunning"/> event.
            </summary>
            <param name="e">The <see cref="T:CodeSmith.Core.Scheduler.JobEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobManager.OnJobCompleted(CodeSmith.Core.Scheduler.JobCompletedEventArgs)">
            <summary>
            Raises the <see cref="E:CodeSmith.Core.Scheduler.JobManager.JobCompleted"/> event.
            </summary>
            <param name="e">The <see cref="T:CodeSmith.Core.Scheduler.JobCompletedEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobManager.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Scheduler.JobManager"/> class.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobManager.Initialize">
            <summary>
            Initializes the jobs for this manager.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobManager.Start">
            <summary>
            Starts all jobs in this manager.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobManager.Stop">
            <summary>
            Stops all jobs in this manager.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobManager.RunJob(System.String)">
            <summary>
            Manually run the job with the specified name.
            </summary>
            <param name="jobName"></param>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobManager.StartJob(System.String)">
            <summary>
            Starts the job manually with the specified name.
            </summary>
            <param name="jobName"></param>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobManager.Reload">
            <summary>
            Reload by stopping all jobs and reloading configuration. All the jobs will be restarted after reload.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobManager.Reload(System.Boolean)">
            <summary>
            Reload by stopping all jobs and reloading configuration.
            </summary>
            <param name="startAfter">if set to <c>true</c> start the jobs after reload.</param>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobManager.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
        </member>
        <member name="E:CodeSmith.Core.Scheduler.JobManager.JobManagerStarting">
            <summary>
            Occurs when the JobManager starts.
            </summary>
            <seealso cref="M:CodeSmith.Core.Scheduler.JobManager.Start"/>
        </member>
        <member name="E:CodeSmith.Core.Scheduler.JobManager.JobManagerStarted">
            <summary>
            Occurs after the JobManager starts.
            </summary>
            <seealso cref="M:CodeSmith.Core.Scheduler.JobManager.Start"/>
        </member>
        <member name="E:CodeSmith.Core.Scheduler.JobManager.JobManagerStopping">
            <summary>
            Occurs when the JobManager stops.
            </summary>
            <seealso cref="M:CodeSmith.Core.Scheduler.JobManager.Stop"/>
        </member>
        <member name="E:CodeSmith.Core.Scheduler.JobManager.JobStarting">
            <summary>
            Occurs when the Job is starting.
            </summary>
            <seealso cref="M:CodeSmith.Core.Scheduler.Job.Start"/>
        </member>
        <member name="E:CodeSmith.Core.Scheduler.JobManager.JobStopping">
            <summary>
            Occurs when the Job is stopping.
            </summary>
            <seealso cref="M:CodeSmith.Core.Scheduler.Job.Stop"/>
        </member>
        <member name="E:CodeSmith.Core.Scheduler.JobManager.JobRunning">
            <summary>
            Occurs when the Job is running.
            </summary>
            <seealso cref="M:CodeSmith.Core.Scheduler.Job.Run"/>
        </member>
        <member name="E:CodeSmith.Core.Scheduler.JobManager.JobCompleted">
            <summary>
            Occurs when the Job run is completed.
            </summary>
            <seealso cref="M:CodeSmith.Core.Scheduler.Job.Run"/>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobManager.ActiveJobs">
            <summary>
            Gets the number of active jobs.
            </summary>
            <value>The number of active jobs.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobManager.Jobs">
            <summary>
            Gets the collection of jobs.
            </summary>
            <value>The collection of jobs.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobManager.Current">
            <summary>
            Gets the current instance of <see cref="T:CodeSmith.Core.Scheduler.JobManager"/>.
            </summary>
            <value>The current instance.</value>
        </member>
        <member name="T:CodeSmith.Core.Scheduler.JobElement">
            <summary>
            The job configuration element
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobElement.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Scheduler.JobElement"/> class.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobElement.OnDeserializeUnrecognizedAttribute(System.String,System.String)">
            <summary>
            Gets a value indicating whether an unknown attribute is encountered during deserialization.
            </summary>
            <param name="name">The name of the unrecognized attribute.</param>
            <param name="value">The value of the unrecognized attribute.</param>
            <returns>
            true when an unknown attribute is encountered while deserializing; otherwise, false.
            </returns>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobElement.Name">
            <summary>
            Gets or sets the name of the job.
            </summary>
            <value>The name of the job.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobElement.Description">
            <summary>
            Gets or sets the description for the job.
            </summary>
            <value>The description for the job.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobElement.Group">
            <summary>
            Gets or sets the group for the job.
            </summary>
            <value>The group for the job.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobElement.Interval">
            <summary>
            Gets or sets the timer interval.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobElement.IsTimeOfDay">
            <summary>
            Gets or sets a value indicating whether Interval is a time of day.
            </summary>
            <value><c>true</c> if Interval is time of day; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobElement.Type">
            <summary>
            Gets or sets the assembly type that contains the job to run.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobElement.KeepAlive">
            <summary>
            Gets or sets a value indicating whether to keep alive the instance between job runs.
            </summary>
            <value><c>true</c> to keep alive instance; otherwise, <c>false</c>.</value>
            <remarks>
            Setting this to true, the default value, will keep the <see cref="T:CodeSmith.Core.Scheduler.IJob"/> instance alive between runs.
            </remarks>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobElement.JobLockProvider">
            <summary>
            Gets or sets the name of the provider that is used to lock the job when running.
            </summary>
            <value>The type to use to lock the job.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobElement.JobHistoryProvider">
            <summary>
            Gets or sets the job history provider.
            </summary>
            <value>The job history provider.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobElement.Arguments">
            <summary>
            Gets the arguments.
            </summary>
            <value>The arguments.</value>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobManagerSection.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Scheduler.JobManagerSection"/> class.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobManagerSection.JobProviderPoll">
            <summary>
            Gets or sets the poll interval for calling <see cref="T:CodeSmith.Core.Scheduler.JobProvider"/>.IsReloadRequired.
            </summary>
            <remarks>Set to <see cref="T:System.TimeSpan"/>.Zero to disable reload checking.</remarks>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobManagerSection.JobProviders">
            <summary>
            Gets the providers to configure jobs.
            </summary>
            <value>The job configuration providers.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobManagerSection.JobLockProviders">
            <summary>
            Gets the job lock providers.
            </summary>
            <value>The job lock providers.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobManagerSection.Jobs">
            <summary>
            The jobs to schedule.
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Scheduler.JobResult">
            <summary>
            A class representing the results from a job.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobResult.Cancelled">
            <summary>
            Gets or sets a value indicating whether this <see cref="T:CodeSmith.Core.Scheduler.JobResult"/> is cancelled.
            </summary>
            <value><c>true</c> if cancelled; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobResult.Error">
            <summary>
            Gets or sets the error for the job.
            </summary>
            <value>The error.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobResult.Result">
            <summary>
            Gets or sets the result of the job.
            </summary>
            <value>The result of the job.</value>
        </member>
        <member name="T:CodeSmith.Core.Scheduler.JobCompletedEventArgs">
            <summary>
            Job run completed event arguments.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobCompletedEventArgs.#ctor(System.String,CodeSmith.Core.Scheduler.JobAction,System.DateTime,System.DateTime,System.String,CodeSmith.Core.Scheduler.JobStatus)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Scheduler.JobCompletedEventArgs"/> class.
            </summary>
            <param name="jobName">Name of the job.</param>
            <param name="action">The action.</param>
            <param name="started">The time the job run started.</param>
            <param name="finished">The time the job run ended.</param>
            <param name="result">The result of the job run.</param>
            <param name="status">The status of the job run.</param>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobCompletedEventArgs.#ctor(System.String,CodeSmith.Core.Scheduler.JobAction,System.String,System.DateTime,System.DateTime,System.String,CodeSmith.Core.Scheduler.JobStatus)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Scheduler.JobCompletedEventArgs"/> class.
            </summary>
            <param name="jobName">Name of the job.</param>
            <param name="action">The action.</param>
            <param name="jobId">The job id.</param>
            <param name="started">The time the job run started.</param>
            <param name="finished">The time the job run ended.</param>
            <param name="result">The result of the job run.</param>
            <param name="status">The status of the job run.</param>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.JobCompletedEventArgs.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobCompletedEventArgs.Started">
            <summary>
            Gets or sets the time that the job run started.
            </summary>
            <value>The time the job run started.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobCompletedEventArgs.Finished">
            <summary>
            Gets or sets the time that the job run finished.
            </summary>
            <value>The time the job run finished.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobCompletedEventArgs.Result">
            <summary>
            Gets or sets the result of the job run.
            </summary>
            <value>The result of the job run.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobCompletedEventArgs.Status">
            <summary>
            Gets or sets the status of the job run.
            </summary>
            <value>The status of the job run.</value>
        </member>
        <member name="P:CodeSmith.Core.Scheduler.JobCompletedEventArgs.Duration">
            <summary>
            Gets the duration of the job run.
            </summary>
            <value>The duration of the job run.</value>
        </member>
        <member name="T:CodeSmith.Core.Scheduler.JobStatus">
            <summary>
            The status state for a job
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Scheduler.JobStatus.None">
            <summary>The default job status.</summary>
        </member>
        <member name="F:CodeSmith.Core.Scheduler.JobStatus.Stopped">
            <summary>The job is stopped.</summary>
        </member>
        <member name="F:CodeSmith.Core.Scheduler.JobStatus.Running">
            <summary>The job is running.</summary>
        </member>
        <member name="F:CodeSmith.Core.Scheduler.JobStatus.Waiting">
            <summary>The job is waiting for the next run time.</summary>
        </member>
        <member name="F:CodeSmith.Core.Scheduler.JobStatus.Error">
            <summary>The job result was in error.</summary>
        </member>
        <member name="F:CodeSmith.Core.Scheduler.JobStatus.Completed">
            <summary>The job result was completed.</summary>
        </member>
        <member name="F:CodeSmith.Core.Scheduler.JobStatus.Canceled">
            <summary>The job result was canceled.</summary>
        </member>
        <member name="T:CodeSmith.Core.Reflection.ObjectCopier">
            <summary>
            Copy data from a source into a target object by copying public property values.
            </summary>
            <remarks></remarks>
        </member>
        <member name="M:CodeSmith.Core.Reflection.ObjectCopier.Copy(System.Object,System.Object)">
            <summary>
            Copies values from the source into the properties of the target.
            </summary>
            <param name="source">An object containing the source values.</param>
            <param name="target">An object with properties to be set from the source.</param>
            <remarks>
            The property names and types of the source object must match the property names and types
            on the target object. Source properties may not be indexed. 
            Target properties may not be readonly or indexed.
            </remarks>
        </member>
        <member name="M:CodeSmith.Core.Reflection.ObjectCopier.Copy(System.Object,System.Object,System.String[])">
            <summary>
            Copies values from the source into the properties of the target.
            </summary>
            <param name="source">An object containing the source values.</param>
            <param name="target">An object with properties to be set from the source.</param>
            <param name="ignoreList">A list of property names to ignore. 
            These properties will not be set on the target object.</param>
            <remarks>
            The property names and types of the source object must match the property names and types
            on the target object. Source properties may not be indexed. 
            Target properties may not be readonly or indexed.
            </remarks>
        </member>
        <member name="M:CodeSmith.Core.Reflection.ObjectCopier.Copy(System.Object,System.Object,System.Boolean,System.String[])">
            <summary>
            Copies values from the source into the properties of the target.
            </summary>
            <param name="source">An object containing the source values.</param>
            <param name="target">An object with properties to be set from the source.</param>
            <param name="ignoreList">A list of property names to ignore. 
            These properties will not be set on the target object.</param>
            <param name="suppressExceptions">If <see langword="true"/>, any exceptions will be suppressed.</param>
            <remarks>
            <para>
            The property names and types of the source object must match the property names and types
            on the target object. Source properties may not be indexed. 
            Target properties may not be readonly or indexed.
            </para><para>
            Properties to copy are determined based on the source object. Any properties
            on the source object marked with the <see cref="T:System.ComponentModel.BrowsableAttribute"/> equal
            to false are ignored.
            </para>
            </remarks>
        </member>
        <member name="M:CodeSmith.Core.Reflection.ObjectCopier.Copy(System.Object,System.Object,CodeSmith.Core.Reflection.ObjectCopierSettings)">
            <summary>
            Copies values from the source into the properties of the target.
            </summary>
            <param name="source">An object containing the source values.</param>
            <param name="target">An object with properties to be set from the source.</param>
            <param name="settings">The settings to use when copying properties.</param>
            <remarks>
            	<para>
            The property names and types of the source object must match the property names and types
            on the target object. Source properties may not be indexed.
            Target properties may not be readonly or indexed.
            </para><para>
            Properties to copy are determined based on the source object. Any properties
            on the source object marked with the <see cref="T:System.ComponentModel.BrowsableAttribute"/> equal
            to false are ignored.
            </para>
            </remarks>
        </member>
        <member name="M:CodeSmith.Core.Reflection.ObjectCopier.Copy(System.Object,System.Collections.Generic.IDictionary{System.String,System.Object})">
            <summary>
            Copies values from the source into the target <see cref="T:System.Collections.IDictionary"/>.
            </summary>
            <param name="source">The source object.</param>
            <param name="target">The target <see cref="T:System.Collections.IDictionary"/>.</param>
        </member>
        <member name="M:CodeSmith.Core.Reflection.ObjectCopier.Copy(System.Object,System.Collections.Generic.IDictionary{System.String,System.Object},System.String[])">
            <summary>
            Copies values from the source into the target <see cref="T:System.Collections.IDictionary"/>.
            </summary>
            <param name="source">The source object.</param>
            <param name="target">The target <see cref="T:System.Collections.IDictionary"/>.</param>
            <param name="ignoreList">A list of property names to ignore. 
            These properties will not be added to the targeted <see cref="T:System.Collections.IDictionary"/>.</param>
        </member>
        <member name="M:CodeSmith.Core.Reflection.ObjectCopier.Copy(System.Object,System.Collections.Generic.IDictionary{System.String,System.Object},System.Boolean,System.String[])">
            <summary>
            Copies values from the source into the target <see cref="T:System.Collections.IDictionary"/>.
            </summary>
            <param name="source">The source object.</param>
            <param name="target">The target <see cref="T:System.Collections.IDictionary"/>.</param>
            <param name="ignoreList">A list of property names to ignore. 
            These properties will not be added to the targeted <see cref="T:System.Collections.IDictionary"/>.</param>
            <param name="suppressExceptions">If <see langword="true"/>, any exceptions will be suppressed.</param>
        </member>
        <member name="M:CodeSmith.Core.Reflection.ObjectCopier.Copy(System.Object,System.Collections.Generic.IDictionary{System.String,System.Object},CodeSmith.Core.Reflection.ObjectCopierSettings)">
            <summary>
            Copies values from the source into the target <see cref="T:System.Collections.IDictionary"/>.
            </summary>
            <param name="source">The source object.</param>
            <param name="target">The target <see cref="T:System.Collections.IDictionary"/>.</param>
            <param name="settings">The settings to use when copying properties.</param>
        </member>
        <member name="M:CodeSmith.Core.Reflection.ObjectCopier.Copy(System.Collections.Specialized.NameValueCollection,System.Object)">
            <summary>
            Copies values from the <see cref="T:System.Collections.Specialized.NameValueCollection"/> into the properties of the target.
            </summary>
            <param name="source">The <see cref="T:System.Collections.Specialized.NameValueCollection"/> source.</param>
            <param name="target">The target object.</param>
        </member>
        <member name="M:CodeSmith.Core.Reflection.ObjectCopier.Copy(System.Collections.Specialized.NameValueCollection,System.Object,System.String[])">
            <summary>
            Copies values from the <see cref="T:System.Collections.Specialized.NameValueCollection"/> into the properties of the target.
            </summary>
            <param name="source">The <see cref="T:System.Collections.Specialized.NameValueCollection"/> source.</param>
            <param name="target">The target object.</param>
            <param name="ignoreList">A list of property names to ignore. 
            These properties will not be set on the target object.</param>
        </member>
        <member name="M:CodeSmith.Core.Reflection.ObjectCopier.Copy(System.Collections.Specialized.NameValueCollection,System.Object,System.Boolean,System.String[])">
            <summary>
            Copies values from the <see cref="T:System.Collections.Specialized.NameValueCollection"/> into the properties of the target.
            </summary>
            <param name="source">The <see cref="T:System.Collections.Specialized.NameValueCollection"/> source.</param>
            <param name="target">The target object.</param>
            <param name="ignoreList">A list of property names to ignore. 
            These properties will not be set on the target object.</param>
            <param name="suppressExceptions">If <see langword="true"/>, any exceptions will be suppressed.</param>
        </member>
        <member name="M:CodeSmith.Core.Reflection.ObjectCopier.Copy(System.Collections.Specialized.NameValueCollection,System.Object,CodeSmith.Core.Reflection.ObjectCopierSettings)">
            <summary>
            Copies values from the <see cref="T:System.Collections.Specialized.NameValueCollection"/> into the properties of the target.
            </summary>
            <param name="source">The <see cref="T:System.Collections.Specialized.NameValueCollection"/> source.</param>
            <param name="target">The target object.</param>
            <param name="settings">The settings to use when copying properties.</param>
        </member>
        <member name="M:CodeSmith.Core.Reflection.ObjectCopier.Copy(System.Collections.Generic.IDictionary{System.String,System.Object},System.Object)">
            <summary>
            Copies values from the <see cref="T:System.Collections.IDictionary"/> into the properties of the target.
            </summary>
            <param name="source">The <see cref="T:System.Collections.IDictionary"/> source.</param>
            <param name="target">The target object.</param>
        </member>
        <member name="M:CodeSmith.Core.Reflection.ObjectCopier.Copy(System.Collections.Generic.IDictionary{System.String,System.Object},System.Object,System.String[])">
            <summary>
            Copies values from the <see cref="T:System.Collections.IDictionary"/> into the properties of the target.
            </summary>
            <param name="source">The <see cref="T:System.Collections.IDictionary"/> source.</param>
            <param name="target">The target object.</param>
            <param name="ignoreList">A list of property names to ignore. 
            These properties will not be set on the target object.</param>
        </member>
        <member name="M:CodeSmith.Core.Reflection.ObjectCopier.Copy(System.Collections.Generic.IDictionary{System.String,System.Object},System.Object,System.Boolean,System.String[])">
            <summary>
            Copies values from the <see cref="T:System.Collections.IDictionary"/> into the properties of the target.
            </summary>
            <param name="source">The <see cref="T:System.Collections.IDictionary"/> source.</param>
            <param name="target">The target object.</param>
            <param name="ignoreList">A list of property names to ignore. 
            These properties will not be set on the target object.</param>
            <param name="suppressExceptions">If <see langword="true"/>, any exceptions will be suppressed.</param>
        </member>
        <member name="M:CodeSmith.Core.Reflection.ObjectCopier.Copy(System.Collections.Generic.IDictionary{System.String,System.Object},System.Object,CodeSmith.Core.Reflection.ObjectCopierSettings)">
            <summary>
            Copies values from the <see cref="T:System.Collections.IDictionary"/> into the properties of the target.
            </summary>
            <param name="source">The <see cref="T:System.Collections.IDictionary"/> source.</param>
            <param name="target">The target object.</param>
            <param name="settings">The settings to use when copying properties.</param>
        </member>
        <member name="M:CodeSmith.Core.Reflection.ObjectCopier.BinaryClone(System.Object)">
            <summary>
            Uses BinaryFormatter.Serialize to Clone an object.
            </summary>
            <param name="obj">The source object.</param>
            <returns>A cloned copy of the object.</returns>
        </member>
        <member name="M:CodeSmith.Core.Reflection.ObjectCopier.SetPropertyValue(System.Object,System.String,System.Object)">
            <summary>
            Sets an object's property with the specified value,
            converting that value to the appropriate type if possible.
            </summary>
            <param name="target">Object containing the property to set.</param>
            <param name="propertyName">Name of the property to set.</param>
            <param name="value">Value to set into the property.</param>
        </member>
        <member name="M:CodeSmith.Core.Reflection.ObjectCopier.SetPropertyValue(System.Object,System.String,System.Object,System.Boolean)">
            <summary>
            Sets an object's property with the specified value,
            converting that value to the appropriate type if possible.
            </summary>
            <param name="target">Object containing the property to set.</param>
            <param name="propertyName">Name of the property to set.</param>
            <param name="value">Value to set into the property.</param>
            <param name="useCache">if set to <c>true</c> use dynamic cache.</param>
        </member>
        <member name="M:CodeSmith.Core.Reflection.ObjectCopier.GetPropertyValue(System.Object,System.String)">
            <summary>
            Gets an object's property value by name.
            </summary>
            <param name="target">Object containing the property to get.</param>
            <param name="propertyName">Name of the property.</param>
            <returns>The value of the property.</returns>
        </member>
        <member name="M:CodeSmith.Core.Reflection.ObjectCopier.GetPropertyValue(System.Object,System.String,System.Boolean)">
            <summary>
            Gets an object's property value by name.
            </summary>
            <param name="target">Object containing the property to get.</param>
            <param name="propertyName">Name of the property.</param>
            <param name="useCache">if set to <c>true</c> use dynamic cache.</param>
            <returns>The value of the property.</returns>
        </member>
        <member name="M:CodeSmith.Core.Reflection.ObjectCopier.GetUnderlyingType(System.Type)">
            <summary>
            Gets the underlying type dealing with <see cref="T:System.Nullable"/>.
            </summary>
            <param name="type">The type.</param>
            <returns>Returns a type dealing with <see cref="T:System.Nullable"/>.</returns>
        </member>
        <member name="M:CodeSmith.Core.Reflection.ObjectCopier.CoerceValue(System.Type,System.Type,System.Object)">
            <summary>
            Attempts to coerce a value of one type into
            a value of a different type.
            </summary>
            <param name="desiredType">
            Type to which the value should be coerced.
            </param>
            <param name="valueType">
            Original type of the value.
            </param>
            <param name="value">
            The value to coerce.
            </param>
            <remarks>
            <para>
            If the desired type is a primitive type or Decimal, 
            empty string and null values will result in a 0 
            or equivalent.
            </para>
            <para>
            If the desired type is a <see cref="T:System.Nullable"/> type, empty string
            and null values will result in a null result.
            </para>
            <para>
            If the desired type is an <c>enum</c> the value's ToString()
            result is parsed to convert into the <c>enum</c> value.
            </para>
            </remarks>
        </member>
        <member name="M:CodeSmith.Core.Reflection.ObjectCopier.FindProperty(System.Type,System.String)">
            <summary>
            Finds a <see cref="T:System.Reflection.PropertyInfo"/> by name ignoring case.
            </summary>
            <param name="type">The type to search.</param>
            <param name="propertyName">Name of the property.</param>
            <returns>A <see cref="T:System.Reflection.PropertyInfo"/> matching the property name.</returns>
            <remarks>
            FindProperty will first try to get a property matching the name and case of the 
            property name specified.  If a property cannot be found, all the properties will
            be searched ignoring the case of the name.
            </remarks>
        </member>
        <member name="M:CodeSmith.Core.Helpers.ObjectDumper.Write(System.Object)">
            <summary>
            Writes the object's public fields and properties to Console.Out.
            </summary>
            <param name="o">The object that will be dumped.</param>
        </member>
        <member name="M:CodeSmith.Core.Helpers.ObjectDumper.Write(System.Object,System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Writes the object's public fields and properties to Console.Out, excludes fields/properties found in exclusions.
            </summary>
            <param name="o">The object that will be dumped.</param>
            <param name="exclusions">List of excluded fields/properties.</param>
        </member>
        <member name="T:CodeSmith.Core.Scheduler.StaticLockProvider">
            <summary>
            A lock provider that only allows one job per <see cref="T:System.AppDomain"/>.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.StaticLockProvider.Acquire(System.String)">
            <summary>
            Acquires a lock on specified job name.
            </summary>
            <param name="lockName">Name of the lock, usually the job name.</param>
            <returns>An <see cref="T:CodeSmith.Core.Scheduler.JobLock"/> object that will release the lock when disposed.</returns>
        </member>
        <member name="M:CodeSmith.Core.Scheduler.StaticLockProvider.Release(CodeSmith.Core.Scheduler.JobLock)">
            <summary>
            Releases the specified job lock.
            </summary>
            <param name="jobLock">The job lock.</param>
        </member>
        <member name="T:CodeSmith.Core.ShortGuid">
            <summary>
            Represents a globally unique identifier (GUID) with a shorter string value.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.ShortGuid.Empty">
            <summary>
            A read-only instance of the ShortGuid class whose value 
            is guaranteed to be all zeroes. 
            </summary>
        </member>
        <member name="M:CodeSmith.Core.ShortGuid.#ctor(System.String)">
            <summary>
            Creates a ShortGuid from a base64 encoded string
            </summary>
            <param name="value">The encoded guid as a 
            base64 string</param>
        </member>
        <member name="M:CodeSmith.Core.ShortGuid.#ctor(System.Guid)">
            <summary>
            Creates a ShortGuid from a Guid
            </summary>
            <param name="guid">The Guid to encode</param>
        </member>
        <member name="M:CodeSmith.Core.ShortGuid.CompareTo(System.Object)">
            <summary>
            Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object.
            </summary>
            <returns>
            A 32-bit signed integer that indicates the relative order of the objects being compared.
            </returns>
            <param name="obj">
            An object to compare with this instance. 
            </param>
        </member>
        <member name="M:CodeSmith.Core.ShortGuid.CompareTo(System.Guid)">
            <summary>
            Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object.
            </summary>
            <returns>
            A 32-bit signed integer that indicates the relative order of the objects being compared.
            </returns>
            <param name="other">
            An object to compare with this instance. 
            </param>
        </member>
        <member name="M:CodeSmith.Core.ShortGuid.CompareTo(CodeSmith.Core.ShortGuid)">
            <summary>
            Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object.
            </summary>
            <returns>
            A 32-bit signed integer that indicates the relative order of the objects being compared.
            </returns>
            <param name="other">
            An object to compare with this instance. 
            </param>
        </member>
        <member name="M:CodeSmith.Core.ShortGuid.ToString">
            <summary>
            Returns the base64 encoded guid as a string
            </summary>
            <returns></returns>
        </member>
        <member name="M:CodeSmith.Core.ShortGuid.Equals(System.Object)">
            <summary>
            Returns a value indicating whether this instance and a
            specified Object represent the same type and value.
            </summary>
            <param name="obj">The object to compare</param>
            <returns>
            	<c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.ShortGuid.Equals(CodeSmith.Core.ShortGuid)">
            <summary>
            Returns a value indicating whether this instance and a
            specified Object represent the same type and value.
            </summary>
            <param name="other">The object to compare</param>
            <returns>
            	<c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.ShortGuid.Equals(System.Guid)">
            <summary>
            Returns a value indicating whether this instance and a
            specified Object represent the same type and value.
            </summary>
            <param name="other">The object to compare</param>
            <returns>
            	<c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.ShortGuid.GetHashCode">
            <summary>
            Returns the HashCode for underlying Guid.
            </summary>
            <returns></returns>
        </member>
        <member name="M:CodeSmith.Core.ShortGuid.NewGuid">
            <summary>
            Initialises a new instance of the ShortGuid class
            </summary>
            <returns></returns>
        </member>
        <member name="M:CodeSmith.Core.ShortGuid.Encode(System.String)">
            <summary>
            Creates a new instance of a Guid using the string value, 
            then returns the base64 encoded version of the Guid.
            </summary>
            <param name="value">An actual Guid string (i.e. not a ShortGuid)</param>
            <returns></returns>
        </member>
        <member name="M:CodeSmith.Core.ShortGuid.Encode(System.Guid)">
            <summary>
            Encodes the given Guid as a base64 string that is 22 
            characters long.
            </summary>
            <param name="guid">The Guid to encode</param>
            <returns></returns>
        </member>
        <member name="M:CodeSmith.Core.ShortGuid.Decode(System.String)">
            <summary>
            Decodes the given base64 string
            </summary>
            <param name="value">The base64 encoded string of a Guid</param>
            <returns>A new Guid</returns>
        </member>
        <member name="M:CodeSmith.Core.ShortGuid.op_Equality(CodeSmith.Core.ShortGuid,CodeSmith.Core.ShortGuid)">
            <summary>
            Determines if both ShortGuids have the same underlying 
            Guid value.
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <returns></returns>
        </member>
        <member name="M:CodeSmith.Core.ShortGuid.op_Inequality(CodeSmith.Core.ShortGuid,CodeSmith.Core.ShortGuid)">
            <summary>
            Determines if both ShortGuids do not have the 
            same underlying Guid value.
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <returns></returns>
        </member>
        <member name="M:CodeSmith.Core.ShortGuid.op_Implicit(CodeSmith.Core.ShortGuid)~System.String">
            <summary>
            Implicitly converts the ShortGuid to it's string equivilent
            </summary>
            <param name="shortGuid"></param>
            <returns></returns>
        </member>
        <member name="M:CodeSmith.Core.ShortGuid.op_Implicit(CodeSmith.Core.ShortGuid)~System.Guid">
            <summary>
            Implicitly converts the ShortGuid to it's Guid equivilent
            </summary>
            <param name="shortGuid"></param>
            <returns></returns>
        </member>
        <member name="M:CodeSmith.Core.ShortGuid.op_Implicit(System.String)~CodeSmith.Core.ShortGuid">
            <summary>
            Implicitly converts the string to a ShortGuid
            </summary>
            <param name="shortGuid"></param>
            <returns></returns>
        </member>
        <member name="M:CodeSmith.Core.ShortGuid.op_Implicit(System.Guid)~CodeSmith.Core.ShortGuid">
            <summary>
            Implicitly converts the Guid to a ShortGuid 
            </summary>
            <param name="guid"></param>
            <returns></returns>
        </member>
        <member name="P:CodeSmith.Core.ShortGuid.Guid">
            <summary>
            Gets/sets the underlying Guid
            </summary>
        </member>
        <member name="P:CodeSmith.Core.ShortGuid.Value">
            <summary>
            Gets/sets the underlying base64 encoded string
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Text.NameFormatter">
            <summary>
            Named string formatter.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Text.NameFormatter.Format(System.String,System.Object)">
            <summary>
            Formats the specified input String.
            </summary>
            <param name="format">The input format String.</param>
            <param name="source">The source to replace the formant names with.</param>
            <returns>A formatted String.</returns>
        </member>
        <member name="T:CodeSmith.Core.Threading.CallerThreadContext">
            <summary>
            This class stores the caller call context in order to restore
            it when the work item is executed in the thread pool environment. 
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Threading.CallerThreadContext.#ctor">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Threading.CallerThreadContext.Capture(System.Boolean,System.Boolean)">
            <summary>
            Captures the current thread context
            </summary>
            <returns></returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.CallerThreadContext.Apply(CodeSmith.Core.Threading.CallerThreadContext)">
            <summary>
            Applies the thread context stored earlier
            </summary>
            <param name="callerThreadContext"></param>
        </member>
        <member name="T:CodeSmith.Core.Threading.WorkItemCancelException">
            <summary>
            Represents an exception in case IWorkItemResult.GetResult has been canceled
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Threading.WorkItemTimeoutException">
            <summary>
            Represents an exception in case IWorkItemResult.GetResult has been timed out
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Threading.WorkItemResultException">
            <summary>
            Represents an exception in case IWorkItemResult.GetResult has been timed out
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Threading.WorkItemCallback">
            <summary>
            A delegate that represents the method to run as the work item
            </summary>
            <param name="state">A state object for the method to run</param>
        </member>
        <member name="T:CodeSmith.Core.Threading.PostExecuteWorkItemCallback">
            <summary>
            A delegate to call after the WorkItemCallback completed
            </summary>
            <param name="wir">The work item result object</param>
        </member>
        <member name="T:CodeSmith.Core.Threading.WorkItemsGroupIdleHandler">
            <summary>
            A delegate to call when a WorkItemsGroup becomes idle
            </summary>
            <param name="workItemsGroup">A reference to the WorkItemsGroup that became idle</param>
        </member>
        <member name="T:CodeSmith.Core.Threading.IWorkItemsGroup">
            <summary>
            IWorkItemsGroup interface
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Threading.IWorkItemsGroup.Name">
            <summary>
            Get/Set the name of the WorkItemsGroup
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Threading.IWorkItemResult">
            <summary>
            IWorkItemResult interface
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Threading.IWorkItemResult.GetResult">
            <summary>
            Get the result of the work item.
            If the work item didn't run yet then the caller waits.
            </summary>
            <returns>The result of the work item</returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.IWorkItemResult.GetResult(System.Int32,System.Boolean)">
            <summary>
            Get the result of the work item.
            If the work item didn't run yet then the caller waits until timeout.
            </summary>
            <returns>The result of the work item</returns>
            On timeout throws WorkItemTimeoutException
        </member>
        <member name="M:CodeSmith.Core.Threading.IWorkItemResult.GetResult(System.TimeSpan,System.Boolean)">
            <summary>
            Get the result of the work item.
            If the work item didn't run yet then the caller waits until timeout.
            </summary>
            <returns>The result of the work item</returns>
            On timeout throws WorkItemTimeoutException
        </member>
        <member name="M:CodeSmith.Core.Threading.IWorkItemResult.GetResult(System.Int32,System.Boolean,System.Threading.WaitHandle)">
            <summary>
            Get the result of the work item.
            If the work item didn't run yet then the caller waits until timeout or until the cancelWaitHandle is signaled.
            </summary>
            <param name="millisecondsTimeout">Timeout in milliseconds, or -1 for infinite</param>
            <param name="exitContext">
            true to exit the synchronization domain for the context before the wait (if in a synchronized context), and reacquire it; otherwise, false. 
            </param>
            <param name="cancelWaitHandle">A cancel wait handle to interrupt the blocking if needed</param>
            <returns>The result of the work item</returns>
            On timeout throws WorkItemTimeoutException
            On cancel throws WorkItemCancelException
        </member>
        <member name="M:CodeSmith.Core.Threading.IWorkItemResult.GetResult(System.TimeSpan,System.Boolean,System.Threading.WaitHandle)">
            <summary>
            Get the result of the work item.
            If the work item didn't run yet then the caller waits until timeout or until the cancelWaitHandle is signaled.
            </summary>
            <returns>The result of the work item</returns>
            On timeout throws WorkItemTimeoutException
            On cancel throws WorkItemCancelException
        </member>
        <member name="M:CodeSmith.Core.Threading.IWorkItemResult.GetResult(System.Exception@)">
            <summary>
            Get the result of the work item.
            If the work item didn't run yet then the caller waits.
            </summary>
            <param name="e">Filled with the exception if one was thrown</param>
            <returns>The result of the work item</returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.IWorkItemResult.GetResult(System.Int32,System.Boolean,System.Exception@)">
            <summary>
            Get the result of the work item.
            If the work item didn't run yet then the caller waits until timeout.
            </summary>
            <param name="millisecondsTimeout">The milliseconds timeout.</param>
            <param name="exitContext">if set to <c>true</c> [exit context].</param>
            <param name="e">Filled with the exception if one was thrown</param>
            <returns>The result of the work item</returns>
            On timeout throws WorkItemTimeoutException
        </member>
        <member name="M:CodeSmith.Core.Threading.IWorkItemResult.GetResult(System.TimeSpan,System.Boolean,System.Exception@)">
            <summary>
            Get the result of the work item.
            If the work item didn't run yet then the caller waits until timeout.
            </summary>
            <param name="timeout">The timeout.</param>
            <param name="exitContext">if set to <c>true</c> [exit context].</param>
            <param name="e">Filled with the exception if one was thrown</param>
            <returns>The result of the work item</returns>
            On timeout throws WorkItemTimeoutException
        </member>
        <member name="M:CodeSmith.Core.Threading.IWorkItemResult.GetResult(System.Int32,System.Boolean,System.Threading.WaitHandle,System.Exception@)">
            <summary>
            Get the result of the work item.
            If the work item didn't run yet then the caller waits until timeout or until the cancelWaitHandle is signaled.
            </summary>
            <param name="millisecondsTimeout">Timeout in milliseconds, or -1 for infinite</param>
            <param name="exitContext">
            true to exit the synchronization domain for the context before the wait (if in a synchronized context), and reacquire it; otherwise, false. 
            </param>
            <param name="cancelWaitHandle">A cancel wait handle to interrupt the blocking if needed</param>
            <param name="e">Filled with the exception if one was thrown</param>
            <returns>The result of the work item</returns>
            On timeout throws WorkItemTimeoutException
            On cancel throws WorkItemCancelException
        </member>
        <member name="M:CodeSmith.Core.Threading.IWorkItemResult.GetResult(System.TimeSpan,System.Boolean,System.Threading.WaitHandle,System.Exception@)">
            <summary>
            Get the result of the work item.
            If the work item didn't run yet then the caller waits until timeout or until the cancelWaitHandle is signaled.
            </summary>
            <param name="timeout">The timeout.</param>
            <param name="exitContext">if set to <c>true</c> [exit context].</param>
            <param name="cancelWaitHandle">The cancel wait handle.</param>
            <param name="e">Filled with the exception if one was thrown</param>
            <returns>The result of the work item</returns>
            On timeout throws WorkItemTimeoutException
            On cancel throws WorkItemCancelException
        </member>
        <member name="M:CodeSmith.Core.Threading.IWorkItemResult.Cancel">
            <summary>
            Cancel the work item if it didn't start running yet.
            </summary>
            <returns>Returns true on success or false if the work item is in progress or already completed</returns>
        </member>
        <member name="P:CodeSmith.Core.Threading.IWorkItemResult.IsCompleted">
            <summary>
            Gets an indication whether the asynchronous operation has completed.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Threading.IWorkItemResult.IsCanceled">
            <summary>
            Gets an indication whether the asynchronous operation has been canceled.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Threading.IWorkItemResult.State">
            <summary>
            Gets a user-defined object that qualifies or contains information about an asynchronous operation.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Threading.IWorkItemResult.WorkItemPriority">
            <summary>
            Get the work item's priority
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Threading.IWorkItemResult.Result">
            <summary>
            Return the result, same as GetResult()
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Threading.IWorkItemResult.Exception">
            <summary>
            Returns the exception if occured otherwise returns null.
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Threading.Internal.PriorityQueue">
            <summary>
            PriorityQueue class
            This class is not thread safe because we use external lock
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.PriorityQueue._queuesCount">
            <summary>
            The number of queues, there is one for each type of priority
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.PriorityQueue._queues">
            <summary>
            Work items queues. There is one for each type of priority
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.PriorityQueue._workItemsCount">
            <summary>
            The total number of work items within the queues 
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.PriorityQueue._version">
            <summary>
            Use with IEnumerable interface
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.PriorityQueue.Enqueue(CodeSmith.Core.Threading.IHasWorkItemPriority)">
            <summary>
            Enqueue a work item.
            </summary>
            <param name="workItem">A work item</param>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.PriorityQueue.Dequeue">
            <summary>
            Dequeque a work item.
            </summary>
            <returns>Returns the next work item</returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.PriorityQueue.GetNextNonEmptyQueue(System.Int32)">
            <summary>
            Find the next non empty queue starting at queue queueIndex+1
            </summary>
            <param name="queueIndex">The index-1 to start from</param>
            <returns>
            The index of the next non empty queue or -1 if all the queues are empty
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.PriorityQueue.Clear">
            <summary>
            Clear all the work items 
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.PriorityQueue.GetEnumerator">
            <summary>
            Returns an enumerator to iterate over the work items
            </summary>
            <returns>Returns an enumerator</returns>
        </member>
        <member name="P:CodeSmith.Core.Threading.Internal.PriorityQueue.Count">
            <summary>
            The number of work items 
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Threading.Internal.PriorityQueue.PriorityQueueEnumerator">
            <summary>
            The class the implements the enumerator
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Threading.SafeDelegate">
            <summary>
            Class that implements a wrapper for a delegate to support 
            fire and forget asynchronous invoke of a delegate.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Threading.SafeDelegate.InvokeAsync(System.Delegate,System.Object[])">
            <summary>
            Invoke the specified delegate with the specified arguments
            asynchronously on a thread pool thread. EndInvoke is automatically 
            called to prevent resource leaks.
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Threading.SmartThreadPool">
            <summary>
            Smart thread pool class.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.SmartThreadPool.DefaultMinWorkerThreads">
            <summary>
            Default minimum number of threads the thread pool contains. (0)
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.SmartThreadPool.DefaultMaxWorkerThreads">
            <summary>
            Default maximum number of threads the thread pool contains. (25)
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.SmartThreadPool.DefaultIdleTimeout">
            <summary>
            Default idle timeout in milliseconds. (One minute)
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.SmartThreadPool.DefaultUseCallerCallContext">
            <summary>
            Indicate to copy the security context of the caller and then use it in the call. (false)
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.SmartThreadPool.DefaultUseCallerHttpContext">
            <summary>
            Indicate to copy the HTTP context of the caller and then use it in the call. (false)
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.SmartThreadPool.DefaultDisposeOfStateObjects">
            <summary>
            Indicate to dispose of the state objects if they support the IDispose interface. (false)
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.SmartThreadPool.DefaultCallToPostExecute">
            <summary>
            The default option to run the post execute
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.SmartThreadPool.DefaultWorkItemPriority">
            <summary>
            The default work item priority
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.SmartThreadPool.DefaultStartSuspended">
            <summary>
            The default is to work on work items as soon as they arrive
            and not to wait for the start.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.SmartThreadPool.DefaultThreadPriority">
            <summary>
            The default thread priority
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.SmartThreadPool.DefaultPostExecuteWorkItemCallback">
            <summary>
            The default post execute method to run. 
            When null it means not to call it.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.SmartThreadPool.DefaultPerformanceCounterInstanceName">
            <summary>
            The default is not to use the performance counters
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.SmartThreadPool._name">
            <summary>
            Contains the name of this instance of SmartThreadPool.
            Can be changed by the user.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.SmartThreadPool._workerThreads">
            <summary>
            Hashtable of all the threads in the thread pool.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.SmartThreadPool._workItemsQueue">
            <summary>
            Queue of work items.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.SmartThreadPool._workItemsProcessed">
            <summary>
            Count the work items handled.
            Used by the performance counter.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.SmartThreadPool._inUseWorkerThreads">
            <summary>
            Number of threads that currently work (not idle).
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.SmartThreadPool._stpStartInfo">
            <summary>
            Start information to use. 
            It is simpler than providing many constructors.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.SmartThreadPool._currentWorkItemsCount">
            <summary>
            Total number of work items that are stored in the work items queue 
            plus the work items that the threads in the pool are working on.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.SmartThreadPool._isIdleWaitHandle">
            <summary>
            Signaled when the thread pool is idle, i.e. no thread is busy
            and the work items queue is empty
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.SmartThreadPool._shuttingDownEvent">
            <summary>
            An event to signal all the threads to quit immediately.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.SmartThreadPool._shutdown">
            <summary>
            A flag to indicate the threads to quit.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.SmartThreadPool._threadCounter">
            <summary>
            Counts the threads created in the pool.
            It is used to name the threads.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.SmartThreadPool._isDisposed">
            <summary>
            Indicate that the SmartThreadPool has been disposed
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.SmartThreadPool._workItemsGroups">
            <summary>
            Holds all the WorkItemsGroup instances that have at least one 
            work item int the SmartThreadPool
            This variable is used in case of Shutdown
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.SmartThreadPool._smartThreadPool">
            <summary>
            A reference from each thread in the thread pool to its SmartThreadPool
            object container.
            With this variable a thread can know whatever it belongs to a 
            SmartThreadPool.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.SmartThreadPool._currentWorkItem">
            <summary>
            A reference to the current work item a thread from the thread pool 
            is executing.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.SmartThreadPool._pcs">
            <summary>
            STP performance counters
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Threading.SmartThreadPool.#ctor">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Threading.SmartThreadPool.#ctor(System.Int32)">
            <summary>
            Constructor
            </summary>
            <param name="idleTimeout">Idle timeout in milliseconds</param>
        </member>
        <member name="M:CodeSmith.Core.Threading.SmartThreadPool.#ctor(System.Int32,System.Int32)">
            <summary>
            Constructor
            </summary>
            <param name="idleTimeout">Idle timeout in milliseconds</param>
            <param name="maxWorkerThreads">Upper limit of threads in the pool</param>
        </member>
        <member name="M:CodeSmith.Core.Threading.SmartThreadPool.#ctor(System.Int32,System.Int32,System.Int32)">
            <summary>
            Constructor
            </summary>
            <param name="idleTimeout">Idle timeout in milliseconds</param>
            <param name="maxWorkerThreads">Upper limit of threads in the pool</param>
            <param name="minWorkerThreads">Lower limit of threads in the pool</param>
        </member>
        <member name="M:CodeSmith.Core.Threading.SmartThreadPool.#ctor(CodeSmith.Core.Threading.STPStartInfo)">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Threading.SmartThreadPool.Dequeue">
            <summary>
            Waits on the queue for a work item, shutdown, or timeout.
            </summary>
            <returns>
            Returns the WaitingCallback or null in case of timeout or shutdown.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.SmartThreadPool.Enqueue(CodeSmith.Core.Threading.Internal.WorkItem)">
            <summary>
            Put a new work item in the queue
            </summary>
            <param name="workItem">A work item to queue</param>
        </member>
        <member name="M:CodeSmith.Core.Threading.SmartThreadPool.Enqueue(CodeSmith.Core.Threading.Internal.WorkItem,System.Boolean)">
            <summary>
            Put a new work item in the queue
            </summary>
            <param name="workItem">A work item to queue</param>
            <param name="incrementWorkItems">if set to <c>true</c> increment work items.</param>
        </member>
        <member name="M:CodeSmith.Core.Threading.SmartThreadPool.InformCompleted">
            <summary>
            Inform that the current thread is about to quit or quiting.
            The same thread may call this method more than once.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Threading.SmartThreadPool.StartThreads(System.Int32)">
            <summary>
            Starts new threads
            </summary>
            <param name="threadsCount">The number of threads to start</param>
        </member>
        <member name="M:CodeSmith.Core.Threading.SmartThreadPool.ProcessQueuedItems">
            <summary>
            A worker thread method that processes work items from the work items queue.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Threading.SmartThreadPool.QueueWorkItem(CodeSmith.Core.Threading.WorkItemCallback)">
            <summary>
            Queue a work item
            </summary>
            <param name="callback">A callback to execute</param>
            <returns>Returns a work item result</returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.SmartThreadPool.QueueWorkItem(CodeSmith.Core.Threading.WorkItemCallback,CodeSmith.Core.Threading.WorkItemPriority)">
            <summary>
            Queue a work item
            </summary>
            <param name="callback">A callback to execute</param>
            <param name="workItemPriority">The priority of the work item</param>
            <returns>Returns a work item result</returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.SmartThreadPool.QueueWorkItem(CodeSmith.Core.Threading.WorkItemInfo,CodeSmith.Core.Threading.WorkItemCallback)">
            <summary>
            Queue a work item
            </summary>
            <param name="workItemInfo">Work item info</param>
            <param name="callback">A callback to execute</param>
            <returns>Returns a work item result</returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.SmartThreadPool.QueueWorkItem(CodeSmith.Core.Threading.WorkItemCallback,System.Object)">
            <summary>
            Queue a work item
            </summary>
            <param name="callback">A callback to execute</param>
            <param name="state">
            The context object of the work item. Used for passing arguments to the work item. 
            </param>
            <returns>Returns a work item result</returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.SmartThreadPool.QueueWorkItem(CodeSmith.Core.Threading.WorkItemCallback,System.Object,CodeSmith.Core.Threading.WorkItemPriority)">
            <summary>
            Queue a work item
            </summary>
            <param name="callback">A callback to execute</param>
            <param name="state">
            The context object of the work item. Used for passing arguments to the work item. 
            </param>
            <param name="workItemPriority">The work item priority</param>
            <returns>Returns a work item result</returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.SmartThreadPool.QueueWorkItem(CodeSmith.Core.Threading.WorkItemInfo,CodeSmith.Core.Threading.WorkItemCallback,System.Object)">
            <summary>
            Queue a work item
            </summary>
            <param name="workItemInfo">Work item information</param>
            <param name="callback">A callback to execute</param>
            <param name="state">
            The context object of the work item. Used for passing arguments to the work item. 
            </param>
            <returns>Returns a work item result</returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.SmartThreadPool.QueueWorkItem(CodeSmith.Core.Threading.WorkItemCallback,System.Object,CodeSmith.Core.Threading.PostExecuteWorkItemCallback)">
            <summary>
            Queue a work item
            </summary>
            <param name="callback">A callback to execute</param>
            <param name="state">
            The context object of the work item. Used for passing arguments to the work item. 
            </param>
            <param name="postExecuteWorkItemCallback">
            A delegate to call after the callback completion
            </param>
            <returns>Returns a work item result</returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.SmartThreadPool.QueueWorkItem(CodeSmith.Core.Threading.WorkItemCallback,System.Object,CodeSmith.Core.Threading.PostExecuteWorkItemCallback,CodeSmith.Core.Threading.WorkItemPriority)">
            <summary>
            Queue a work item
            </summary>
            <param name="callback">A callback to execute</param>
            <param name="state">
            The context object of the work item. Used for passing arguments to the work item. 
            </param>
            <param name="postExecuteWorkItemCallback">
            A delegate to call after the callback completion
            </param>
            <param name="workItemPriority">The work item priority</param>
            <returns>Returns a work item result</returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.SmartThreadPool.QueueWorkItem(CodeSmith.Core.Threading.WorkItemCallback,System.Object,CodeSmith.Core.Threading.PostExecuteWorkItemCallback,CodeSmith.Core.Threading.CallToPostExecute)">
            <summary>
            Queue a work item
            </summary>
            <param name="callback">A callback to execute</param>
            <param name="state">
            The context object of the work item. Used for passing arguments to the work item. 
            </param>
            <param name="postExecuteWorkItemCallback">
            A delegate to call after the callback completion
            </param>
            <param name="callToPostExecute">Indicates on which cases to call to the post execute callback</param>
            <returns>Returns a work item result</returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.SmartThreadPool.QueueWorkItem(CodeSmith.Core.Threading.WorkItemCallback,System.Object,CodeSmith.Core.Threading.PostExecuteWorkItemCallback,CodeSmith.Core.Threading.CallToPostExecute,CodeSmith.Core.Threading.WorkItemPriority)">
            <summary>
            Queue a work item
            </summary>
            <param name="callback">A callback to execute</param>
            <param name="state">
            The context object of the work item. Used for passing arguments to the work item. 
            </param>
            <param name="postExecuteWorkItemCallback">
            A delegate to call after the callback completion
            </param>
            <param name="callToPostExecute">Indicates on which cases to call to the post execute callback</param>
            <param name="workItemPriority">The work item priority</param>
            <returns>Returns a work item result</returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.SmartThreadPool.WaitForIdle">
            <summary>
            Wait for the thread pool to be idle
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Threading.SmartThreadPool.WaitForIdle(System.TimeSpan)">
            <summary>
            Wait for the thread pool to be idle
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Threading.SmartThreadPool.WaitForIdle(System.Int32)">
            <summary>
            Wait for the thread pool to be idle
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Threading.SmartThreadPool.Shutdown">
            <summary>
            Force the SmartThreadPool to shutdown
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Threading.SmartThreadPool.Shutdown(System.Boolean,System.Int32)">
            <summary>
            Empties the queue of work items and abort the threads in the pool.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Threading.SmartThreadPool.WaitAll(CodeSmith.Core.Threading.IWorkItemResult[])">
            <summary>
            Wait for all work items to complete
            </summary>
            <param name="workItemResults">Array of work item result objects</param>
            <returns>
            true when every work item in workItemResults has completed; otherwise false.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.SmartThreadPool.WaitAll(CodeSmith.Core.Threading.IWorkItemResult[],System.TimeSpan,System.Boolean)">
            <summary>
            Wait for all work items to complete
            </summary>
            <param name="workItemResults">Array of work item result objects</param>
            <param name="timeout">The number of milliseconds to wait, or a TimeSpan that represents -1 milliseconds to wait indefinitely. </param>
            <param name="exitContext">
            true to exit the synchronization domain for the context before the wait (if in a synchronized context), and reacquire it; otherwise, false. 
            </param>
            <returns>
            true when every work item in workItemResults has completed; otherwise false.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.SmartThreadPool.WaitAll(CodeSmith.Core.Threading.IWorkItemResult[],System.TimeSpan,System.Boolean,System.Threading.WaitHandle)">
            <summary>
            Wait for all work items to complete
            </summary>
            <param name="workItemResults">Array of work item result objects</param>
            <param name="timeout">The number of milliseconds to wait, or a TimeSpan that represents -1 milliseconds to wait indefinitely. </param>
            <param name="exitContext">
            true to exit the synchronization domain for the context before the wait (if in a synchronized context), and reacquire it; otherwise, false. 
            </param>
            <param name="cancelWaitHandle">A cancel wait handle to interrupt the wait if needed</param>
            <returns>
            true when every work item in workItemResults has completed; otherwise false.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.SmartThreadPool.WaitAll(CodeSmith.Core.Threading.IWorkItemResult[],System.Int32,System.Boolean)">
            <summary>
            Wait for all work items to complete
            </summary>
            <param name="workItemResults">Array of work item result objects</param>
            <param name="millisecondsTimeout">The number of milliseconds to wait, or Timeout.Infinite (-1) to wait indefinitely.</param>
            <param name="exitContext">
            true to exit the synchronization domain for the context before the wait (if in a synchronized context), and reacquire it; otherwise, false. 
            </param>
            <returns>
            true when every work item in workItemResults has completed; otherwise false.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.SmartThreadPool.WaitAll(CodeSmith.Core.Threading.IWorkItemResult[],System.Int32,System.Boolean,System.Threading.WaitHandle)">
            <summary>
            Wait for all work items to complete
            </summary>
            <param name="workItemResults">Array of work item result objects</param>
            <param name="millisecondsTimeout">The number of milliseconds to wait, or Timeout.Infinite (-1) to wait indefinitely.</param>
            <param name="exitContext">
            true to exit the synchronization domain for the context before the wait (if in a synchronized context), and reacquire it; otherwise, false. 
            </param>
            <param name="cancelWaitHandle">A cancel wait handle to interrupt the wait if needed</param>
            <returns>
            true when every work item in workItemResults has completed; otherwise false.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.SmartThreadPool.WaitAny(CodeSmith.Core.Threading.IWorkItemResult[])">
            <summary>
            Waits for any of the work items in the specified array to complete, cancel, or timeout
            </summary>
            <param name="workItemResults">Array of work item result objects</param>
            <returns>
            The array index of the work item result that satisfied the wait, or WaitTimeout if any of the work items has been canceled.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.SmartThreadPool.WaitAny(CodeSmith.Core.Threading.IWorkItemResult[],System.TimeSpan,System.Boolean)">
            <summary>
            Waits for any of the work items in the specified array to complete, cancel, or timeout
            </summary>
            <param name="workItemResults">Array of work item result objects</param>
            <param name="timeout">The number of milliseconds to wait, or a TimeSpan that represents -1 milliseconds to wait indefinitely. </param>
            <param name="exitContext">
            true to exit the synchronization domain for the context before the wait (if in a synchronized context), and reacquire it; otherwise, false. 
            </param>
            <returns>
            The array index of the work item result that satisfied the wait, or WaitTimeout if no work item result satisfied the wait and a time interval equivalent to millisecondsTimeout has passed or the work item has been canceled.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.SmartThreadPool.WaitAny(CodeSmith.Core.Threading.IWorkItemResult[],System.TimeSpan,System.Boolean,System.Threading.WaitHandle)">
            <summary>
            Waits for any of the work items in the specified array to complete, cancel, or timeout
            </summary>
            <param name="workItemResults">Array of work item result objects</param>
            <param name="timeout">The number of milliseconds to wait, or a TimeSpan that represents -1 milliseconds to wait indefinitely. </param>
            <param name="exitContext">
            true to exit the synchronization domain for the context before the wait (if in a synchronized context), and reacquire it; otherwise, false. 
            </param>
            <param name="cancelWaitHandle">A cancel wait handle to interrupt the wait if needed</param>
            <returns>
            The array index of the work item result that satisfied the wait, or WaitTimeout if no work item result satisfied the wait and a time interval equivalent to millisecondsTimeout has passed or the work item has been canceled.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.SmartThreadPool.WaitAny(CodeSmith.Core.Threading.IWorkItemResult[],System.Int32,System.Boolean)">
            <summary>
            Waits for any of the work items in the specified array to complete, cancel, or timeout
            </summary>
            <param name="workItemResults">Array of work item result objects</param>
            <param name="millisecondsTimeout">The number of milliseconds to wait, or Timeout.Infinite (-1) to wait indefinitely.</param>
            <param name="exitContext">
            true to exit the synchronization domain for the context before the wait (if in a synchronized context), and reacquire it; otherwise, false. 
            </param>
            <returns>
            The array index of the work item result that satisfied the wait, or WaitTimeout if no work item result satisfied the wait and a time interval equivalent to millisecondsTimeout has passed or the work item has been canceled.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.SmartThreadPool.WaitAny(CodeSmith.Core.Threading.IWorkItemResult[],System.Int32,System.Boolean,System.Threading.WaitHandle)">
            <summary>
            Waits for any of the work items in the specified array to complete, cancel, or timeout
            </summary>
            <param name="workItemResults">Array of work item result objects</param>
            <param name="millisecondsTimeout">The number of milliseconds to wait, or Timeout.Infinite (-1) to wait indefinitely.</param>
            <param name="exitContext">
            true to exit the synchronization domain for the context before the wait (if in a synchronized context), and reacquire it; otherwise, false. 
            </param>
            <param name="cancelWaitHandle">A cancel wait handle to interrupt the wait if needed</param>
            <returns>
            The array index of the work item result that satisfied the wait, or WaitTimeout if no work item result satisfied the wait and a time interval equivalent to millisecondsTimeout has passed or the work item has been canceled.
            </returns>
        </member>
        <member name="E:CodeSmith.Core.Threading.SmartThreadPool._stpIdle">
            <summary>
            Event to send that the thread pool is idle
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Threading.SmartThreadPool.Name">
            <summary>
            Get/Set the name of the SmartThreadPool instance
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Threading.SmartThreadPool.MinThreads">
            <summary>
            Get the lower limit of threads in the pool.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Threading.SmartThreadPool.MaxThreads">
            <summary>
            Get the upper limit of threads in the pool.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Threading.SmartThreadPool.ActiveThreads">
            <summary>
            Get the number of threads in the thread pool.
            Should be between the lower and the upper limits.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Threading.SmartThreadPool.InUseThreads">
            <summary>
            Get the number of busy (not idle) threads in the thread pool.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Threading.SmartThreadPool.WaitingCallbacks">
            <summary>
            Get the number of work items in the queue.
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Threading.Internal.STPPerformanceCounter">
            <summary>
            Summary description for STPPerformanceCounter.
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Threading.STPStartInfo">
            <summary>
            Summary description for STPStartInfo.
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Threading.WIGStartInfo">
            <summary>
            Summary description for WIGStartInfo.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.WIGStartInfo._useCallerCallContext">
            <summary>
            Use the caller's security context
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.WIGStartInfo._useCallerHttpContext">
            <summary>
            Use the caller's HTTP context
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.WIGStartInfo._disposeOfStateObjects">
            <summary>
            Dispose of the state object of a work item
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.WIGStartInfo._callToPostExecute">
            <summary>
            The option to run the post execute
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.WIGStartInfo._postExecuteWorkItemCallback">
            <summary>
            A post execute callback to call when none is provided in 
            the QueueWorkItem method.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.WIGStartInfo._startSuspended">
            <summary>
            Indicate the WorkItemsGroup to suspend the handling of the work items
            until the Start() method is called.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.STPStartInfo._idleTimeout">
            <summary>
            Idle timeout in milliseconds.
            If a thread is idle for _idleTimeout milliseconds then 
            it may quit.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.STPStartInfo._minWorkerThreads">
            <summary>
            The lower limit of threads in the pool.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.STPStartInfo._maxWorkerThreads">
            <summary>
            The upper limit of threads in the pool.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.STPStartInfo._threadPriority">
            <summary>
            The priority of the threads in the pool
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.STPStartInfo._pcInstanceName">
            <summary>
            If this field is not null then the performance counters are enabled
            and use the string as the name of the instance.
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Threading.Synchronized`1">
            <summary>
            Synchronized access wrapper class
            </summary>
            <typeparam name="T">The type that has its access synchronized.</typeparam>
        </member>
        <member name="M:CodeSmith.Core.Threading.Synchronized`1.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Threading.Synchronized`1"/> class.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Threading.Synchronized`1.#ctor(`0)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Threading.Synchronized`1"/> class.
            </summary>
            <param name="value">The initial value.</param>
        </member>
        <member name="M:CodeSmith.Core.Threading.Synchronized`1.#ctor(`0,System.Object)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Threading.Synchronized`1"/> class.
            </summary>
            <param name="value">The initial value.</param>
            <param name="Lock">The shared lock.</param>
        </member>
        <member name="M:CodeSmith.Core.Threading.Synchronized`1.op_Implicit(CodeSmith.Core.Threading.Synchronized{`0})~`0">
            <summary>
            Performs an implicit conversion from <see cref="T:CodeSmith.Core.Threading.Synchronized`1"/> to {T}.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="P:CodeSmith.Core.Threading.Synchronized`1.Value">
            <summary>
            Gets or sets the value.
            </summary>
            <value>The value.</value>
        </member>
        <member name="T:CodeSmith.Core.Threading.Internal.WorkItemStateCallback">
            <summary>
            An internal delegate to call when the WorkItem starts or completes
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Threading.Internal.WorkItem">
            <summary>
            Holds a callback delegate and the state for that delegate.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.WorkItem._callback">
            <summary>
            Callback delegate for the callback.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.WorkItem._state">
            <summary>
            State with which to call the callback delegate.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.WorkItem._callerContext">
            <summary>
            Stores the caller's context
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.WorkItem._result">
            <summary>
            Holds the result of the mehtod
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.WorkItem._exception">
            <summary>
            Hold the exception if the method threw it
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.WorkItem._workItemState">
            <summary>
            Hold the state of the work item
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.WorkItem._workItemCompleted">
            <summary>
            A ManualResetEvent to indicate that the result is ready
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.WorkItem._workItemCompletedRefCount">
            <summary>
            A reference count to the _workItemCompleted. 
            When it reaches to zero _workItemCompleted is Closed
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.WorkItem._workItemResult">
            <summary>
            Represents the result state of the work item
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.WorkItem._workItemInfo">
            <summary>
            Work item info
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.WorkItem._canceledWorkItemsGroup">
            <summary>
            A reference to an object that indicates whatever the 
            WorkItemsGroup has been canceled
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.WorkItem._workItemsGroup">
            <summary>
            The work item group this work item belong to.
            
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.WorkItem._queuedTime">
            <summary>
            The time when the work items is queued.
            Used with the performance counter.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.WorkItem._beginProcessTime">
            <summary>
            The time when the work items starts its execution.
            Used with the performance counter.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.WorkItem._endProcessTime">
            <summary>
            The time when the work items ends its execution.
            Used with the performance counter.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItem.#ctor(CodeSmith.Core.Threading.IWorkItemsGroup,CodeSmith.Core.Threading.WorkItemInfo,CodeSmith.Core.Threading.WorkItemCallback,System.Object)">
            <summary>
            Initialize the callback holding object.
            </summary>
            <param name="workItemsGroup"></param>
            <param name="workItemInfo"></param>
            <param name="callback">Callback delegate for the callback.</param>
            <param name="state">State with which to call the callback delegate.</param>
            
            We assume that the WorkItem object is created within the thread
            that meant to run the callback
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItem.StartingWorkItem">
            <summary>
            Change the state of the work item to in progress if it wasn't canceled.
            </summary>
            <returns>
            Return true on success or false in case the work item was canceled.
            If the work item needs to run a post execute then the method will return true.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItem.Execute">
            <summary>
            Execute the work item and the post execute
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItem.ExecuteWorkItem">
            <summary>
            Execute the work item
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItem.PostExecute">
            <summary>
            Runs the post execute callback
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItem.SetResult(System.Object,System.Exception)">
            <summary>
            Set the result of the work item to return
            </summary>
            <param name="result">The result of the work item</param>
            <param name="exception">The exception.</param>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItem.GetWorkItemResult">
            <summary>
            Returns the work item result
            </summary>
            <returns>The work item result</returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItem.WaitAll(CodeSmith.Core.Threading.IWorkItemResult[],System.Int32,System.Boolean,System.Threading.WaitHandle)">
            <summary>
            Wait for all work items to complete
            </summary>
            <param name="workItemResults">Array of work item result objects</param>
            <param name="millisecondsTimeout">The number of milliseconds to wait, or Timeout.Infinite (-1) to wait indefinitely.</param>
            <param name="exitContext">
            true to exit the synchronization domain for the context before the wait (if in a synchronized context), and reacquire it; otherwise, false. 
            </param>
            <param name="cancelWaitHandle">A cancel wait handle to interrupt the wait if needed</param>
            <returns>
            true when every work item in workItemResults has completed; otherwise false.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItem.WaitAny(CodeSmith.Core.Threading.IWorkItemResult[],System.Int32,System.Boolean,System.Threading.WaitHandle)">
            <summary>
            Waits for any of the work items in the specified array to complete, cancel, or timeout
            </summary>
            <param name="workItemResults">Array of work item result objects</param>
            <param name="millisecondsTimeout">The number of milliseconds to wait, or Timeout.Infinite (-1) to wait indefinitely.</param>
            <param name="exitContext">
            true to exit the synchronization domain for the context before the wait (if in a synchronized context), and reacquire it; otherwise, false. 
            </param>
            <param name="cancelWaitHandle">A cancel wait handle to interrupt the wait if needed</param>
            <returns>
            The array index of the work item result that satisfied the wait, or WaitTimeout if no work item result satisfied the wait and a time interval equivalent to millisecondsTimeout has passed or the work item has been canceled.
            </returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItem.GetWaitHandles(CodeSmith.Core.Threading.IWorkItemResult[],System.Threading.WaitHandle[])">
            <summary>
            Fill an array of wait handles with the work items wait handles.
            </summary>
            <param name="workItemResults">An array of work item results</param>
            <param name="waitHandles">An array of wait handles to fill</param>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItem.ReleaseWaitHandles(CodeSmith.Core.Threading.IWorkItemResult[])">
            <summary>
            Release the work items' wait handles
            </summary>
            <param name="workItemResults">An array of work item results</param>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItem.SetWorkItemState(CodeSmith.Core.Threading.Internal.WorkItem.WorkItemState)">
            <summary>
            Sets the work item's state
            </summary>
            <param name="workItemState">The state to set the work item to</param>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItem.SignalComplete(System.Boolean)">
            <summary>
            Signals that work item has been completed or canceled
            </summary>
            <param name="canceled">Indicates that the work item has been canceled</param>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItem.Cancel">
            <summary>
            Cancel the work item if it didn't start running yet.
            </summary>
            <returns>Returns true on success or false if the work item is in progress or already completed</returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItem.GetResult(System.Int32,System.Boolean,System.Threading.WaitHandle)">
            <summary>
            Get the result of the work item.
            If the work item didn't run yet then the caller waits for the result, timeout, or cancel.
            In case of error the method throws and exception
            </summary>
            <returns>The result of the work item</returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItem.GetResult(System.Int32,System.Boolean,System.Threading.WaitHandle,System.Exception@)">
            <summary>
            Get the result of the work item.
            If the work item didn't run yet then the caller waits for the result, timeout, or cancel.
            In case of error the e argument is filled with the exception
            </summary>
            <returns>The result of the work item</returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItem.GetWaitHandle">
            <summary>
            A wait handle to wait for completion, cancel, or timeout 
            </summary>
        </member>
        <member name="E:CodeSmith.Core.Threading.Internal.WorkItem._workItemStartedEvent">
            <summary>
            Called when the WorkItem starts
            </summary>
        </member>
        <member name="E:CodeSmith.Core.Threading.Internal.WorkItem._workItemCompletedEvent">
            <summary>
            Called when the WorkItem completes
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Threading.Internal.WorkItem.IsCompleted">
            <summary>
            Returns true when the work item has completed or canceled
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Threading.Internal.WorkItem.IsCanceled">
            <summary>
            Returns true when the work item has canceled
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Threading.Internal.WorkItem.WorkItemPriority">
            <summary>
            Returns the priority of the work item
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Threading.Internal.WorkItem.WorkItemState">
            <summary>
            Indicates the state of the work item in the thread pool
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.WorkItem.WorkItemResult._workItem">
            <summary>
            A back reference to the work item
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Threading.Internal.WorkItem.WorkItemResult.Result">
            <summary>
            Return the result, same as GetResult()
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Threading.Internal.WorkItem.WorkItemResult.Exception">
            <summary>
            Returns the exception if occured otherwise returns null.
            This value is valid only after the work item completed,
            before that it is always null.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItemFactory.CreateWorkItem(CodeSmith.Core.Threading.IWorkItemsGroup,CodeSmith.Core.Threading.WIGStartInfo,CodeSmith.Core.Threading.WorkItemCallback)">
            <summary>
            Create a new work item
            </summary>
            <param name="workItemsGroup">The work items group.</param>
            <param name="wigStartInfo">Work item group start information</param>
            <param name="callback">A callback to execute</param>
            <returns>Returns a work item</returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItemFactory.CreateWorkItem(CodeSmith.Core.Threading.IWorkItemsGroup,CodeSmith.Core.Threading.WIGStartInfo,CodeSmith.Core.Threading.WorkItemCallback,CodeSmith.Core.Threading.WorkItemPriority)">
            <summary>
            Create a new work item
            </summary>
            <param name="workItemsGroup"></param>
            <param name="wigStartInfo">Work item group start information</param>
            <param name="callback">A callback to execute</param>
            <param name="workItemPriority">The priority of the work item</param>
            <returns>Returns a work item</returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItemFactory.CreateWorkItem(CodeSmith.Core.Threading.IWorkItemsGroup,CodeSmith.Core.Threading.WIGStartInfo,CodeSmith.Core.Threading.WorkItemInfo,CodeSmith.Core.Threading.WorkItemCallback)">
            <summary>
            Create a new work item
            </summary>
            <param name="workItemsGroup"></param>
            <param name="wigStartInfo">Work item group start information</param>
            <param name="workItemInfo">Work item info</param>
            <param name="callback">A callback to execute</param>
            <returns>Returns a work item</returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItemFactory.CreateWorkItem(CodeSmith.Core.Threading.IWorkItemsGroup,CodeSmith.Core.Threading.WIGStartInfo,CodeSmith.Core.Threading.WorkItemCallback,System.Object)">
            <summary>
            Create a new work item
            </summary>
            <param name="workItemsGroup"></param>
            <param name="wigStartInfo">Work item group start information</param>
            <param name="callback">A callback to execute</param>
            <param name="state">
            The context object of the work item. Used for passing arguments to the work item. 
            </param>
            <returns>Returns a work item</returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItemFactory.CreateWorkItem(CodeSmith.Core.Threading.IWorkItemsGroup,CodeSmith.Core.Threading.WIGStartInfo,CodeSmith.Core.Threading.WorkItemCallback,System.Object,CodeSmith.Core.Threading.WorkItemPriority)">
            <summary>
            Create a new work item
            </summary>
            <param name="workItemsGroup"></param>
            <param name="wigStartInfo">Work item group start information</param>
            <param name="callback">A callback to execute</param>
            <param name="state">
            The context object of the work item. Used for passing arguments to the work item. 
            </param>
            <param name="workItemPriority">The work item priority</param>
            <returns>Returns a work item</returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItemFactory.CreateWorkItem(CodeSmith.Core.Threading.IWorkItemsGroup,CodeSmith.Core.Threading.WIGStartInfo,CodeSmith.Core.Threading.WorkItemInfo,CodeSmith.Core.Threading.WorkItemCallback,System.Object)">
            <summary>
            Create a new work item
            </summary>
            <param name="workItemsGroup"></param>
            <param name="wigStartInfo">Work item group start information</param>
            <param name="workItemInfo">Work item information</param>
            <param name="callback">A callback to execute</param>
            <param name="state">
            The context object of the work item. Used for passing arguments to the work item. 
            </param>
            <returns>Returns a work item</returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItemFactory.CreateWorkItem(CodeSmith.Core.Threading.IWorkItemsGroup,CodeSmith.Core.Threading.WIGStartInfo,CodeSmith.Core.Threading.WorkItemCallback,System.Object,CodeSmith.Core.Threading.PostExecuteWorkItemCallback)">
            <summary>
            Create a new work item
            </summary>
            <param name="workItemsGroup"></param>
            <param name="wigStartInfo">Work item group start information</param>
            <param name="callback">A callback to execute</param>
            <param name="state">
            The context object of the work item. Used for passing arguments to the work item. 
            </param>
            <param name="postExecuteWorkItemCallback">
            A delegate to call after the callback completion
            </param>
            <returns>Returns a work item</returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItemFactory.CreateWorkItem(CodeSmith.Core.Threading.IWorkItemsGroup,CodeSmith.Core.Threading.WIGStartInfo,CodeSmith.Core.Threading.WorkItemCallback,System.Object,CodeSmith.Core.Threading.PostExecuteWorkItemCallback,CodeSmith.Core.Threading.WorkItemPriority)">
            <summary>
            Create a new work item
            </summary>
            <param name="workItemsGroup"></param>
            <param name="wigStartInfo">Work item group start information</param>
            <param name="callback">A callback to execute</param>
            <param name="state">
            The context object of the work item. Used for passing arguments to the work item. 
            </param>
            <param name="postExecuteWorkItemCallback">
            A delegate to call after the callback completion
            </param>
            <param name="workItemPriority">The work item priority</param>
            <returns>Returns a work item</returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItemFactory.CreateWorkItem(CodeSmith.Core.Threading.IWorkItemsGroup,CodeSmith.Core.Threading.WIGStartInfo,CodeSmith.Core.Threading.WorkItemCallback,System.Object,CodeSmith.Core.Threading.PostExecuteWorkItemCallback,CodeSmith.Core.Threading.CallToPostExecute)">
            <summary>
            Create a new work item
            </summary>
            <param name="workItemsGroup"></param>
            <param name="wigStartInfo">Work item group start information</param>
            <param name="callback">A callback to execute</param>
            <param name="state">
            The context object of the work item. Used for passing arguments to the work item. 
            </param>
            <param name="postExecuteWorkItemCallback">
            A delegate to call after the callback completion
            </param>
            <param name="callToPostExecute">Indicates on which cases to call to the post execute callback</param>
            <returns>Returns a work item</returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItemFactory.CreateWorkItem(CodeSmith.Core.Threading.IWorkItemsGroup,CodeSmith.Core.Threading.WIGStartInfo,CodeSmith.Core.Threading.WorkItemCallback,System.Object,CodeSmith.Core.Threading.PostExecuteWorkItemCallback,CodeSmith.Core.Threading.CallToPostExecute,CodeSmith.Core.Threading.WorkItemPriority)">
            <summary>
            Create a new work item
            </summary>
            <param name="workItemsGroup"></param>
            <param name="wigStartInfo">Work item group start information</param>
            <param name="callback">A callback to execute</param>
            <param name="state">
            The context object of the work item. Used for passing arguments to the work item. 
            </param>
            <param name="postExecuteWorkItemCallback">
            A delegate to call after the callback completion
            </param>
            <param name="callToPostExecute">Indicates on which cases to call to the post execute callback</param>
            <param name="workItemPriority">The work item priority</param>
            <returns>Returns a work item</returns>
        </member>
        <member name="T:CodeSmith.Core.Threading.WorkItemInfo">
            <summary>
            Summary description for WorkItemInfo.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.WorkItemInfo._useCallerCallContext">
            <summary>
            Use the caller's security context
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.WorkItemInfo._useCallerHttpContext">
            <summary>
            Use the caller's security context
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.WorkItemInfo._disposeOfStateObjects">
            <summary>
            Dispose of the state object of a work item
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.WorkItemInfo._callToPostExecute">
            <summary>
            The option to run the post execute
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.WorkItemInfo._postExecuteWorkItemCallback">
            <summary>
            A post execute callback to call when none is provided in 
            the QueueWorkItem method.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.WorkItemInfo._workItemPriority">
            <summary>
            The priority of the work item
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Threading.Internal.WorkItemsGroup">
            <summary>
            Summary description for WorkItemsGroup.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.WorkItemsGroup._name">
            <summary>
            Contains the name of this instance of SmartThreadPool.
            Can be changed by the user.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.WorkItemsGroup._stp">
            <summary>
            A reference to the SmartThreadPool instance that created this 
            WorkItemsGroup.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.WorkItemsGroup._concurrency">
            <summary>
            Defines how many work items of this WorkItemsGroup can run at once.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.WorkItemsGroup._workItemsQueue">
            <summary>
            Priority queue to hold work items before they are passed 
            to the SmartThreadPool.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.WorkItemsGroup._workItemsInStpQueue">
            <summary>
            Indicate how many work items are waiting in the SmartThreadPool
            queue.
            This value is used to apply the concurrency.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.WorkItemsGroup._workItemsExecutingInStp">
            <summary>
            Indicate how many work items are currently running in the SmartThreadPool.
            This value is used with the Cancel, to calculate if we can send new 
            work items to the STP.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.WorkItemsGroup._workItemsGroupStartInfo">
            <summary>
            WorkItemsGroup start information
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.WorkItemsGroup._isIdleWaitHandle">
            <summary>
            Signaled when all of the WorkItemsGroup's work item completed.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.WorkItemsGroup._canceledWorkItemsGroup">
            <summary>
            A common object for all the work items that this work items group
            generate so we can mark them to cancel in O(1)
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItemsGroup.QueueWorkItem(CodeSmith.Core.Threading.WorkItemCallback)">
            <summary>
            Queue a work item
            </summary>
            <param name="callback">A callback to execute</param>
            <returns>Returns a work item result</returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItemsGroup.QueueWorkItem(CodeSmith.Core.Threading.WorkItemCallback,CodeSmith.Core.Threading.WorkItemPriority)">
            <summary>
            Queue a work item
            </summary>
            <param name="callback">A callback to execute</param>
            <param name="workItemPriority">The priority of the work item</param>
            <returns>Returns a work item result</returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItemsGroup.QueueWorkItem(CodeSmith.Core.Threading.WorkItemInfo,CodeSmith.Core.Threading.WorkItemCallback)">
            <summary>
            Queue a work item
            </summary>
            <param name="workItemInfo">Work item info</param>
            <param name="callback">A callback to execute</param>
            <returns>Returns a work item result</returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItemsGroup.QueueWorkItem(CodeSmith.Core.Threading.WorkItemCallback,System.Object)">
            <summary>
            Queue a work item
            </summary>
            <param name="callback">A callback to execute</param>
            <param name="state">
            The context object of the work item. Used for passing arguments to the work item. 
            </param>
            <returns>Returns a work item result</returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItemsGroup.QueueWorkItem(CodeSmith.Core.Threading.WorkItemCallback,System.Object,CodeSmith.Core.Threading.WorkItemPriority)">
            <summary>
            Queue a work item
            </summary>
            <param name="callback">A callback to execute</param>
            <param name="state">
            The context object of the work item. Used for passing arguments to the work item. 
            </param>
            <param name="workItemPriority">The work item priority</param>
            <returns>Returns a work item result</returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItemsGroup.QueueWorkItem(CodeSmith.Core.Threading.WorkItemInfo,CodeSmith.Core.Threading.WorkItemCallback,System.Object)">
            <summary>
            Queue a work item
            </summary>
            <param name="workItemInfo">Work item information</param>
            <param name="callback">A callback to execute</param>
            <param name="state">
            The context object of the work item. Used for passing arguments to the work item. 
            </param>
            <returns>Returns a work item result</returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItemsGroup.QueueWorkItem(CodeSmith.Core.Threading.WorkItemCallback,System.Object,CodeSmith.Core.Threading.PostExecuteWorkItemCallback)">
            <summary>
            Queue a work item
            </summary>
            <param name="callback">A callback to execute</param>
            <param name="state">
            The context object of the work item. Used for passing arguments to the work item. 
            </param>
            <param name="postExecuteWorkItemCallback">
            A delegate to call after the callback completion
            </param>
            <returns>Returns a work item result</returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItemsGroup.QueueWorkItem(CodeSmith.Core.Threading.WorkItemCallback,System.Object,CodeSmith.Core.Threading.PostExecuteWorkItemCallback,CodeSmith.Core.Threading.WorkItemPriority)">
            <summary>
            Queue a work item
            </summary>
            <param name="callback">A callback to execute</param>
            <param name="state">
            The context object of the work item. Used for passing arguments to the work item. 
            </param>
            <param name="postExecuteWorkItemCallback">
            A delegate to call after the callback completion
            </param>
            <param name="workItemPriority">The work item priority</param>
            <returns>Returns a work item result</returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItemsGroup.QueueWorkItem(CodeSmith.Core.Threading.WorkItemCallback,System.Object,CodeSmith.Core.Threading.PostExecuteWorkItemCallback,CodeSmith.Core.Threading.CallToPostExecute)">
            <summary>
            Queue a work item
            </summary>
            <param name="callback">A callback to execute</param>
            <param name="state">
            The context object of the work item. Used for passing arguments to the work item. 
            </param>
            <param name="postExecuteWorkItemCallback">
            A delegate to call after the callback completion
            </param>
            <param name="callToPostExecute">Indicates on which cases to call to the post execute callback</param>
            <returns>Returns a work item result</returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItemsGroup.QueueWorkItem(CodeSmith.Core.Threading.WorkItemCallback,System.Object,CodeSmith.Core.Threading.PostExecuteWorkItemCallback,CodeSmith.Core.Threading.CallToPostExecute,CodeSmith.Core.Threading.WorkItemPriority)">
            <summary>
            Queue a work item
            </summary>
            <param name="callback">A callback to execute</param>
            <param name="state">
            The context object of the work item. Used for passing arguments to the work item. 
            </param>
            <param name="postExecuteWorkItemCallback">
            A delegate to call after the callback completion
            </param>
            <param name="callToPostExecute">Indicates on which cases to call to the post execute callback</param>
            <param name="workItemPriority">The work item priority</param>
            <returns>Returns a work item result</returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItemsGroup.WaitForIdle">
            <summary>
            Wait for the thread pool to be idle
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItemsGroup.WaitForIdle(System.TimeSpan)">
            <summary>
            Wait for the thread pool to be idle
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItemsGroup.WaitForIdle(System.Int32)">
            <summary>
            Wait for the thread pool to be idle
            </summary>
        </member>
        <member name="E:CodeSmith.Core.Threading.Internal.WorkItemsGroup._onIdle">
            <summary>
            The OnIdle event
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Threading.Internal.WorkItemsGroup.Name">
            <summary>
            Get/Set the name of the SmartThreadPool instance
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Threading.Internal.WorkItemsQueue">
            <summary>
            WorkItemsQueue class.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.WorkItemsQueue._headWaiterEntry">
            <summary>
            Waiters queue (implemented as stack).
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.WorkItemsQueue._waitersCount">
            <summary>
            Waiters count
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.WorkItemsQueue._workItems">
            <summary>
            Work items queue
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.WorkItemsQueue._isWorkItemsQueueActive">
            <summary>
            Indicate that work items are allowed to be queued
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.WorkItemsQueue._waiterEntry">
            <summary>
            Each thread in the thread pool keeps its own waiter entry.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.WorkItemsQueue._isDisposed">
            <summary>
            A flag that indicates if the WorkItemsQueue has been disposed.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItemsQueue.EnqueueWorkItem(CodeSmith.Core.Threading.Internal.WorkItem)">
            <summary>
            Enqueue a work item to the queue.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItemsQueue.DequeueWorkItem(System.Int32,System.Threading.WaitHandle)">
            <summary>
            Waits for a work item or exits on timeout or cancel
            </summary>
            <param name="millisecondsTimeout">Timeout in milliseconds</param>
            <param name="cancelEvent">Cancel wait handle</param>
            <returns>Returns true if the resource was granted</returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItemsQueue.Cleanup">
            <summary>
            Cleanup the work items queue, hence no more work 
            items are allowed to be queue
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItemsQueue.GetThreadWaiterEntry">
            <summary>
            Returns the WaiterEntry of the current thread
            </summary>
            <returns></returns>
            In order to avoid creation and destuction of WaiterEntry
            objects each thread has its own WaiterEntry object.
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItemsQueue.PushWaiter(CodeSmith.Core.Threading.Internal.WorkItemsQueue.WaiterEntry)">
            <summary>
            Push a new waiter into the waiter's stack
            </summary>
            <param name="newWaiterEntry">A waiter to put in the stack</param>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItemsQueue.PopWaiter">
            <summary>
            Pop a waiter from the waiter's stack
            </summary>
            <returns>Returns the first waiter in the stack</returns>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItemsQueue.RemoveWaiter(CodeSmith.Core.Threading.Internal.WorkItemsQueue.WaiterEntry,System.Boolean)">
            <summary>
            Remove a waiter from the stack
            </summary>
            <param name="waiterEntry">A waiter entry to remove</param>
            <param name="popDecrement">If true the waiter count is always decremented</param>
        </member>
        <member name="P:CodeSmith.Core.Threading.Internal.WorkItemsQueue.Count">
            <summary>
            Returns the current number of work items in the queue
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Threading.Internal.WorkItemsQueue.WaitersCount">
            <summary>
            Returns the current number of waiters
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.WorkItemsQueue.WaiterEntry._waitHandle">
            <summary>
            Event to signal the waiter that it got the work item.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.WorkItemsQueue.WaiterEntry._isTimedout">
            <summary>
            Flag to know if this waiter already quited from the queue 
            because of a timeout.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.WorkItemsQueue.WaiterEntry._isSignaled">
            <summary>
            Flag to know if the waiter was signaled and got a work item. 
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Threading.Internal.WorkItemsQueue.WaiterEntry._workItem">
            <summary>
            A work item that passed directly to the waiter withou going 
            through the queue
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItemsQueue.WaiterEntry.Signal(CodeSmith.Core.Threading.Internal.WorkItem)">
            <summary>
            Signal the waiter that it got a work item.
            </summary>
            <returns>Return true on success</returns>
            The method fails if Timeout() preceded its call
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItemsQueue.WaiterEntry.Timeout">
            <summary>
            Mark the wait entry that it has been timed out
            </summary>
            <returns>Return true on success</returns>
            The method fails if Signal() preceded its call
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItemsQueue.WaiterEntry.Reset">
            <summary>
            Reset the wait entry so it can be used again
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Threading.Internal.WorkItemsQueue.WaiterEntry.Close">
            <summary>
            Free resources
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Visitor.DynamicVisitor`1.ShouldCallBaseTypeVisitors">
            <summary>
            Determines if the visitor should call the visitors of any registered delegates that are base types of the being visited.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Visitor.DynamicVisitor`1.ShouldCallMultipleVisitors">
            <summary>
            Determines if the visiting should stop after one successful visit.
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Win32.AttachmentCollection">
            <summary>
            A collection class for attachments
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Win32.AttachmentCollection.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Win32.AttachmentCollection"/> class.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Win32.AttachmentCollection.#ctor(System.Collections.Generic.IList{System.String})">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Win32.AttachmentCollection"/> class.
            </summary>
            <param name="list">The list that is wrapped by the new collection.</param>
            <exception cref="T:System.ArgumentNullException">
            	<paramref name="list"/> is null.
            </exception>
        </member>
        <member name="T:CodeSmith.Core.Win32.FileIcon">
            <summary>
            Defines a set of utility methods for extracting icons for files and file extensions.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Win32.FileIcon.SHGFI_ICON">
            <summary>
            Retrieve the handle to the icon that represents the file and the index of the icon within the system image list. The handle is copied to the hIcon member of the structure specified by psfi, and the index is copied to the iIcon member.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Win32.FileIcon.SHGFI_LARGEICON">
            <summary>
            Modify SHGFI_ICON, causing the function to retrieve the file's large icon. The SHGFI_ICON flag must also be set.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Win32.FileIcon.SHGFI_SMALLICON">
            <summary>
            Modify SHGFI_ICON, causing the function to retrieve the file's small icon. Also used to modify SHGFI_SYSICONINDEX, causing the function to return the handle to the system image list that contains small icon images. The SHGFI_ICON and/or SHGFI_SYSICONINDEX flag must also be set.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Win32.FileIcon.SHGetFileInfo(System.String,System.UInt32,CodeSmith.Core.Win32.FileIcon.SHFILEINFO@,System.UInt32,CodeSmith.Core.Win32.ShellIconSize)">
            <summary>
            Retrieves information about an object in the file system, such as a file, folder, directory, or drive root.
            </summary>
            <param name="pszPath">A pointer to a null-terminated string of maximum length MAX_PATH that contains the path and file name. Both absolute and relative paths are valid.</param>
            <param name="dwFileAttributes">A combination of one or more file attribute flags (FILE_ATTRIBUTE_ values as defined in Winnt.h).</param>
            <param name="psfi">The address of a SHFILEINFO structure to receive the file information.</param>
            <param name="cbSizeFileInfo">The size, in bytes, of the SHFILEINFO structure pointed to by the psfi parameter.</param>
            <param name="uFlags">The flags that specify the file information to retrieve.</param>
            <returns>Nonzero if successful, or zero otherwise.</returns>
        </member>
        <member name="M:CodeSmith.Core.Win32.FileIcon.ExtractIconEx(System.String,System.Int32,System.IntPtr[],System.IntPtr[],System.UInt32)">
            <summary>
            Creates an array of handles to large or small icons extracted from the specified executable file, DLL, or icon file. 
            </summary>
            <param name="libName">The name of an executable file, DLL, or icon file from which icons will be extracted.</param>
            <param name="iconIndex">The zero-based index of the first icon to extract. If this value is a negative number and either phiconLarge or phiconSmall is not NULL, the function begins by extracting the icon whose resource identifier is equal to the absolute value of nIconIndex. For example, use -3 to extract the icon whose resource identifier is 3.</param>
            <param name="largeIcon">An array of icon handles that receives handles to the large icons extracted from the file. If this parameter is NULL, no large icons are extracted from the file.</param>
            <param name="smallIcon">An array of icon handles that receives handles to the small icons extracted from the file. If this parameter is NULL, no small icons are extracted from the file.</param>
            <param name="nIcons">The number of icons to be extracted from the file.</param>
            <returns>If the nIconIndex parameter is -1, the phiconLarge parameter is NULL, and the phiconSmall  parameter is NULL, then the return value is the number of icons contained in the specified file. Otherwise, the return value is the number of icons successfully extracted from the file.</returns>
        </member>
        <member name="M:CodeSmith.Core.Win32.FileIcon.FromFile(System.String,CodeSmith.Core.Win32.ShellIconSize)">
            <summary>
            Returns an icon representation of the specified file.
            </summary>
            <param name="filename">The path to the file.</param>
            <param name="size">The desired size of the icon.</param>
            <returns>An icon that represents the file.</returns>
        </member>
        <member name="M:CodeSmith.Core.Win32.FileIcon.FromExtension(System.String,CodeSmith.Core.Win32.ShellIconSize)">
            <summary>
            Returns the default icon representation for files with the specified extension.
            </summary>
            <param name="extension">File extension (including the leading period).</param>
            <param name="size">The desired size of the icon.</param>
            <returns>The default icon for files with the specified extension.</returns>
        </member>
        <member name="T:CodeSmith.Core.Win32.FileIcon.SHFILEINFO">
            <summary>
            Contains information about a file object.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Win32.FileIcon.SHFILEINFO.hIcon">
            <summary>
            A handle to the icon that represents the file.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Win32.FileIcon.SHFILEINFO.iIcon">
            <summary>
            The index of the icon image within the system image list.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Win32.FileIcon.SHFILEINFO.dwAttributes">
            <summary>
            An array of values that indicates the attributes of the file object.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Win32.FileIcon.SHFILEINFO.szDisplayName">
            <summary>
            A string that contains the name of the file as it appears in the Windows Shell, or the path and file name of the file that contains the icon representing the file.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Win32.FileIcon.SHFILEINFO.szTypeName">
            <summary>
            A string that describes the type of file.
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Win32.ShellIconSize">
            <summary>
            Represents the different icon sizes that can be extracted using the ExtractAssociatedIcon method.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Win32.ShellIconSize.SmallIcon">
            <summary>
            Specifies a small (16x16) icon.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Win32.ShellIconSize.LargeIcon">
            <summary>
            Specifies a large (32x32) icon.
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Win32.MailDialog">
            <summary>
            Represents an email message to be sent through MAPI.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Win32.MailDialog.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Win32.MailDialog"/> class.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Win32.MailDialog.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Win32.MailDialog"/> class with the specified subject.
            </summary>
            <param name="subject">The subject.</param>
        </member>
        <member name="M:CodeSmith.Core.Win32.MailDialog.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Win32.MailDialog"/> class with the specified subject and body.
            </summary>
            <param name="subject">The subject.</param>
            <param name="body">The body.</param>
        </member>
        <member name="M:CodeSmith.Core.Win32.MailDialog.OnSendMailComplete(System.Int32)">
            <summary>
            Called when send mail is complete.
            </summary>
            <param name="errorCode">The error code.</param>
        </member>
        <member name="M:CodeSmith.Core.Win32.MailDialog.ShowAsync">
            <summary>
            Displays the mail message dialog asynchronously.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Win32.MailDialog.ShowDialog">
            <summary>
            Displays the mail message dialog. The call is block until the dialog is closed.
            </summary>
            <returns>The error code from the mapi call.</returns>
        </member>
        <member name="E:CodeSmith.Core.Win32.MailDialog.SendMailComplete">
            <summary>
            Occurs when the MAPI send mail call is complete.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Win32.MailDialog.Subject">
            <summary>
            Gets or sets the subject of this mail message.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Win32.MailDialog.Body">
            <summary>
            Gets or sets the body of this mail message.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Win32.MailDialog.Recipients">
            <summary>
            Gets the recipient list for this mail message.
            </summary>
        </member>
        <member name="P:CodeSmith.Core.Win32.MailDialog.Attachments">
            <summary>
            Gets the attachment list for this mail message.
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Win32.MailDialog.RecipientType">
            <summary>
            Specifies the valid RecipientTypes for a Recipient.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Win32.MailDialog.RecipientType.To">
            <summary>
            Recipient will be in the TO list.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Win32.MailDialog.RecipientType.CC">
            <summary>
            Recipient will be in the CC list.
            </summary>
        </member>
        <member name="F:CodeSmith.Core.Win32.MailDialog.RecipientType.BCC">
            <summary>
            Recipient will be in the BCC list.
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Win32.Mapi">
            <summary>
            Internal class for calling MAPI APIs
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Win32.Mapi.GetError(System.Int32)">
            <summary>
            Gets the error message from the specified error code.
            </summary>
            <param name="errorCode">The error code.</param>
            <returns>The error message from the error code.</returns>
        </member>
        <member name="T:CodeSmith.Core.Win32.Recipient">
            <summary>
            Represents a Recipient for a <see cref="T:CodeSmith.Core.Win32.MailDialog"/>.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Win32.Recipient.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Win32.Recipient"/> class.
            </summary>
            <param name="emailAddress">The email address.</param>
        </member>
        <member name="M:CodeSmith.Core.Win32.Recipient.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Win32.Recipient"/> class.
            </summary>
            <param name="emailAddress">The email address.</param>
            <param name="displayName">The display name.</param>
        </member>
        <member name="M:CodeSmith.Core.Win32.Recipient.#ctor(System.String,CodeSmith.Core.Win32.MailDialog.RecipientType)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Win32.Recipient"/> class.
            </summary>
            <param name="emailAddress">The email address.</param>
            <param name="recipientType">Type of the recipient.</param>
        </member>
        <member name="M:CodeSmith.Core.Win32.Recipient.#ctor(System.String,System.String,CodeSmith.Core.Win32.MailDialog.RecipientType)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Win32.Recipient"/> class.
            </summary>
            <param name="emailAddress">The email address.</param>
            <param name="displayName">The display name.</param>
            <param name="recipientType">Type of the recipient.</param>
        </member>
        <member name="P:CodeSmith.Core.Win32.Recipient.EmailAddress">
            <summary>
            Gets or sets the email address.
            </summary>
            <value>The email address.</value>
        </member>
        <member name="P:CodeSmith.Core.Win32.Recipient.DisplayName">
            <summary>
            Gets or sets the display name.
            </summary>
            <value>The display name.</value>
        </member>
        <member name="P:CodeSmith.Core.Win32.Recipient.RecipientType">
            <summary>
            Gets or sets the type of the recipient.
            </summary>
            <value>The type of the recipient.</value>
        </member>
        <member name="T:CodeSmith.Core.Win32.RecipientCollection">
            <summary>
            A collection of recipients for a mail message.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Win32.RecipientCollection.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Win32.RecipientCollection"/> class.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Win32.RecipientCollection.#ctor(System.Collections.Generic.IList{CodeSmith.Core.Win32.Recipient})">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Win32.RecipientCollection"/> class.
            </summary>
            <param name="list">The list that is wrapped by the new collection.</param>
            <exception cref="T:System.ArgumentNullException">
            	<paramref name="list"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:CodeSmith.Core.Win32.RecipientCollection.Add(System.String)">
            <summary>
            Adds a new recipient with the specified email address to this collection.
            </summary>
            <param name="emailAddress">The email address.</param>
        </member>
        <member name="M:CodeSmith.Core.Win32.RecipientCollection.Add(System.String,System.String)">
            <summary>
            Adds a new recipient with the specified email address and display name to this collection.
            </summary>
            <param name="emailAddress">The email address.</param>
            <param name="displayName">The display name.</param>
        </member>
        <member name="M:CodeSmith.Core.Win32.RecipientCollection.Add(System.String,CodeSmith.Core.Win32.MailDialog.RecipientType)">
            <summary>
            Adds a new recipient with the specified email address and recipient type to this collection.
            </summary>
            <param name="emailAddress">The email address.</param>
            <param name="recipientType">Type of the recipient.</param>
        </member>
        <member name="M:CodeSmith.Core.Win32.RecipientCollection.Add(System.String,System.String,CodeSmith.Core.Win32.MailDialog.RecipientType)">
            <summary>
            Adds a new recipient with the specified email address, display name and recipient type to this collection.
            </summary>
            <param name="emailAddress">The email address.</param>
            <param name="displayName">The display name.</param>
            <param name="recipientType">Type of the recipient.</param>
        </member>
        <member name="T:CodeSmith.Core.Win32.SendMailCompleteEventArgs">
            <summary>
            A class representing the SendMailComplate event.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Win32.SendMailCompleteEventArgs.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Win32.SendMailCompleteEventArgs"/> class.
            </summary>
            <param name="errorCode">The error code.</param>
        </member>
        <member name="P:CodeSmith.Core.Win32.SendMailCompleteEventArgs.ErrorCode">
            <summary>
            Gets the error code.
            </summary>
            <value>The error code.</value>
        </member>
        <member name="P:CodeSmith.Core.Win32.SendMailCompleteEventArgs.ErrorMessage">
            <summary>
            Gets the error message.
            </summary>
            <value>The error message.</value>
        </member>
        <member name="F:CodeSmith.Core.Win32.WindowUtils.ShowWindowCommands.Restore">
            <summary>
            Activates and displays the window. If the window is minimized or 
            maximized, the system restores it to its original size and position. 
            An application should specify this flag when restoring a minimized window.
            </summary>
        </member>
        <member name="T:CodeSmith.Core.Xml.NamespaceParser">
            <summary>
            A class to parse all the xml namespaces from an XPathNavigator.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Xml.NamespaceParser.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Core.Xml.NamespaceParser"/> class.
            </summary>
        </member>
        <member name="M:CodeSmith.Core.Xml.NamespaceParser.ParseNamespaces(System.Xml.XPath.XPathNavigator)">
            <summary>
            Parses an XML document for its namespaces.
            </summary>
            <param name="navigator">The navigator.</param>
        </member>
        <member name="P:CodeSmith.Core.Xml.NamespaceParser.Namespaces">
            <summary>
            Gets or sets the namespaces collection.
            </summary>
            <value>The namespaces collection.</value>
        </member>
        <member name="P:CodeSmith.Core.Xml.NamespaceParser.ParseChildren">
            <summary>
            Gets or sets a value indicating whether to parse child nodes to find namespaces.
            </summary>
            <value><c>true</c> if parse child nodes; otherwise, to only parse root element, <c>false</c>.</value>
        </member>
        <member name="P:CodeSmith.Core.Xml.NamespaceParser.DefaultScheme">
            <summary>
            Gets or sets the scheme to use when generating prefix values for default namespaces.
            </summary>
            <value>The default scheme.</value>
        </member>
        <member name="P:CodeSmith.Core.Xml.NamespaceParser.DefaultPrefix">
            <summary>
            Gets or sets the default prefix.
            </summary>
            <value>The default prefix.</value>
        </member>
    </members>
</doc>
