<?xml version="1.0"?>
<doc>
    <assembly>
        <name>JetBrains.Common.Util</name>
    </assembly>
    <members>
        <member name="T:JetBrains.Common.Util.BuildScript.RequestDotCommonCleanCompile">
            <summary>
            The DotCommon project has been cleaned up of all the compilation warnings.
            Useless technical values have been suppressed, and useful ones have been fixed.
            Note that this is also possible to enable the warning for in-VisualStudio analysis yet disable it for compilation.
            To maintain this clean state, a validator is imposed.
            </summary>
        </member>
        <member name="F:JetBrains.Common.Util.AdjacencyListEx`1.myArcStarts">
            <summary>
            The number i at index #n is the index of ArcEnds for the vertex #n in the graph.
            In <see cref="F:JetBrains.Common.Util.AdjacencyListEx`1.myArcEnds"/> at index i located the first related vertex of the vertex #n.
            </summary>
        </member>
        <member name="F:JetBrains.Common.Util.AdjacencyListEx`1.myArcEnds">
            <summary>
            The list of referenced nodes.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.Analysis.PressureCalculator.TryDetectIssues(System.Collections.Generic.IEnumerable{JetBrains.Common.Util.Analysis.PressureCalculatorInput},System.Boolean,System.Nullable{System.TimeSpan})">
            <summary>
            Returned items with Finished are completely calculated issues. They will be returned only once, and next calculation will begin after them
            Returned items without Finished are issues still being calculated. They will be returned each time until they will become completely calculated.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.AsyncTaskBase.#ctor(JetBrains.Common.Util.AsyncTaskBase,System.Int32)">
            <summary>
            This constructor is used only for creation of suboperations. For such operations <see cref="M:JetBrains.Common.Util.AsyncTaskBase.Execute(JetBrains.Common.Util.ITaskExecutionEnvironment)"/> method 
            is never invoked, so execution controller won't be recreated
            </summary>
            <param name="parent"></param>
            <param name="parentStepsCount"></param>
        </member>
        <member name="M:JetBrains.Common.Util.ExecutionControllerExtensions.ExecuteAsyncWithYields``1(JetBrains.Common.Util.IExecutionControllerOld,System.TimeSpan,System.Func{``0})">
            <summary>
            Execute action which we can't interrupt, but we want to stop waiting for results
            If we don't want results anymore we just forget this task (because we can't interrupt it)
            So for caller it looks like we canceled it
            </summary>
            <typeparam name="T"></typeparam>
            <param name="controller"></param>
            <param name="yieldFrequency"></param>
            <param name="asyncAction"></param>
            <returns></returns>
        </member>
        <member name="P:JetBrains.Common.Util.IAsyncOperation.OperationProgress">
            <summary>
            Indicates state of the operation progress in percents from 0 to 100.
            </summary>
        </member>
        <member name="P:JetBrains.Common.Util.IAsyncOperation.SubOperations">
            <summary>
            Contains a stack of currently executing sub-operations. You can listen changes in this stack via <see cref="T:System.Collections.Specialized.INotifyCollectionChanged"/>
            </summary>
        </member>
        <member name="P:JetBrains.Common.Util.IAsyncOperation.CanCancel">
            <summary>
            Returns true if the operation supports cancelation
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.IAsyncOperation.Cancel">
            <summary>
            Cancels the operation. Returns immediately, does not wait till the operation execution is breaking physicaly.
            Hence canceled task can fire <see cref="E:JetBrains.Common.Util.IAsyncOperation.Finished"/> because of race condition but logicaly is canceled.
            Use <see cref="P:JetBrains.Common.Util.IAsyncOperation.IsCanceled"/> to determine if the operation was canceled or not.
            </summary>
        </member>
        <member name="P:JetBrains.Common.Util.IAsyncOperation.IsCanceled">
            <summary>
            True if the operation was canceled - method <see cref="M:JetBrains.Common.Util.IAsyncOperation.Cancel"/> was called to.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.IAsyncOperation`1.GetResult">
            <summary>
            Returns the result of task execution. Blocks until task will finished even if task is not executed.
             </summary>
            <exception>Throw an exception if task execution finished interupted by exception.</exception>
            <returns>Returns the result of task execution.</returns>
        </member>
        <member name="M:JetBrains.Common.Util.ISequentialTaskExecutor.ExecuteExclusively(JetBrains.Common.Util.ITask,System.Boolean)">
            <summary>
            Cancels all tasks in queue, waits for current task to finish and then starts new task
            </summary>
            <param name="task"></param>
            <param name="cancelRunningTask"></param>
            <returns>True is any task was actually canceled</returns>
        </member>
        <member name="M:JetBrains.Common.Util.ISequentialTaskExecutor.CancelAllTasks(System.Boolean)">
            <summary>
            Cancels all tasks in queue
            </summary>
            <param name="cancelRunningTask"></param>
            <returns>True is any task was actually canceled</returns>
        </member>
        <member name="P:JetBrains.Common.Util.ITask.FinishedEvent">
            <summary>
            Use this for blocking synchronization
            </summary>
        </member>
        <member name="F:JetBrains.Common.Util.SequentialTaskExecutor.myRunningTask">
            <summary>
            Currently executing task
            All changes to this field must be performed under lock
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.SequentialTaskExecutor.StartNextTask(System.Boolean)">
            <summary>
            Executes next task if it is available
            Precondition: myRunningTask is null or finished
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.CollectionDataProvidersExtension.TransformFromProviderOrdered``1(JetBrains.DataFlow.IReadonlyListEvents{JetBrains.Common.Util.DataPipes.IDataProvider{``0}},JetBrains.Lifetimes.Lifetime,System.Func{``0,System.Boolean})">
            <summary>
            Creates a <see cref="T:JetBrains.DataFlow.ListEvents`1" /> collection of items from the <paramref name="source" /> collection of data providers
            which contains values from providers matched specified filter.
            Keeps original list elements order. The next value will not be added until previous doesn't suggests filter
            Any value changes after value added will be ignored
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.CollectionDataProvidersExtension.WhereNotNullLive``1(JetBrains.DataFlow.IReadonlyCollectionEvents{JetBrains.Common.Util.DataPipes.IDataProvider{``0}},JetBrains.Lifetimes.Lifetime)">
            <summary>
            Creates a <see cref="T:JetBrains.DataFlow.ListEvents`1" /> collection of items from the <paramref name="source" /> collection of data providers
            which contains only not null values from providers. Keep it actual on values changes.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.CollectionDataProvidersExtension.CreateCountProvider``1(JetBrains.DataFlow.IReadonlyCollectionEvents{``0},JetBrains.Lifetimes.Lifetime)">
            <summary>
            Creates a data provider that tells the number of items in the collection.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.CollectionEventsExtension.FlowIntoSortedLive``2(JetBrains.DataFlow.IReadonlyCollectionEvents{``0},JetBrains.Lifetimes.Lifetime,JetBrains.DataFlow.IListEvents{``0},System.Func{``0,JetBrains.DataFlow.IProperty{``1}},System.Collections.Generic.IComparer{``1},System.Object)">
            <summary>
            For a collection of arbitrary items, maintains a list (= collection with linear order on the items) of the same items sorted in the order as defined by the
            <paramref name="comparerForSorting" />.
            </summary>
            <typeparam name="TItem">Item type.</typeparam>
            <typeparam name="TValue">Type of the item property to sort by</typeparam>
            <param name="source">Collection of items without any order implied.</param>
            <param name="lifetime">Time to work.</param>
            <param name="target">Target collection of ordered items.</param>
            <param name="getProperty">
            Functor getting an item property which is used to keep target collection sorted. Changing a value of property leads changing the position of item in
            collection
            </param>
            <param name="comparerForSorting">
            Comparer setting up the order. Might be partial order, in which case items are added in order of appearance (stable sorting). If <c>NULL</c>, uses
            default comparer, e.g. <see cref="T:System.IComparable`1" /> on the type.
            </param>
            <param name="cookie">Target collection modification token.</param>
        </member>
        <member name="M:JetBrains.Common.Util.CollectionEventsExtension.Advise``1(JetBrains.DataFlow.IReadonlyCollectionEvents{``0},JetBrains.Common.Util.FullLifetime,System.Action{JetBrains.Common.Util.FullLifetime,``0})">
            <summary>
              <para>Binds a lifetime to each item in the collection.</para>
              <para>
              Your handler is called for each item when it's added to the collection (and initially for all the items already in the collection), and is given the
              <see cref="T:JetBrains.Lifetimes.Lifetime">lifetime object</see> for that item. This per-item lifetime is terminated whenever that item is removed from the collection, or when the
              <paramref name="fullLifetime" /> you define for this method terminates.
              </para>
              <para>
              Using the per-item lifetime, you can define a pair of actions (after-item-comes — before-item-goes) to be executed for each item, or spawn some activity for the duration
              of each item, etc.
              </para>
            </summary>
            <param name="collectionEvents"></param>
            <param name="fullLifetime">FullLifetime of the construct. All of the open per-item lifetimes will be terminated when it terminates.</param>
            <param name="handler">Handler, called for each item when you first see it in the collection. The first param is the lifetime of the item, the second one is the item value itself.</param>
        </member>
        <member name="M:JetBrains.Common.Util.CollectionEventsExtension.Advise``1(JetBrains.DataFlow.IReadonlyCollectionEvents{``0},JetBrains.Lifetimes.Lifetime,System.Action{JetBrains.Common.Util.FullLifetime,``0})">
            <summary>
              <para>Binds a lifetime to each item in the collection.</para>
              <para>
              Your handler is called for each item when it's added to the collection (and initially for all the items already in the collection), and is given the
              <see cref="T:JetBrains.Lifetimes.Lifetime">lifetime object</see> for that item. This per-item lifetime is terminated whenever that item is removed from the collection, or when the
              <paramref name="lifetime" /> you define for this method terminates.
              </para>
              <para>
              Using the per-item lifetime, you can define a pair of actions (after-item-comes — before-item-goes) to be executed for each item, or spawn some activity for the duration
              of each item, etc.
              </para>
            </summary>
            <param name="collectionEvents"></param>
            <param name="lifetime">ILifetime of the construct. All of the open per-item lifetimes will be terminated when it terminates.</param>
            <param name="handler">Handler, called for each item when you first see it in the collection. The first param is the lifetime of the item, the second one is the item value itself.</param>
        </member>
        <member name="M:JetBrains.Common.Util.CollectionEventsExtension.ForEachItemCore``1(JetBrains.DataFlow.IReadonlyCollectionEvents{``0},JetBrains.Common.Util.FullLifetime,System.Action{JetBrains.Common.Util.FullLifetime,``0},System.Action{JetBrains.Common.Util.FullLifetime,``0,System.Object})">
            <summary>
            Core impl for both ForEachItem functions.
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.Collections.AddressResolveMap">
            <summary>
            Resolve address interval by position inside interval
            </summary>
        </member>
        <member name="F:JetBrains.Common.Util.Collections.AddressResolveMap.myData">
            <summary>
            Intervals are placed into buckets by top position bits.
            if interval covers positions with different top bits (interval start in one bucket, interval end in another)
            it will be placed in all buckets that is covered by it
            Each bucket contains ordered by position interval list 
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.Collections.AddressResolveMap.Insert(System.UInt64,System.UInt32,System.UInt32,System.Int32)">
            <summary>
            adds new interval for resolving
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.Collections.AddressResolveMap.TryGetInterval(System.UInt64,System.UInt32,JetBrains.Common.Util.Collections.AddressResolveMap.Interval@)">
            <summary>
            resolve interval by instruction pointer
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.BinaryHeap`1.#ctor(System.Collections.Generic.IEnumerable{`0},System.Comparison{`0})">
            <summary>
            Works with max 3*storage.Count compares. Prefer to use this constructor to make BinaryHeap from Enumerable
            </summary>
            <param name="storage"></param>
            <param name="comparison"></param>
        </member>
        <member name="P:JetBrains.Common.Util.BinaryHeap`1.ItemsUnsorted">
            <summary>
            Returns inner container with all items in the implementation-dependent order
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.CollectionExtensions.Extend``1(System.Collections.Generic.IEnumerable{``0},System.Int32,System.Func{``0})">
            <summary>
            Adds items to <see cref="!:source"/> generated by <see cref="!:with"/> so that resulting enumerable will have exactly <see cref="!:n"/> elements
            </summary>
            <typeparam name="T"></typeparam>
            <param name="source"></param>
            <param name="n"></param>
            <param name="with"></param>
            <returns></returns>
        </member>
        <member name="T:JetBrains.Common.Util.CountableWrapper`1">
            <summary>
            Wraps <see cref="T:System.Collections.Generic.IEnumerable`1"/> and count to create <see cref="T:System.Collections.Generic.IReadOnlyCollection`1"/>
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.EnumerableExtension.MergeIfSorted``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},System.Comparison{``0})">
            <summary>
            Merge to enumerables into one sorted array. Both enumerables should be already sorted.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="first"></param>
            <param name="second"></param>
            <param name="comprison"> </param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.EnumerableExtension.Intersect``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},System.Comparison{``0})">
            <summary>
            Intersects two sorted enumerables.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="first">Sorted enumerable</param>
            <param name="second">Sorted enumerable</param>
            <param name="comparison"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.EnumerableExtension.SkipIf``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Boolean},System.Func{System.Int32,System.Boolean})">
            <summary>
            Skipping elements in enumerable by predicate AND appearance number. For example, you can skip all, except first appearances of element in enumerable
            </summary>
            <typeparam name="T"></typeparam>
            <param name="enumerable"></param>
            <param name="predicate"></param>
            <param name="appearanceNumber"></param>
            <returns></returns>
        </member>
        <member name="T:JetBrains.Common.Util.GetTopItemsVisitor`1">
            <summary>
            Selects N top items from a collection without sorting it
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:JetBrains.Common.Util.ICollectionSynchronizer.StartSynchronizing">
            <summary>
            Starts synchronizing the lists.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.ICollectionSynchronizer.StopSynchronizing">
            <summary>
            Stop synchronizing the lists.
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.ReadonlyListSegment`1">
            <summary>
            Represent a segment of <see cref="T:System.Collections.Generic.IReadOnlyList`1"/>
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.ReadonlyListSegment`1.#ctor(System.Collections.Generic.IReadOnlyList{`0},System.Int32,System.Int32)">
            <param name="array">Initial array.</param>
            <param name="startIndex">Represents the index in the array at which part begins.</param>
            <param name="length">The part elements number.</param>
        </member>
        <member name="M:JetBrains.Common.Util.JetCollectionExtensions.ToReadonlyList``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Use with caution can create <see cref="T:JetBrains.Util.DataStructures.ChunkList`1"/>
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.ListEventsExtensions.FlowIntoSorted``2(JetBrains.DataFlow.ICollectionEvents{``0},JetBrains.Lifetimes.Lifetime,JetBrains.DataFlow.IListEvents{``1},System.Collections.Generic.IComparer{``0},System.Func{JetBrains.Lifetimes.Lifetime,``0,``1})">
            <summary>
            <para>Mirrors one list into collection of another type with sorted item order.</para>
            <para>It is an error to modify the target collection directly while this method is in effect.</para>
            </summary>
            <typeparam name="TSource">Type of the source collection items.</typeparam>
            <typeparam name="TTarget">Type of the target collection items.</typeparam>
            <param name="source">The source collection.</param>
            <param name="lifetime">Lifetime of the flow.</param>
            <param name="target">The target collection.</param>
            <param name="comparer">Comparator for sorting</param>
            <param name="converter">Converter that produces items for the second collection from the items of the first collection. Note that the converter is only used for the <see cref="F:JetBrains.Collections.Viewable.AddRemove.Add"/> operation, and there are no limitations on <see cref="M:System.Object.Equals(System.Object,System.Object)"/> of the conversion products. May be <c>Null</c> if the types could be converted by a simple cast.</param>
        </member>
        <member name="M:JetBrains.Common.Util.ListExtenstions.RemoveIfContains``1(System.Collections.Generic.IList{``0},``0)">
            <summary>
            Remove element from list if contains returns true
            </summary>
            <returns>true - is element was removed. false - otherwise</returns>
        </member>
        <member name="T:JetBrains.Common.Util.ReadOnlyListSlice`1">
            <summary>
            Represent an enumerable part of the list.
            </summary>
            <typeparam name="T">Type of the list item.</typeparam>
        </member>
        <member name="M:JetBrains.Common.Util.ReadOnlyListSlice`1.#ctor(System.Collections.Generic.IReadOnlyList{`0},System.Int32,System.Int32)">
            <param name="list">Initial list.</param>
            <param name="startIndex">Represents the index in the list at which part begins.</param>
            <param name="count">The part elements number.</param>
        </member>
        <member name="T:JetBrains.Common.Util.SetAndListSynchronizer`2">
            <summary>
            Keeps two lists synchronized. 
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.SetAndListSynchronizer`2.StartSynchronizing">
            <summary>
            Starts synchronizing the lists.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.SetAndListSynchronizer`2.StopSynchronizing">
            <summary>
            Stop synchronizing the lists.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.SetAndListSynchronizer`2.StartListenList">
            <summary>
            Listens for change events on a list.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.TwoListSynchronizer.#ctor(System.Collections.IList,System.Collections.IList)">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.TwoListSynchronizer"/> class.
            </summary>
            <param name="masterList">The master list.</param>
            <param name="targetList">The target list.</param>
        </member>
        <member name="M:JetBrains.Common.Util.TwoListSynchronizer.StartSynchronizing">
            <summary>
            Starts synchronizing the lists.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.TwoListSynchronizer.StopSynchronizing">
            <summary>
            Stop synchronizing the lists.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.TwoListSynchronizer.ReceiveWeakEvent(System.Type,System.Object,System.EventArgs)">
            <summary>
            Receives events from the centralized event manager.
            </summary>
            <param name="managerType">The type of the <see cref="T:System.Windows.WeakEventManager"/> calling this method.</param>
            <param name="sender">Object that originated the event.</param>
            <param name="e">Event data.</param>
            <returns>
            true if the listener handled the event. It is considered an error by the <see cref="T:System.Windows.WeakEventManager"/> handling in WPF to register a listener for an event that the listener does not handle. Regardless, the method should return false if it receives an event that it does not recognize or handle.
            </returns>
        </member>
        <member name="M:JetBrains.Common.Util.TwoListSynchronizer.ListenForChangeEvents(System.Collections.IList)">
            <summary>
            Listens for change events on a list.
            </summary>
            <param name="list">The list to listen to.</param>
        </member>
        <member name="M:JetBrains.Common.Util.TwoListSynchronizer.StopListeningForChangeEvents(System.Collections.IList)">
            <summary>
            Stops listening for change events.
            </summary>
            <param name="list">The list to stop listening to.</param>
        </member>
        <member name="M:JetBrains.Common.Util.TwoListSynchronizer.UpdateListsFromSource(System.Collections.IList)">
            <summary>
            Makes sure that all synchronized lists have the same values as the source list.
            </summary>
            <param name="sourceList">The source list.</param>
        </member>
        <member name="T:JetBrains.Common.Util.TwoListSynchronizer`2">
            <summary>
            Keeps two lists synchronized. 
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.TwoListSynchronizer`2.#ctor(System.Collections.Generic.IList{`0},System.Collections.Generic.IList{`1},System.Func{`0,`1},System.Func{`1,`0})">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.TwoListSynchronizer"/> class.
            </summary>
            <param name="masterList">The master list.</param>
            <param name="targetList">The target list.</param>
            <param name="masterToTargetConverter">Converts items from master list to target</param>
            /// <param name="targetToMasterConverter">Converts items from target list to master</param>
        </member>
        <member name="M:JetBrains.Common.Util.TwoListSynchronizer`2.StartSynchronizing">
            <summary>
            Starts synchronizing the lists.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.TwoListSynchronizer`2.StopSynchronizing">
            <summary>
            Stop synchronizing the lists.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.TwoListSynchronizer`2.ReceiveWeakEvent(System.Type,System.Object,System.EventArgs)">
            <summary>
            Receives events from the centralized event manager.
            </summary>
            <param name="managerType">The type of the <see cref="T:System.Windows.WeakEventManager"/> calling this method.</param>
            <param name="sender">Object that originated the event.</param>
            <param name="e">Event data.</param>
            <returns>
            true if the listener handled the event. It is considered an error by the <see cref="T:System.Windows.WeakEventManager"/> handling in WPF to register a listener for an event that the listener does not handle. Regardless, the method should return false if it receives an event that it does not recognize or handle.
            </returns>
        </member>
        <member name="M:JetBrains.Common.Util.TwoListSynchronizer`2.ListenForChangeEvents(System.Collections.IEnumerable)">
            <summary>
            Listens for change events on a list.
            </summary>
            <param name="list">The list to listen to.</param>
        </member>
        <member name="M:JetBrains.Common.Util.TwoListSynchronizer`2.StopListeningForChangeEvents(System.Collections.IEnumerable)">
            <summary>
            Stops listening for change events.
            </summary>
            <param name="list">The list to stop listening to.</param>
        </member>
        <member name="T:JetBrains.Common.Util.CommandLine.BaseOptionAttribute">
            <summary>
            Provides base properties for creating an attribute, used to define rules for command line parsing.
            </summary>
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.BaseOptionAttribute.ShortName">
            <summary>
            Short name of this command line option. You can use only one character.
            </summary>
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.BaseOptionAttribute.LongName">
            <summary>
            Long name of this command line option. This name is usually a single english word.
            </summary>
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.BaseOptionAttribute.Required">
            <summary>
            True if this command line option is required.
            </summary>
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.BaseOptionAttribute.DefaultValue">
            <summary>
            Gets or sets mapped property default value.
            </summary>
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.BaseOptionAttribute.HelpText">
            <summary>
            A short description of this command line option. Usually a sentence summary. 
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.CommandLine.HelpOptionAttribute">
            <summary>
            Indicates the instance method that must be invoked when it becomes necessary show your help screen.
            The method signature is an instance method with no parameters and <see cref="T:System.String"/>
            return value.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.HelpOptionAttribute.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.HelpOptionAttribute"/> class.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.HelpOptionAttribute.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.HelpOptionAttribute"/> class.
            Allows you to define short and long option names.
            </summary>
            <param name="shortName">The short name of the option or null if not used.</param>
            <param name="longName">The long name of the option or null if not used.</param>
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.HelpOptionAttribute.Required">
            <summary>
            Returns always false for this kind of option.
            This behaviour can't be changed by design; if you try set <see cref="P:JetBrains.Common.Util.CommandLine.HelpOptionAttribute.Required"/>
            an <see cref="T:System.InvalidOperationException"/> will be thrown.
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.CommandLine.OptionArrayAttribute">
            <summary>
            Models an option that can accept multiple values as separated arguments.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.OptionArrayAttribute.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.OptionArrayAttribute"/> class.
            </summary>
            <param name="shortName">The short name of the option or null if not used.</param>
            <param name="longName">The long name of the option or null if not used.</param>
        </member>
        <member name="T:JetBrains.Common.Util.CommandLine.OptionAttribute">
            <summary>
            Models an option specification.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.OptionAttribute.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.OptionAttribute"/> class.
            </summary>
            <param name="shortName">The short name of the option or null if not used.</param>
            <param name="longName">The long name of the option or null if not used.</param>
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.OptionAttribute.MutuallyExclusiveSet">
            <summary>
            Gets or sets the option's mutually exclusive set.
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.CommandLine.OptionListAttribute">
            <summary>
            Models an option that can accept multiple values.
            Must be applied to a field compatible with an <see cref="T:System.Collections.Generic.IList`1"/> interface
            of <see cref="T:System.String"/> instances.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.OptionListAttribute.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.OptionListAttribute"/> class.
            </summary>
            <param name="shortName">The short name of the option or null if not used.</param>
            <param name="longName">The long name of the option or null if not used.</param>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.OptionListAttribute.#ctor(System.String,System.String,System.Char)">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.OptionListAttribute"/> class.
            </summary>
            <param name="shortName">The short name of the option or null if not used.</param>
            <param name="longName">The long name of the option or null if not used.</param>
            <param name="separator">Values separator character.</param>
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.OptionListAttribute.Separator">
            <summary>
            Gets or sets the values separator character.
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.CommandLine.ValueListAttribute">
            <summary>
            Models a list of command line arguments that are not options.
            Must be applied to a field compatible with an <see cref="T:System.Collections.Generic.IList`1"/> interface
            of <see cref="T:System.String"/> instances.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.ValueListAttribute.#ctor(System.Type)">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.ValueListAttribute"/> class.
            </summary>
            <param name="concreteType">A type that implements <see cref="T:System.Collections.Generic.IList`1"/>.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="concreteType"/> is null.</exception>
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.ValueListAttribute.MaximumElements">
            <summary>
            Gets or sets the maximum element allow for the list managed by <see cref="T:JetBrains.Common.Util.CommandLine.ValueListAttribute"/> type.
            If less than 0, no upper bound is fixed.
            If equal to 0, no elements are allowed.
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.CommandLine.BadOptionInfo">
            <summary>
            Models a bad parsed option.
            </summary>
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.BadOptionInfo.ShortName">
            <summary>
            The short name of the option
            </summary>
            <value>Returns the short name of the option.</value>
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.BadOptionInfo.LongName">
            <summary>
            The long name of the option
            </summary>
            <value>Returns the long name of the option.</value>
        </member>
        <member name="T:JetBrains.Common.Util.CommandLine.ParsingError">
            <summary>
            Models a parsing error.
            </summary>
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.ParsingError.BadOption">
            <summary>
            Gets or a the bad parsed option.
            </summary>
            <value>
            The bad option.
            </value>
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.ParsingError.ViolatesRequired">
            <summary>
            Gets or sets a value indicating whether this <see cref="T:JetBrains.Common.Util.CommandLine.ParsingError"/> violates required.
            </summary>
            <value>
            <c>true</c> if violates required; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.ParsingError.ViolatesFormat">
            <summary>
            Gets or sets a value indicating whether this <see cref="T:JetBrains.Common.Util.CommandLine.ParsingError"/> violates format.
            </summary>
            <value>
            <c>true</c> if violates format; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.ParsingError.ViolatesMutualExclusiveness">
            <summary>
            Gets or sets a value indicating whether this <see cref="T:JetBrains.Common.Util.CommandLine.ParsingError"/> violates mutual exclusiveness.
            </summary>
            <value>
            <c>true</c> if violates mutual exclusiveness; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="T:JetBrains.Common.Util.CommandLine.PostParsingState">
            <summary>
            Models a type that records the parser state afeter parsing.
            </summary>
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.PostParsingState.Errors">
            <summary>
            Gets a list of parsing errors.
            </summary>
            <value>
            Parsing errors.
            </value>
        </member>
        <member name="T:JetBrains.Common.Util.CommandLine.ICommandLineParser">
            <summary>
            Defines a basic interface to parse command line arguments.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.ICommandLineParser.ParseArguments(System.String[],System.Object)">
            <summary>
            Parses a <see cref="T:System.String"/> array of command line arguments, setting values in <paramref name="options"/>
            parameter instance's public fields decorated with appropriate attributes.
            </summary>
            <param name="args">A <see cref="T:System.String"/> array of command line arguments.</param>
            <param name="options">An object's instance used to receive values.
            Parsing rules are defined using <see cref="T:JetBrains.Common.Util.CommandLine.BaseOptionAttribute"/> derived types.</param>
            <returns>True if parsing process succeed.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="args"/> is null.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="options"/> is null.</exception>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.ICommandLineParser.ParseArguments(System.String[],System.Object,System.IO.TextWriter)">
            <summary>
            Parses a <see cref="T:System.String"/> array of command line arguments, setting values in <paramref name="options"/>
            parameter instance's public fields decorated with appropriate attributes.
            This overload allows you to specify a <see cref="T:System.IO.TextWriter"/> derived instance for write text messages.         
            </summary>
            <param name="args">A <see cref="T:System.String"/> array of command line arguments.</param>
            <param name="options">An object's instance used to receive values.
            Parsing rules are defined using <see cref="T:JetBrains.Common.Util.CommandLine.BaseOptionAttribute"/> derived types.</param>
            <param name="helpWriter">Any instance derived from <see cref="T:System.IO.TextWriter"/>,
            usually <see cref="P:System.Console.Error"/>. Setting this argument to null, will disable help screen.</param>
            <returns>True if parsing process succeed.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="args"/> is null.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="options"/> is null.</exception>
        </member>
        <member name="T:JetBrains.Common.Util.CommandLine.CommandLineOptionsBase">
            <summary>
            Provides the abstract base class for a strongly typed options target. Used when you need to get parsing errors.
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.CommandLine.CommandLineParserException">
            <summary>
            This exception is thrown when a generic parsing error occurs.
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.CommandLine.CommandLineParserSettings">
            <summary>
            Specifies a set of features to configure a <see cref="T:JetBrains.Common.Util.CommandLine.CommandLineParser"/> behavior.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.CommandLineParserSettings.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.CommandLineParserSettings"/> class.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.CommandLineParserSettings.#ctor(System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.CommandLineParserSettings"/> class,
            setting the case comparison behavior.
            </summary>
            <param name="caseSensitive">If set to true, parsing will be case sensitive.</param>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.CommandLineParserSettings.#ctor(System.IO.TextWriter)">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.CommandLineParserSettings"/> class,
            setting the <see cref="T:System.IO.TextWriter"/> used for help method output.
            </summary>
            <param name="helpWriter">Any instance derived from <see cref="T:System.IO.TextWriter"/>,
            default <see cref="P:System.Console.Error"/>. Setting this argument to null, will disable help screen.</param>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.CommandLineParserSettings.#ctor(System.Boolean,System.IO.TextWriter)">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.CommandLineParserSettings"/> class,
            setting case comparison and help output options.
            </summary>
            <param name="caseSensitive">If set to true, parsing will be case sensitive.</param>
            <param name="helpWriter">Any instance derived from <see cref="T:System.IO.TextWriter"/>,
            default <see cref="P:System.Console.Error"/>. Setting this argument to null, will disable help screen.</param>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.CommandLineParserSettings.#ctor(System.Boolean,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.CommandLineParserSettings"/> class,
            setting case comparison and mutually exclusive behaviors.
            </summary>
            <param name="caseSensitive">If set to true, parsing will be case sensitive.</param>
            <param name="mutuallyExclusive">If set to true, enable mutually exclusive behavior.</param>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.CommandLineParserSettings.#ctor(System.Boolean,System.Boolean,System.IO.TextWriter)">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.CommandLineParserSettings"/> class,
            setting case comparison, mutually exclusive behavior and help output option.
            </summary>
            <param name="caseSensitive">If set to true, parsing will be case sensitive.</param>
            <param name="mutuallyExclusive">If set to true, enable mutually exclusive behavior.</param>
            <param name="helpWriter">Any instance derived from <see cref="T:System.IO.TextWriter"/>,
            default <see cref="P:System.Console.Error"/>. Setting this argument to null, will disable help screen.</param>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.CommandLineParserSettings.#ctor(System.Boolean,System.Boolean,System.Boolean,System.IO.TextWriter)">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.CommandLineParserSettings"/> class,
            setting case comparison, mutually exclusive behavior and help output option.
            </summary>
            <param name="caseSensitive">If set to true, parsing will be case sensitive.</param>
            <param name="mutuallyExclusive">If set to true, enable mutually exclusive behavior.</param>
            <param name="ignoreUnknownArguments">If set to true, allow the parser to skip unknown argument, otherwise return a parse failure</param>
            <param name="helpWriter">Any instance derived from <see cref="T:System.IO.TextWriter"/>,
            default <see cref="P:System.Console.Error"/>. Setting this argument to null, will disable help screen.</param>
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.CommandLineParserSettings.CaseSensitive">
            <summary>
            Gets or sets the case comparison behavior.
            Default is set to true.
            </summary>
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.CommandLineParserSettings.MutuallyExclusive">
            <summary>
            Gets or sets the mutually exclusive behavior.
            Default is set to false.
            </summary>
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.CommandLineParserSettings.HelpWriter">
            <summary>
            Gets or sets the <see cref="T:System.IO.TextWriter"/> used for help method output.
            Setting this property to null, will disable help screen.
            </summary>
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.CommandLineParserSettings.IgnoreUnknownArguments">
            <summary>
            Gets or sets a value indicating if the parser shall move on to the next argument and ignore the given argument if it
            encounter an unknown arguments
            </summary>
            <value>
            <c>true</c> to allow parsing the arguments with differents class options that do not have all the arguments.
            </value>
            <remarks>
            This allows fragmented version class parsing, useful for project with addon where addons also requires command line arguments but
            when these are unknown by the main program at build time.
            </remarks>
        </member>
        <member name="T:JetBrains.Common.Util.CommandLine.CommandLineParser">
            <summary>
            Provides methods to parse command line arguments.
            Default implementation for <see cref="T:JetBrains.Common.Util.CommandLine.ICommandLineParser"/>.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.CommandLineParser.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.CommandLineParser"/> class.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.CommandLineParser.#ctor(JetBrains.Common.Util.CommandLine.CommandLineParserSettings)">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.CommandLineParser"/> class,
            configurable with a <see cref="T:JetBrains.Common.Util.CommandLine.CommandLineParserSettings"/> object.
            </summary>
            <param name="settings">The <see cref="T:JetBrains.Common.Util.CommandLine.CommandLineParserSettings"/> object is used to configure
            aspects and behaviors of the parser.</param>
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.CommandLineParser.Default">
            <summary>
            Singleton instance created with basic defaults.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.CommandLineParser.ParseArguments(System.String[],System.Object)">
            <summary>
            Parses a <see cref="T:System.String"/> array of command line arguments, setting values in <paramref name="options"/>
            parameter instance's public fields decorated with appropriate attributes.
            </summary>
            <param name="args">A <see cref="T:System.String"/> array of command line arguments.</param>
            <param name="options">An object's instance used to receive values.
            Parsing rules are defined using <see cref="T:JetBrains.Common.Util.CommandLine.BaseOptionAttribute"/> derived types.</param>
            <returns>True if parsing process succeed.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="args"/> is null.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="options"/> is null.</exception>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.CommandLineParser.ParseArguments(System.String[],System.Object,System.IO.TextWriter)">
            <summary>
            Parses a <see cref="T:System.String"/> array of command line arguments, setting values in <paramref name="options"/>
            parameter instance's public fields decorated with appropriate attributes.
            This overload allows you to specify a <see cref="T:System.IO.TextWriter"/> derived instance for write text messages.         
            </summary>
            <param name="args">A <see cref="T:System.String"/> array of command line arguments.</param>
            <param name="options">An object's instance used to receive values.
            Parsing rules are defined using <see cref="T:JetBrains.Common.Util.CommandLine.BaseOptionAttribute"/> derived types.</param>
            <param name="helpWriter">Any instance derived from <see cref="T:System.IO.TextWriter"/>,
            usually <see cref="P:System.Console.Error"/>. Setting this argument to null, will disable help screen.</param>
            <returns>True if parsing process succeed.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="args"/> is null.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="options"/> is null.</exception>
        </member>
        <member name="T:JetBrains.Common.Util.CommandLine.BaseSentenceBuilder">
            <summary>
            Models an abstract sentence builder.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.BaseSentenceBuilder.CreateBuiltIn">
            <summary>
            Creates the built in sentence builder.
            </summary>
            <returns>The built in sentence builder.</returns>
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.BaseSentenceBuilder.OptionWord">
            <summary>
            Gets a string containing word 'option'.
            </summary>
            <value>The word 'option'.</value>
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.BaseSentenceBuilder.AndWord">
            <summary>
            Gets a string containing the word 'and'.
            </summary>
            <value>The word 'and'.</value>
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.BaseSentenceBuilder.RequiredOptionMissingText">
            <summary>
            Gets a string containing the sentence 'required option missing'.
            </summary>
            <value>The sentence 'required option missing'.</value>
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.BaseSentenceBuilder.ViolatesFormatText">
            <summary>
            Gets a string containing the sentence 'violates format'.
            </summary>
            <value>The sentence 'violates format'.</value>
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.BaseSentenceBuilder.ViolatesMutualExclusivenessText">
            <summary>
            Gets a string containing the sentence 'violates mutual exclusiveness'.
            </summary>
            <value>The sentence 'violates mutual exclusiveness'.</value>
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.BaseSentenceBuilder.ErrorsHeadingText">
            <summary>
            Gets a string containing the error heading text.
            </summary>
            <value>The error heading text.</value>
        </member>
        <member name="T:JetBrains.Common.Util.CommandLine.EnglishSentenceBuilder">
            <summary>
            Models an english sentence builder, currently the default one.
            </summary>
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.EnglishSentenceBuilder.OptionWord">
            <summary>
            Gets a string containing word 'option' in english.
            </summary>
            <value>The word 'option' in english.</value>
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.EnglishSentenceBuilder.AndWord">
            <summary>
            Gets a string containing the word 'and' in english.
            </summary>
            <value>The word 'and' in english.</value>        
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.EnglishSentenceBuilder.RequiredOptionMissingText">
            <summary>
            Gets a string containing the sentence 'required option missing' in english.
            </summary>
            <value>The sentence 'required option missing' in english.</value>        
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.EnglishSentenceBuilder.ViolatesFormatText">
            <summary>
            Gets a string containing the sentence 'violates format' in english.
            </summary>
            <value>The sentence 'violates format' in english.</value>        
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.EnglishSentenceBuilder.ViolatesMutualExclusivenessText">
            <summary>
            Gets a string containing the sentence 'violates mutual exclusiveness' in english.
            </summary>
            <value>The sentence 'violates mutual exclusiveness' in english.</value>        
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.EnglishSentenceBuilder.ErrorsHeadingText">
            <summary>
            Gets a string containing the error heading text in english.
            </summary>
            <value>The error heading text in english.</value>
        </member>
        <member name="T:JetBrains.Common.Util.CommandLine.CopyrightInfo">
            <summary>
            Models the copyright informations part of an help text.
            You can assign it where you assign any <see cref="T:System.String"/> instance.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.CopyrightInfo.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.CopyrightInfo"/> class.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.CopyrightInfo.#ctor(System.String,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.CopyrightInfo"/> class
            specifying author and year.
            </summary>
            <param name="author">The company or person holding the copyright.</param>
            <param name="year">The year of coverage of copyright.</param>
            <exception cref="T:System.ArgumentException">Thrown when parameter <paramref name="author"/> is null or empty string.</exception>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.CopyrightInfo.#ctor(System.String,System.Int32[])">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.CopyrightInfo"/> class
            specifying author and years.
            </summary>
            <param name="author">The company or person holding the copyright.</param>
            <param name="years">The years of coverage of copyright.</param>
            <exception cref="T:System.ArgumentException">Thrown when parameter <paramref name="author"/> is null or empty string.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when parameter <paramref name="years"/> is not supplied.</exception>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.CopyrightInfo.#ctor(System.Boolean,System.String,System.Int32[])">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.CopyrightInfo"/> class
            specifying symbol case, author and years.
            </summary>
            <param name="isSymbolUpper">The case of the copyright symbol.</param>
            <param name="author">The company or person holding the copyright.</param>
            <param name="years">The years of coverage of copyright.</param>
            <exception cref="T:System.ArgumentException">Thrown when parameter <paramref name="author"/> is null or empty string.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when parameter <paramref name="years"/> is not supplied.</exception>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.CopyrightInfo.ToString">
            <summary>
            Returns the copyright informations as a <see cref="T:System.String"/>.
            </summary>
            <returns>The <see cref="T:System.String"/> that contains the copyright informations.</returns>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.CopyrightInfo.op_Implicit(JetBrains.Common.Util.CommandLine.CopyrightInfo)~System.String">
            <summary>
            Converts the copyright informations to a <see cref="T:System.String"/>.
            </summary>
            <param name="info">This <see cref="T:JetBrains.Common.Util.CommandLine.CopyrightInfo"/> instance.</param>
            <returns>The <see cref="T:System.String"/> that contains the copyright informations.</returns>
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.CopyrightInfo.CopyrightWord">
            <summary>
            When overridden in a derived class, allows to specify a different copyright word.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.CopyrightInfo.FormatYears(System.Int32[])">
            <summary>
            When overridden in a derived class, allows to specify a new algorithm to render copyright years
            as a <see cref="T:System.String"/> instance.
            </summary>
            <param name="years">A <see cref="T:System.Int32"/> array of years.</param>
            <returns>A <see cref="T:System.String"/> instance with copyright years.</returns>
        </member>
        <member name="T:JetBrains.Common.Util.CommandLine.HeadingInfo">
            <summary>
            Models the heading informations part of an help text.
            You can assign it where you assign any <see cref="T:System.String"/> instance.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.HeadingInfo.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.HeadingInfo"/> class
            specifying program name.
            </summary>
            <param name="programName">The name of the program.</param>
            <exception cref="T:System.ArgumentException">Thrown when parameter <paramref name="programName"/> is null or empty string.</exception>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.HeadingInfo.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.HeadingInfo"/> class
            specifying program name and version.
            </summary>
            <param name="programName">The name of the program.</param>
            <param name="version">The version of the program.</param>
            <exception cref="T:System.ArgumentException">Thrown when parameter <paramref name="programName"/> is null or empty string.</exception>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.HeadingInfo.ToString">
            <summary>
            Returns the heading informations as a <see cref="T:System.String"/>.
            </summary>
            <returns>The <see cref="T:System.String"/> that contains the heading informations.</returns>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.HeadingInfo.op_Implicit(JetBrains.Common.Util.CommandLine.HeadingInfo)~System.String">
            <summary>
            Converts the heading informations to a <see cref="T:System.String"/>.
            </summary>
            <param name="info">This <see cref="T:JetBrains.Common.Util.CommandLine.HeadingInfo"/> instance.</param>
            <returns>The <see cref="T:System.String"/> that contains the heading informations.</returns>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.HeadingInfo.WriteMessage(System.String,System.IO.TextWriter)">
            <summary>
            Writes out a string and a new line using the program name specified in the constructor
            and <paramref name="message"/> parameter.
            </summary>
            <param name="message">The <see cref="T:System.String"/> message to write.</param>
            <param name="writer">The target <see cref="T:System.IO.TextWriter"/> derived type.</param>
            <exception cref="T:System.ArgumentException">Thrown when parameter <paramref name="message"/> is null or empty string.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when parameter <paramref name="writer"/> is null.</exception>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.HeadingInfo.WriteMessage(System.String)">
            <summary>
            Writes out a string and a new line using the program name specified in the constructor
            and <paramref name="message"/> parameter to standard output stream.
            </summary>
            <param name="message">The <see cref="T:System.String"/> message to write.</param>
            <exception cref="T:System.ArgumentException">Thrown when parameter <paramref name="message"/> is null or empty string.</exception>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.HeadingInfo.WriteError(System.String)">
            <summary>
            Writes out a string and a new line using the program name specified in the constructor
            and <paramref name="message"/> parameter to standard error stream.
            </summary>
            <param name="message">The <see cref="T:System.String"/> message to write.</param>
            <exception cref="T:System.ArgumentException">Thrown when parameter <paramref name="message"/> is null or empty string.</exception>
        </member>
        <member name="T:JetBrains.Common.Util.CommandLine.MultiLineTextAttribute">
            <summary>
            Provides base properties for creating an attribute, used to define multiple lines of text.
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.CommandLine.AssemblyLicenseAttribute">
            <summary>
            Models a multiline assembly license text.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.AssemblyLicenseAttribute.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.AssemblyLicenseAttribute"/> class
            with one line of text.
            </summary>
            <param name="line1">First line of license text.</param>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.AssemblyLicenseAttribute.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.AssemblyLicenseAttribute"/> class
            with two lines of text.
            </summary>
            <param name="line1">First line of license text.</param>
            <param name="line2">Second line of license text.</param>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.AssemblyLicenseAttribute.#ctor(System.String,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.AssemblyLicenseAttribute"/> class
            with three lines of text.
            </summary>
            <param name="line1">First line of license text.</param>
            <param name="line2">Second line of license text.</param>
            <param name="line3">Third line of license text.</param>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.AssemblyLicenseAttribute.#ctor(System.String,System.String,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.AssemblyLicenseAttribute"/> class
            with four lines of text.
            </summary>
            <param name="line1">First line of license text.</param>
            <param name="line2">Second line of license text.</param>
            <param name="line3">Third line of license text.</param>
            <param name="line4">Fourth line of license text.</param>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.AssemblyLicenseAttribute.#ctor(System.String,System.String,System.String,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.AssemblyLicenseAttribute"/> class
            with five lines of text.
            </summary>
            <param name="line1">First line of license text.</param>
            <param name="line2">Second line of license text.</param>
            <param name="line3">Third line of license text.</param>
            <param name="line4">Fourth line of license text.</param>
            <param name="line5">Fifth line of license text.</param>
        </member>
        <member name="T:JetBrains.Common.Util.CommandLine.AssemblyUsageAttribute">
            <summary>
            Models a multiline assembly usage text.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.AssemblyUsageAttribute.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.AssemblyUsageAttribute"/> class
            with one line of text.
            </summary>
            <param name="line1">First line of usage text.</param>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.AssemblyUsageAttribute.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.AssemblyUsageAttribute"/> class
            with two lines of text.
            </summary>
            <param name="line1">First line of usage text.</param>
            <param name="line2">Second line of usage text.</param>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.AssemblyUsageAttribute.#ctor(System.String,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.AssemblyUsageAttribute"/> class
            with three lines of text.
            </summary>
            <param name="line1">First line of usage text.</param>
            <param name="line2">Second line of usage text.</param>
            <param name="line3">Third line of usage text.</param>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.AssemblyUsageAttribute.#ctor(System.String,System.String,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.AssemblyUsageAttribute"/> class
            with four lines of text.
            </summary>
            <param name="line1">First line of usage text.</param>
            <param name="line2">Second line of usage text.</param>
            <param name="line3">Third line of usage text.</param>
            <param name="line4">Fourth line of usage text.</param>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.AssemblyUsageAttribute.#ctor(System.String,System.String,System.String,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.AssemblyUsageAttribute"/> class
            with five lines of text.
            </summary>
            <param name="line1">First line of usage text.</param>
            <param name="line2">Second line of usage text.</param>
            <param name="line3">Third line of usage text.</param>
            <param name="line4">Fourth line of usage text.</param>
            <param name="line5">Fifth line of usage text.</param>
        </member>
        <member name="T:JetBrains.Common.Util.CommandLine.HandleParsingErrorsDelegate">
            <summary>
            Handle parsing errors delegate.
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.CommandLine.FormatOptionHelpTextEventArgs">
            <summary>
            Provides data for the FormatOptionHelpText event.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.FormatOptionHelpTextEventArgs.#ctor(JetBrains.Common.Util.CommandLine.BaseOptionAttribute)">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.FormatOptionHelpTextEventArgs"/> class.
            </summary>
            <param name="option">Option to format.</param>
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.FormatOptionHelpTextEventArgs.Option">
            <summary>
            Gets the option to format.
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.CommandLine.HelpText">
            <summary>
            Models an help text and collects related informations.
            You can assign it in place of a <see cref="T:System.String"/> instance.
            </summary>
        </member>
        <member name="E:JetBrains.Common.Util.CommandLine.HelpText.FormatOptionHelpText">
            <summary>
            Occurs when an option help text is formatted.
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.CommandLine.HelpText.MessageEnum">
            <summary>
            Message type enumeration.
            </summary>
        </member>
        <member name="F:JetBrains.Common.Util.CommandLine.HelpText.MessageEnum.ParsingErrorViolatesFormat">
            <summary>
            Parsing error due to a violation of the format of an option value.
            </summary>
        </member>
        <member name="F:JetBrains.Common.Util.CommandLine.HelpText.MessageEnum.ParsingErrorViolatesRequired">
            <summary>
            Parsing error due to a violation of mandatory option.
            </summary>
        </member>
        <member name="F:JetBrains.Common.Util.CommandLine.HelpText.MessageEnum.ParsingErrorViolatesExclusiveness">
            <summary>
            Parsing error due to a violation of the mutual exclusiveness of two or more option.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.HelpText.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.HelpText"/> class.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.HelpText.#ctor(JetBrains.Common.Util.CommandLine.BaseSentenceBuilder)">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.HelpText"/> class 
            specifying the sentence builder.
            </summary>
            <param name="sentenceBuilder">
            A <see cref="T:JetBrains.Common.Util.CommandLine.BaseSentenceBuilder"/> instance.
            </param>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.HelpText.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.HelpText"/> class
            specifying heading informations.
            </summary>
            <param name="heading">A string with heading information or
            an instance of <see cref="T:JetBrains.Common.Util.CommandLine.HeadingInfo"/>.</param>
            <exception cref="T:System.ArgumentException">Thrown when parameter <paramref name="heading"/> is null or empty string.</exception>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.HelpText.#ctor(JetBrains.Common.Util.CommandLine.BaseSentenceBuilder,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.HelpText"/> class
            specifying the sentence builder and heading informations.
            </summary>
            <param name="sentenceBuilder">A <see cref="T:JetBrains.Common.Util.CommandLine.BaseSentenceBuilder"/> instance.</param>
            <param name="heading">A string with heading information or an instance of <see cref="T:JetBrains.Common.Util.CommandLine.HeadingInfo"/>.</param>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.HelpText.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.HelpText"/> class
            specifying heading and copyright informations.
            </summary>
            <param name="heading">A string with heading information or an instance of <see cref="T:JetBrains.Common.Util.CommandLine.HeadingInfo"/>.</param>
            <param name="copyright">A string with copyright information or an instance of <see cref="T:JetBrains.Common.Util.CommandLine.CopyrightInfo"/>.</param>
            <exception cref="T:System.ArgumentException">Thrown when one or more parameters <paramref name="heading"/> are null or empty strings.</exception>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.HelpText.#ctor(JetBrains.Common.Util.CommandLine.BaseSentenceBuilder,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.HelpText"/> class
            specifying heading and copyright informations.
            </summary>
            <param name="sentenceBuilder">A <see cref="T:JetBrains.Common.Util.CommandLine.BaseSentenceBuilder"/> instance.</param>
            <param name="heading">A string with heading information or an instance of <see cref="T:JetBrains.Common.Util.CommandLine.HeadingInfo"/>.</param>
            <param name="copyright">A string with copyright information or an instance of <see cref="T:JetBrains.Common.Util.CommandLine.CopyrightInfo"/>.</param>
            <exception cref="T:System.ArgumentException">Thrown when one or more parameters <paramref name="heading"/> are null or empty strings.</exception>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.HelpText.#ctor(System.String,System.String,System.Object)">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.HelpText"/> class
            specifying heading and copyright informations.
            </summary>
            <param name="heading">A string with heading information or an instance of <see cref="T:JetBrains.Common.Util.CommandLine.HeadingInfo"/>.</param>
            <param name="copyright">A string with copyright information or an instance of <see cref="T:JetBrains.Common.Util.CommandLine.CopyrightInfo"/>.</param>
            <param name="options">The instance that collected command line arguments parsed with <see cref="T:JetBrains.Common.Util.CommandLine.CommandLineParser"/> class.</param>
            <exception cref="T:System.ArgumentException">Thrown when one or more parameters <paramref name="heading"/> are null or empty strings.</exception>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.HelpText.#ctor(JetBrains.Common.Util.CommandLine.BaseSentenceBuilder,System.String,System.String,System.Object)">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.HelpText"/> class
            specifying heading and copyright informations.
            </summary>
            <param name="sentenceBuilder">A <see cref="T:JetBrains.Common.Util.CommandLine.BaseSentenceBuilder"/> instance.</param>
            <param name="heading">A string with heading information or an instance of <see cref="T:JetBrains.Common.Util.CommandLine.HeadingInfo"/>.</param>
            <param name="copyright">A string with copyright information or an instance of <see cref="T:JetBrains.Common.Util.CommandLine.CopyrightInfo"/>.</param>
            <param name="options">The instance that collected command line arguments parsed with <see cref="T:JetBrains.Common.Util.CommandLine.CommandLineParser"/> class.</param>
            <exception cref="T:System.ArgumentException">Thrown when one or more parameters <paramref name="heading"/> are null or empty strings.</exception>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.HelpText.AutoBuild(System.Object)">
            <summary>
            Creates a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.HelpText"/> class using common defaults.
            </summary>
            <returns>
            An instance of <see cref="T:JetBrains.Common.Util.CommandLine.HelpText"/> class.
            </returns>
            <param name='options'>The instance that collected command line arguments parsed with <see cref="T:JetBrains.Common.Util.CommandLine.CommandLineParser"/> class.</param>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.HelpText.AutoBuild(System.Object,JetBrains.Common.Util.CommandLine.HandleParsingErrorsDelegate)">
            <summary>
            Creates a new instance of the <see cref="T:JetBrains.Common.Util.CommandLine.HelpText"/> class using common defaults.
            </summary>
            <returns>
            An instance of <see cref="T:JetBrains.Common.Util.CommandLine.HelpText"/> class.
            </returns>
            <param name='options'>The instance that collected command line arguments parsed with <see cref="T:JetBrains.Common.Util.CommandLine.CommandLineParser"/> class.</param>
            <param name='errDelegate'>A delegate used to customize the text block for reporting parsing errors.</param>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.HelpText.DefaultParsingErrorsHandler(JetBrains.Common.Util.CommandLine.CommandLineOptionsBase,JetBrains.Common.Util.CommandLine.HelpText)">
            <summary>
            Supplies a default parsing error handler implementation.
            </summary>
            <param name="options">The instance that collected command line arguments parsed with <see cref="T:JetBrains.Common.Util.CommandLine.CommandLineParser"/> class.</param>
            <param name="current">The <see cref="T:JetBrains.Common.Util.CommandLine.HelpText"/> instance.</param>
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.HelpText.Heading">
            <summary>
            Sets the heading information string.
            You can directly assign a <see cref="T:JetBrains.Common.Util.CommandLine.HeadingInfo"/> instance.
            </summary>
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.HelpText.Copyright">
            <summary>
            Sets the copyright information string.
            You can directly assign a <see cref="T:JetBrains.Common.Util.CommandLine.CopyrightInfo"/> instance.
            </summary>
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.HelpText.MaximumDisplayWidth">
            <summary>
            Gets or sets the maximum width of the display.  This determines word wrap when displaying the text.
            </summary>
            <value>The maximum width of the display.</value>
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.HelpText.AddDashesToOption">
            <summary>
            Gets or sets the format of options for adding or removing dashes.
            It modifies behavior of <see cref="M:JetBrains.Common.Util.CommandLine.HelpText.AddOptions(System.Object)"/> method.
            </summary>
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.HelpText.AdditionalNewLineAfterOption">
            <summary>
            Gets or sets whether to add an additional line after the description of the option.
            </summary>
        </member>
        <member name="P:JetBrains.Common.Util.CommandLine.HelpText.SentenceBuilder">
            <summary>
            Gets the <see cref="T:JetBrains.Common.Util.CommandLine.BaseSentenceBuilder"/> instance specified in constructor.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.HelpText.AddPreOptionsLine(System.String)">
            <summary>
            Adds a text line after copyright and before options usage informations.
            </summary>
            <param name="value">A <see cref="T:System.String"/> instance.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when parameter <paramref name="value"/> is null or empty string.</exception>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.HelpText.AddPostOptionsLine(System.String)">
            <summary>
            Adds a text line at the bottom, after options usage informations.
            </summary>
            <param name="value">A <see cref="T:System.String"/> instance.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when parameter <paramref name="value"/> is null or empty string.</exception>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.HelpText.AddOptions(System.Object)">
            <summary>
            Adds a text block with options usage informations.
            </summary>
            <param name="options">The instance that collected command line arguments parsed with <see cref="T:JetBrains.Common.Util.CommandLine.CommandLineParser"/> class.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when parameter <paramref name="options"/> is null.</exception>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.HelpText.AddOptions(System.Object,System.String)">
            <summary>
            Adds a text block with options usage informations.
            </summary>
            <param name="options">The instance that collected command line arguments parsed with the <see cref="T:JetBrains.Common.Util.CommandLine.CommandLineParser"/> class.</param>
            <param name="requiredWord">The word to use when the option is required.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when parameter <paramref name="options"/> is null.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when parameter <paramref name="requiredWord"/> is null or empty string.</exception>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.HelpText.AddOptions(System.Object,System.String,System.Int32)">
            <summary>
            Adds a text block with options usage informations.
            </summary>
            <param name="options">The instance that collected command line arguments parsed with the <see cref="T:JetBrains.Common.Util.CommandLine.CommandLineParser"/> class.</param>
            <param name="requiredWord">The word to use when the option is required.</param>
            <param name="maximumLength">The maximum length of the help documentation.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when parameter <paramref name="options"/> is null.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when parameter <paramref name="requiredWord"/> is null or empty string.</exception>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.HelpText.RenderParsingErrorsText(JetBrains.Common.Util.CommandLine.CommandLineOptionsBase,System.Int32)">
            <summary>
            Builds a string that contains a parsing error message.
            </summary>
            <param name="options">An options target <see cref="T:JetBrains.Common.Util.CommandLine.CommandLineOptionsBase"/> instance that collected command line arguments parsed with the <see cref="T:JetBrains.Common.Util.CommandLine.CommandLineParser"/> class.</param>
            <param name="indent">Number of spaces used to indent text.</param>
            <returns>The <see cref="T:System.String"/> that contains the parsing error message.</returns>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.HelpText.ToString">
            <summary>
            Returns the help informations as a <see cref="T:System.String"/>.
            </summary>
            <returns>The <see cref="T:System.String"/> that contains the help informations.</returns>
        </member>
        <member name="M:JetBrains.Common.Util.CommandLine.HelpText.op_Implicit(JetBrains.Common.Util.CommandLine.HelpText)~System.String">
            <summary>
            Converts the help informations to a <see cref="T:System.String"/>.
            </summary>
            <param name="info">This <see cref="T:JetBrains.Common.Util.CommandLine.HelpText"/> instance.</param>
            <returns>The <see cref="T:System.String"/> that contains the help informations.</returns>
        </member>
        <member name="T:JetBrains.Common.Util.Concurrency.Testing.Concurrenzy">
             <summary>
             Concurrency testing helper. Provides facilities to model threads interleaving based on checkpoints.
            </summary>
             <remarks>
             The misspelling (Concurren<b>z</b>y) is intentional to prevent collision with namespace name.<br/>
             <br/>
             Use Concurrenzy.Checkpoint("name") in production code in "interesting" places and then use ConcurrencySimulator in test to model specific interleaving cases.<br/>
             <br/>
             The Checkpoint() method is marked as [Conditional] and completely removed from production code by compiler.<br/>
             </remarks>
        </member>
        <member name="M:JetBrains.Common.Util.Concurrency.Testing.Concurrenzy.Checkpoint(System.String)">
            <summary>
            
            </summary>    
            <param name="name"></param>
        </member>
        <member name="M:JetBrains.Common.Util.Concurrency.Testing.Concurrenzy.Checkpoint``1(System.String)">
            <summary>
            
            </summary>
            <typeparam name="T"></typeparam>
            <param name="name"></param>
        </member>
        <member name="T:JetBrains.Common.Util.Concurrency.Testing.IAsyncActionInterceptor">
            <summary>
            
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.Concurrency.Testing.IAsyncActionInterceptor.OnEnter(System.String,System.Threading.Thread)">
            <summary>
            
            </summary>
            <param name="actionName"></param>
            <param name="thread"></param>
        </member>
        <member name="M:JetBrains.Common.Util.Concurrency.Testing.IAsyncActionInterceptor.OnExit(System.String,System.Threading.Thread,System.Exception)">
            <summary>
            
            </summary>
            <param name="actionName"></param>
            <param name="thread"></param>
            <param name="exception"></param>
        </member>
        <member name="T:JetBrains.Common.Util.Concurrency.Testing.ICheckpointInterceptor">
            <summary>
            
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.Concurrency.Testing.ICheckpointInterceptor.OnCheckpoint(System.String)">
            <summary>
            
            </summary>
            <param name="checkpoint"></param>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.CombineEx.Combine``3(JetBrains.Common.Util.DataPipes.IAsyncDataProvider{``0},JetBrains.Common.Util.DataPipes.IThreadSwitch{``1},System.Func{``0,``1,``2})">
            <summary>
            Combines two concurrent data providers
            </summary>
            <typeparam name="TA"></typeparam>
            <typeparam name="TB"></typeparam>
            <typeparam name="TC"></typeparam>
            <param name="provider">Async provider</param>
            <param name="otherSwitch"></param>
            <param name="converter"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.CombineEx.Combine``2(JetBrains.Common.Util.DataPipes.IDataProvider{``0}[],System.Func{``0[],``1})">
            <summary>
            Combines any number of providers of the same value type with converter
            </summary>
            <typeparam name="TA"></typeparam>
            <typeparam name="TB"></typeparam>
            <param name="converter"></param>
            <param name="providers"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.CombineEx.Combine``2(JetBrains.Common.Util.DataPipes.IDataController{``0}[],System.Func{``0[],``1})">
            <summary>
            Combines any number of controllers of the same value type with converter
            </summary>
            <typeparam name="TA"></typeparam>
            <typeparam name="TB"></typeparam>
            <param name="converter"></param>
            <param name="providers"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.CombineEx.Combine``3(JetBrains.Common.Util.DataPipes.IDataProvider{``0},JetBrains.Common.Util.DataPipes.IDataProvider{``1},System.Func{``0,``1,``2})">
            <summary>
            Combines two providers with converter
            Input providers must be either both synchronized, or derive from the same async data provider.
            For combining data from two different asynchronous data providers, use <see cref="M:JetBrains.Common.Util.DataPipes.CombineEx.Combine``3(JetBrains.Common.Util.DataPipes.IAsyncDataProvider{``0},JetBrains.Common.Util.DataPipes.IThreadSwitch{``1},System.Func{``0,``1,``2})"/>
            </summary>
            <typeparam name="T1"></typeparam>
            <typeparam name="T2"></typeparam>
            <typeparam name="TR"></typeparam>
            <param name="src1"></param>
            <param name="src2"></param>
            <param name="converter"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.CommandEx.ToCommandContainer(System.Windows.Input.ICommand)">
            <summary>
            This method converts ICommand to ICommandSafe, but actually doesn't guarantee
            </summary>
            <param name="command"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.ConstructorEx.AsDataController``1(``0)">
            <summary>
            Returns object as a value of a constant data provider
            </summary>
            <typeparam name="T"></typeparam>
            <param name="o"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.ConstructorEx.AsDataProvider``1(``0,System.Action{``0,System.Action},System.Action{``0,System.Action})">
            <summary>
            Converts any object with update notification into DataProvider
            </summary>
            <typeparam name="T"></typeparam>
            <param name="source">Source object</param>
            <param name="subscribeHandler">Callback for subscribing handler to object notifications. Note that handler will be of <see cref="T:System.Action"/> type</param>
            <param name="unsubscribeHandler">Callback for unsubscribing handler from object</param>
            <returns>DataProvider that provides <see cref="!:source"/> as its value</returns>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.ConstructorEx.AsDataProvider``2(``1,System.Func{``1,``0},System.Action{``1,System.Action},System.Action{``1,System.Action})">
            <summary>
            Converts any object with update notification into DataProvider
            </summary>
            <typeparam name="TValue"></typeparam>
            <typeparam name="TSource"></typeparam>
            <param name="source">Source object</param>
            <param name="getValue">Callback to get value from object</param>
            <param name="subscribeHandler">Callback for subscribing handler to object notifications. Note that handler will be of <see cref="T:System.Action"/> type</param>
            <param name="unsubscribeHandler">Callback for unsubscribing handler from object</param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.ConstructorEx.AsDataProvider``3(``1,System.Func{``1,``0},System.Action{``1,System.Action{``2}},System.Action{``1,System.Action{``2}})">
            <summary>
            Converts any object with update notification into DataProvider
            </summary>
            <typeparam name="TValue"></typeparam>
            <typeparam name="TSource"></typeparam>
            <typeparam name="TArgs"></typeparam>
            <param name="source">Source object</param>
            <param name="getValue">Callback to get value from object</param>
            <param name="subscribeHandler">Callback for subscribing handler to object notifications. Note that handler will be of <see cref="T:System.Action"/> type</param>
            <param name="unsubscribeHandler">Callback for unsubscribing handler from object</param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.DataProviders.Init(JetBrains.Common.Util.Tasks.IStaThreadDispatcher)">
            <summary>
            Use this method before creating any pipe.
            It initializes main thread for data pipes. By default, it will use current thread.
            </summary>
            <param name="mainThreadDispatcher"></param>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.DataProviders.CreateProxy``1(System.Boolean)">
            <summary>
            Creates a proxy for building a part of pipeline when source provider is not available.
            When a source will be set, all current subscriptions will be delegated to it in order to avoid extra callbacks in pipeline
            </summary>
            <typeparam name="T"></typeparam>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.DataProviders.Create``1(``0,System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Creates writeable data provider
            </summary>
            <typeparam name="T"></typeparam>
            <param name="initialValue"></param>
            <param name="equalityComparer">Used to skip provider updates when the same value is set into <see cref="!:IDataController&lt;T&gt;.Value"/></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.DataProviders.CreateWithoutValue``1(System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Creates writeable data provider without initial value.
            </summary>    
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.DataProviders.Create``1(System.Func{``0})">
            <summary>
            Creates data provider with value created by <paramref name="createInitialValue"/> on acitvation
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.EnumerableEx.ToList``1(JetBrains.Common.Util.DataPipes.IDataProvider{System.Collections.Generic.IEnumerable{``0}},System.Boolean)">
            <summary>
            Caches enumerables into list
            If collection is reused, it shouldn't be accessed from other threads. 
            </summary>
            <typeparam name="T"></typeparam>
            <param name="provider"></param>
            <param name="reuseContainer"></param>
            <returns></returns>
        </member>
        <member name="T:JetBrains.Common.Util.DataPipes.Impl.DataProvider`1">
            <summary>
            Base class for data providers. Tracks change notification subscriptions and raises <see cref="!:Updated"/> event when value changes.
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.Impl.DataProvider`1.RaiseUpdated">
            <summary>
            Used by descendants to notify that stored value has changed internally, buts reference to value remain the same
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.Impl.DataProvider`1.OnActivated">
            <summary>
            Called before the first handler is subscribed.
            </summary>
            <returns>True if async update was fired during activation of this provider</returns>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.Impl.DataProvider`1.CancelComputations(JetBrains.Common.Util.DataPipes.Impl.ICancelArgs)">
            <summary>
            Any thread 
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.Impl.DataProvider`1.SwitchToUpdatingState">
            <summary>
            Switches data provider to Update state
            </summary>
            <returns>true if data provider switched in Update state successfully, false if data provider was in Deactivated state</returns>
            <exception cref="T:System.InvalidOperationException">if data provider was in Updating state</exception>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.Impl.DataProvider`1.SwitchToIdleState">
            <summary>
            Switches data provider back to Idle/Deactivated state
            </summary>
            <exception cref="T:System.InvalidOperationException">if data provider was not in Updating state</exception>
        </member>
        <member name="T:JetBrains.Common.Util.DataPipes.Impl.DataSubscription`1">
            <summary>
            This class can be used by the consumer of DataProvider in order to simplify resubscription to DataProvider updates when DataProvider is changed
            and also for activation handling. 
            Handler that is passed into the constructor is called only when subscription is active and DataProvider is set.
            When subscription is not active, data provider is not activated.
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="T:JetBrains.Common.Util.DataPipes.Impl.DelayedActionsManager">
            <summary>
            Stores actions that need to be performed after pipe activaton process is finished.
            Example of such actions is request for async data pipe update. If this action will be executed before activation is finished,  async update may be started before all
            subscribers are registered. Therefore part of pipeline may not be updated.
            This manageer collects such requests and executes them right after last activation call frame is exited.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.Impl.IDataProviderInternal`1.Subscribe(JetBrains.Common.Util.DataPipes.Impl.IDataProviderSubscription{`0})">
            <summary>
            Subscribes handler to data provider. Must be called on Primary Thread.
            </summary>
            <param name="handler"></param>
            <returns>True, if any async data provider was activated during this subscription. 
            Activation of some async data provider will mean, that there is no need to update value of current data provider, because update signal will come later from that async data provider.
            </returns>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.Impl.IDataProviderInternal`1.GetStateAttributeAndValueAtomic(JetBrains.Common.Util.DataPipes.Impl.IAttributesBag@,System.Boolean@)">
            <summary>
            In short: It guarantee integrity of triplet (value, attributes and hasValue).
            Note: This method must be called on Update Thread!
             
            We need this method because the triplet could be changed from different threads:
            1. During update on Update Thread.
            2. During deactivation on Main Thread (it could clear those fields in ClearValue() method).
            As this method must be called only on Update Thread we need to synchronize it only with deactivation.
            </summary>
            <param name="attributes"></param>
            <param name="hasValue"></param>
            <returns></returns>
        </member>
        <member name="T:JetBrains.Common.Util.DataPipes.Impl.ProxyDataProvider`1">
            <summary>
            Transparent proxy for building a part of pipeline when source provider is not available.
            When a source will be set, all current subscriptions will be delegated to it in order to avoid extra callbacks in pipeline
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="T:JetBrains.Common.Util.DataPipes.Impl.StaThreadDispatcherPipeEx.NonReentrantDispatcher">
            <summary>
            It helps to avoid reentrancy, when in pipe's lambda someone pumped a dispatcher queue. See DTRC-30786<br/>
            It uses dispatcher <see cref="T:JetBrains.Common.Util.Tasks.IStaThreadDispatcher"/> an underlying dispatcher.
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.DataPipes.Impl.StaThreadDispatcherPipeEx.DispatcherTaskScheduler">
            <summary>
            Trivial scheduler for dispatching tasks on data pipes threads
            </summary>
            <param name="dispatcher"></param>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.Impl.StaThreadDispatcherPipeEx.DispatcherTaskScheduler.#ctor(JetBrains.Common.Util.Tasks.IStaThreadDispatcher)">
            <summary>
            Trivial scheduler for dispatching tasks on data pipes threads
            </summary>
            <param name="dispatcher"></param>
        </member>
        <member name="P:JetBrains.Common.Util.DataPipes.Impl.StaThreadDispatcherPipeEx.Instance">
            <summary>
            It's the only main thread dispatcher for data pipes.<br/>
            It must be initialized by using <see cref="M:JetBrains.Common.Util.DataPipes.DataProviders.Init(JetBrains.Common.Util.Tasks.IStaThreadDispatcher)"/>>
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.IThreadSwitchEx`1.LockFree">
            <summary>
            Upgrades double-buffering ThreadSwitch to lock-free version, that uses three buffers instead of two.
            </summary>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.IThreadSwitchEx`1.WithTimeout(System.TimeSpan)">
            <summary>
            Specifies timeout for consumer lock on trying to obtain new value from double-buffer. If timeout is reached, consumer update is canceled. In this case consumer will perform the next attempt to
            obtain new value when the producer finishes filling the buffer. 
            Note, that if producer instantly produces new values and every value production takes significant time, consumer may never receive an update.
            In this case you should use lock-free version of ThreadSwitch: <see cref="M:JetBrains.Common.Util.DataPipes.IThreadSwitchEx`1.LockFree"/>
            </summary>
            <param name="timeout"></param>
            <returns></returns>
        </member>
        <member name="P:JetBrains.Common.Util.DataPipes.IDataControllerBase`1.Value">
            <summary>
            Get or set value inside provider.
            On set, if value hasn't changed, no update will be raised
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.IDataControllerBase`1.RaiseChanged">
            <summary>
            Force provider update without value change
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.IDataControllerBase`1.RaiseChanged(`0)">
            <summary>
            Force provider update with value change
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.MiscEx.PeekValue``1(JetBrains.Common.Util.DataPipes.IDataProviderBase{``0})">
            <summary>
            Use this method to extract value from activated provider.
            If specified provider is not activated or doesn't have value the method returns <code>Maybe&lt;T&gt;.Nothing</code>>
            </summary>
            <param name="provider"></param>
            <typeparam name="T"></typeparam>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.MiscEx.PeekValueOrDefault``1(JetBrains.Common.Util.DataPipes.IDataProviderBase{``0})">
            <summary>
            Use this method to extract value from activated provider.
            If specified provider is not activated or doesn't have value the method returns default(T)
            </summary>
            <param name="provider"></param>
            <typeparam name="T"></typeparam>
            <returns></returns>
        </member>
        <member name="P:JetBrains.Common.Util.DataPipes.MiscEx.PipeState`1.IsUninitialized">
            <summary>
            True if data provider never got a value.
            </summary>
        </member>
        <member name="P:JetBrains.Common.Util.DataPipes.MiscEx.PipeState`1.IsInvalidated">
            <summary>
            True if provider was initialized before but then got Invalidated and right now don't have value.
            </summary>
        </member>
        <member name="F:JetBrains.Common.Util.DataPipes.MiscEx.PipeState`1.Value">
            <summary>
            Current value of the provider.
            Valid only if both <see cref="P:JetBrains.Common.Util.DataPipes.MiscEx.PipeState`1.IsUninitialized"/> and <see cref="P:JetBrains.Common.Util.DataPipes.MiscEx.PipeState`1.IsInvalidated"/> are false
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.DataPipes.PipeEventData`1">
            <summary>
            Used for strong typing of scenarios, where data pipes are used for events handling.
            Events processing differs from typical data pipes behavior, because update callback is not expected to be called on data provider activation, or on data source switch, that happends within <see cref="T:JetBrains.Common.Util.DataPipes.IDataProxy`1"/> type or <see cref="!:MiscEx.Select&lt;TA,TB&gt;(JetBrains.Common.Util.DataPipes.IDataProvider&lt;TA&gt;,System.Func&lt;TA,JetBrains.Common.Util.DataPipes.IDataProvider&lt;TB&gt;&gt;)"/> method)
            This struct encapsultaes event data and overrides <see cref="!:SubscribeEx.Subscribe&lt;T&gt;(JetBrains.Common.Util.DataPipes.IDataProvider&lt;JetBrains.Common.Util.DataPipes.PipeEventData&lt;T&gt;&gt;,JetBrains.Lifetimes.Lifetime,JetBrains.Common.Util.DataPipes.ValueUpdatedHandler&lt;T&gt;)"/> method
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.PublishEx.PublishWriteable``1(JetBrains.Common.Util.DataPipes.IDataProvider{``0},System.Action{``0},JetBrains.Common.Util.DataPipes.IDataProvider{System.String},System.Boolean)">
            <summary>
            Can be used for two-way binding between DataProvider and WPF control (i.e. CheckBox.IsChecked)
            As data processing in pipeline is directed and acyclic, the only way to modify value inside the provider is to affect some input providers of the pipeline in such way that a desired value will be received by the target provider
            </summary>
            <typeparam name="T"></typeparam>
            <param name="source">Source data provider</param>
            <param name="setValue">Call back for value modification</param>
            <param name="error">Error provider</param>
            <param name="validateSetValue">Asserts that after a new value is set, source provider will return it back to notifier (uses default equality comparer)</param>
            <returns>Editable data provider</returns>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.SelectEx.Select``2(JetBrains.Common.Util.DataPipes.IDataProvider{``0},System.Func{``0,JetBrains.Common.Util.DataPipes.IDataProvider{``1}},System.Boolean)">
            <summary>
            Pretend to be another provider, based at some key (given by another provider) and selector
            </summary>
            <typeparam name="TA">Type of the key</typeparam>
            <typeparam name="TB">Type of the output value</typeparam>
            <param name="keyProvider">Provides key for switching</param>
            <param name="selector">Selects a resulting data provider based on key</param>
            <param name="clearPipelineOnEmptySource">Indicates whether cleanup of the pipe is needed if inner provider is null</param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.SelectEx.Select``1(JetBrains.Common.Util.DataPipes.IDataProvider{System.Boolean},JetBrains.Common.Util.DataPipes.IDataProvider{``0},JetBrains.Common.Util.DataPipes.IDataProvider{``0})">
            <summary>
            Specific case for switching between two providers
            </summary>
            <typeparam name="T"></typeparam>
            <param name="switchKey"></param>
            <param name="trueCase"></param>
            <param name="falseCase"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.SelectEx.Select``1(JetBrains.Common.Util.DataPipes.IDataProvider{System.Boolean},JetBrains.Common.Util.DataPipes.IDataProvider{``0})">
            <summary>
            Specific case for switching between two providers
            </summary>
            <typeparam name="T"></typeparam>
            <param name="switchKey"></param>
            <param name="trueCase"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.ShellEx.ToLifetime(JetBrains.Common.Util.DataPipes.IDataProvider{System.Boolean})">
            <summary>
            Activates provider and creates lifetime that is terminated when provider value turns to False.
            After lifetime is terminated, provider is unsubscribed to avoid memory leak.
            </summary>
            <param name="src"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.SubscribeEx.Subscribe``1(JetBrains.Common.Util.DataPipes.IDataProviderBase{``0},JetBrains.Common.Util.DataPipes.IDataProvider{System.Boolean},JetBrains.Common.Util.DataPipes.ValueUpdatedHandler{``0})">
            <summary>
            Creates subscription to <paramref name="source"/> that is activated according to value of <paramref name="isActiveProvider"/>
            Use this method with a great care: make sure that permanent subscription to <paramref name="isActiveProvider"/> won't leak and that <paramref name="isActiveProvider"/> switches to <value>false</value> at termination
            </summary>
            <typeparam name="T"></typeparam>
            <param name="source"></param>
            <param name="isActiveProvider">Determines activation state of the subscription. 
              WARNING #1: Subscription to this provider is permanent! Make sure it will not cause memory leak!
              WARNING #2: If this provider won't finally set its value to <value>false</value>, <paramref name="source"/> will be subscribed and may also cause memory leak! </param>
            <param name="handler">Callback that will be called at every value update</param>
            <returns>Holder for changing source provider</returns>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.SwitchEx.SwitchToThreadPool``1(JetBrains.Common.Util.DataPipes.IDataProviderBase{``0},JetBrains.Common.Util.DataPipes.DataPipeLifetime,JetBrains.Common.Util.DataPipes.UpdateValueLogic)">
            <summary>
            Uses Thread Pool for tasks execution
            </summary>
            <typeparam name="T"></typeparam>
            <param name="provider"></param>
            <param name="lifetime"></param>
            <param name="updateLogic"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.SwitchEx.SwitchRecycle``1(JetBrains.Common.Util.DataPipes.IDataProviderBase{System.Collections.Generic.IEnumerable{``0}})">
            <summary>
            Uses List for caching enumerables
            </summary>
            <typeparam name="T"></typeparam>
            <param name="provider"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.SwitchEx.SwitchRecycle``2(JetBrains.Common.Util.DataPipes.IDataProviderBase{System.Collections.Generic.IEnumerable{``0}})">
            <summary>
            Uses arbitrary collection for caching enumerables
            </summary>
            <typeparam name="T"></typeparam>
            <typeparam name="C"></typeparam>
            <param name="provider"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.SwitchEx.Switch``1(JetBrains.Common.Util.DataPipes.IDataProviderBase{``0})">
            <summary>
            Creates a ThreadSwitch, that groups updates and delivers the freshest value to the consumer.
            Next update will be propagated only after the consumer receives the previous one.
            For example, if thread 1 consequently sends several updates to thread 2, than until thread 2 actually gets started, it will receive no additional updates.
            Therefore, some of the updated values will never reach thread 2, so this method shouldn't be used for streaming data between threads. 
            If skipping values is not affordable, you hsould use <see cref="M:JetBrains.Common.Util.DataPipes.SwitchEx.SwitchStream``1(JetBrains.Common.Util.DataPipes.IDataProviderBase{``0})"/> method
            </summary>
            <typeparam name="T"></typeparam>
            <param name="provider"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.SwitchEx.SwitchStream``1(JetBrains.Common.Util.DataPipes.IDataProviderBase{``0})">
            <summary>
            Creates a ThreadSwitch, that delivers all values to destination without skipping.
            If consumer needs only that most recent value, and you want to reduce the number of possible updates, you should use <see cref="M:JetBrains.Common.Util.DataPipes.SwitchEx.Switch``1(JetBrains.Common.Util.DataPipes.IDataProviderBase{``0})"/> method
            </summary>
            <typeparam name="T"></typeparam>
            <param name="provider"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.SwitchEx.SwitchRecycle``3(JetBrains.Common.Util.DataPipes.IDataProviderBase{``0},System.Func{``1},System.Func{``0,``1,``2})">
            <summary>
            Creates a ThreadSwitch, that uses double buffering for transfering massive data between threads.
            If consumer tries to access container, when a new buffer is being filled, it will lock until fill operation is completed.
            To avoid indeterminate locking, you can either specify timeout for this lock using <see cref="M:JetBrains.Common.Util.DataPipes.IThreadSwitchEx`1.WithTimeout(System.TimeSpan)"/> method,
            or upgrade to lock-free version using <see cref="M:JetBrains.Common.Util.DataPipes.IThreadSwitchEx`1.LockFree"/> method
            </summary>
            <typeparam name="TA">Input type. For example, IEnumerable{int}</typeparam>
            <typeparam name="TB">Buffer type. For example, IList{int}</typeparam>
            <typeparam name="TC">Output type. For example, IEnumerable{int}</typeparam>
            <param name="provider">Source</param>
            <param name="createContainer">Factory for creating buffers</param>
            <param name="fillContainer">Method that fills buffer with the input value. Usually returns the filled buffer, casted to some readonly interface</param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.TransformEx.TransformSafe``2(JetBrains.Common.Util.DataPipes.IDataProviderBase{``0},System.Func{``0,``1},``1)">
            <summary>
            If source value is null returns <see cref="!:fallbackValue"/>, otherwise applies converter
            </summary>
            <typeparam name="TA"></typeparam>
            <typeparam name="TB"></typeparam>
            <param name="provider"></param>
            <param name="converter"></param>
            <param name="fallbackValue"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.TransformEx.TransformSafe``2(JetBrains.Common.Util.DataPipes.IDataProvider{``0},System.Func{``0,``1},``1)">
            <summary>
            If source value is null returns <see cref="!:fallbackValue"/>, otherwise applies converter
            </summary>
            <typeparam name="TA"></typeparam>
            <typeparam name="TB"></typeparam>
            <param name="provider"></param>
            <param name="converter"></param>
            <param name="fallbackValue"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.DataPipes.TransformEx.TransformSafe``2(JetBrains.Common.Util.DataPipes.IAsyncDataProvider{``0},System.Func{``0,``1},``1)">
            <summary>
            If source value is null returns <see cref="!:fallbackValue"/>, otherwise applies converter
            </summary>
            <typeparam name="TA"></typeparam>
            <typeparam name="TB"></typeparam>
            <param name="provider"></param>
            <param name="converter"></param>
            <param name="fallbackValue"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.DispatcherEx.AssertAccess(System.Windows.Threading.Dispatcher)">
            <summary>
            Throws if the current thread is not the thread associated with this dispatcher.
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.DisposingLogic">
            <summary>
            Contains logic that dispose can be called more than once. And guard of calling methods after dispose.
            Used to delegate implementation of IDisposable to an instance of this class.
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.FixedSizeObjectPool`1">
            <summary>
            Lock-free Thread pool moved from DotTrace.
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:JetBrains.Common.Util.FormattedText.FormattedTextBufferBuilder`1.GetBuffer(`0)">
            <summary>
            Caution! Internal data will be reused. Copy if you need it to be stored. Used to reduce memory traffic.
            </summary>
            <param name="data"></param>
            <returns></returns>
        </member>
        <member name="T:JetBrains.Common.Util.FormattedText.TextFormattingEx">
            <summary>
            These helpers are introduced to correctly check if some part has some property.
            We can't use `formatting == TextFormatting.Highlighted` because TextFormatting encapsulate Flags, which should not be compared 
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.FullLifetimeDefinition">
            <summary>
            This class describes the full, runtime and persistence (logical life from point of user) lifetime of an object
            When parent FullLifetimeDefinition is terminated, 
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.FullLifetimeExtension.CreateSubLifetimeDefinition(JetBrains.Common.Util.FullLifetime,System.String)">
            <summary>
            Defines new full lifetime limited by parent <paramref name="fullLifetime"/>
            </summary>
            <param name="fullLifetime">Parent full lifetime</param>
            <param name="id">Debug id</param>
        </member>
        <member name="M:JetBrains.Common.Util.FullLifetimeExtension.CreateFullLifetimeDefinition(JetBrains.Lifetimes.Lifetime,System.String)">
            <summary>
            Defines new full lifetime. <see cref="P:JetBrains.Common.Util.FullLifetime.PersistenceLifetime"/> is unlimited but <see cref="P:JetBrains.Common.Util.FullLifetime.RuntimeLifetime"/> 
            is limited by <paramref name="runtimeLifetimeParent"/>
            </summary>
            <param name="runtimeLifetimeParent">Parent for <see cref="P:JetBrains.Common.Util.FullLifetime.RuntimeLifetime"/> </param>
            <param name="id">Debug id</param>
        </member>
        <member name="M:JetBrains.Common.Util.FullLifetimeExtension.CreateSubLifetimeDefinition(JetBrains.Common.Util.FullLifetime,JetBrains.Lifetimes.Lifetime,System.String)">
            <summary>
            Defines new full lifetime limited by <paramref name="fullLifetime"/> and <paramref name="additionalRestriction"/> at the same time
            </summary>
            <param name="fullLifetime">Parent full lifetime</param>
            <param name="additionalRestriction">Additional restriction of full lifetime</param>
            <param name="id">Debug id</param>
        </member>
        <member name="T:JetBrains.Common.Util.ICommandContainer">
            <summary>
            A container for <see cref="T:System.Windows.Input.ICommand"/>, that allows to expose command from ViewModel safely.
            Reason for that: WPF keeps a weak subscription to CanExecuteChanged event even when control is already unloaded.
            So, if your implementation of <see cref="T:System.Windows.Input.ICommand"/> expects this event to be correctly unsubscribed and your ViewModel keeps a strong reference to it, this will never happen.
            For such commands you should use <see cref="T:JetBrains.Common.Util.Primitives.SafeCommand"/> implementation of this interface
            For other commands you can use <see cref="T:JetBrains.Common.Util.Primitives.UnsafeCommand"/> implementation
            </summary>
        </member>
        <member name="P:JetBrains.Common.Util.ICommandContainer.Value">
            <summary>
            WPF templates should bind to this property to get underlying command.
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.InterruptibleLazy`1">
            <summary>
            Copy paste of Platform's InterruptibleLazy with additional IExecutionController passed to support task cancelling
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:JetBrains.Common.Util.LifetimesExtension.CreateSubLifetimeDefinition(JetBrains.Lifetimes.Lifetime,System.String,JetBrains.Lifetimes.Lifetime[])">
            <summary>
            Creates lifetime definition which will be terminated if either <paramref name="lifetime"/> or <paramref name="additionalRestrictions"/> are terminated
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.LifetimesExtension.CreateSubLifetime(JetBrains.Lifetimes.Lifetime,System.String,JetBrains.Lifetimes.Lifetime[])">
            <summary>
            Creates lifetime which will be terminated if either <paramref name="lifetime"/> or <paramref name="additionalRestrictions"/> are terminated
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.Logging.UnderInvestigationException.#ctor(System.Exception,System.String)">
            <summary>
            The special exception for issues under investigation: catch by logger and appended with postmortem log.
            See <see cref="T:JetBrains.Common.Util.Logging.LoggingInitializer.PostmortemLogListener"/>
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.MathConverterParser">
            <summary>
            Value converter that performs arithmetic calculations over its argument(s)
            </summary>
            <remarks>
            MathConverter can act as a value converter, or as a multivalue converter (WPF only).
            It is also a markup extension (WPF only) which allows to avoid declaring resources,
            ConverterParameter must contain an arithmetic expression over converter arguments. Operations supported are +, -, * and /
            Single argument of a value converter may referred as x, a, or {0}
            Arguments of multi value converter may be referred as x,y,z,t (first-fourth argument), or a,b,c,d, or {0}, {1}, {2}, {3}, {4}, ...
            The converter supports arithmetic expressions of arbitrary complexity, including nested subexpressions
            </remarks>
        </member>
        <member name="P:JetBrains.Common.Util.Metadata.FunctionUIDm.IsGloballyUnique">
            <summary>
            Property is true for fuids, that doesn't need to be converted via IFuidsMatcher and are the same in multiple snapshots,
            its a subset of a synthetic fuids, but not all of them. Examples are: thread root fuids, generated task fuids
            </summary>
        </member>
        <member name="P:JetBrains.Common.Util.Metadata.MethodViewData.Id">
            <summary>
            It used only in comparison two MethodViewData and for Actions
            (GotoBacktraceActionHandler for example)
            </summary>
        </member>
        <member name="P:JetBrains.Common.Util.Metadata.Navigation.CallTreeNavigationInfo.NavigationTypeFQN">
            <summary>
            Navigation type is type used to find navigation point in source code. Invisible and compiler generated types are ignored.
            Use TypeFQN to compare.
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.Navigation.Parser.Parser">
            <summary>
            <![CDATA[
              ABNF grammar
              EtwOptionalModifier = "optional_modifier"                                                                   # Token
              EtwRequiredModifier = "required_modifier"                                                                   # Token
              MonoModifierKeywords = "modreq"	                                                                            # Token
              EtwValue = "value"                                                                                          # Token
              EtwClass = "class"                                                                                          # Token
              EtwMethodKeyword = "instance" / "generic" / "unmanaged" / "stdcall" / "cdecl"                               # Token
              Reference = "&";                                                                                            # Token 
              Pointer = 1*"*";                                                                                            # Token 
              Signature = [EtwMethodKeyword *(" " EtwMethodKeyword)] TypeWithModifiers "(" [Parameters] ")";
              ArrayType = 1*"[" *"," "]"
              GenericReference = 1*2"!" 1*DIGIT;
              Type = (PrimitiveType / FunctionPtrType / ETWNonPrimitiveType / MonoNonPrimitiveType / GenericReference) [ArrayType] [1*" "] [Pointer] [Reference];
              PrimitiveType = "void"                                                                                      # Token 
              / "bool"
              / "wchar"
              / "decimal"
              / "float32"
              / "float64"
              / "int"
              / "unsigned int"
              / "int8"
              / "unsigned int8"
              / "int16"
              / "unsigned int16"
              / "int32"
              / "unsigned int32"
              / "int64"
              / "unsigned int64";
              Parameters = TypeWithModifiers [*(("," / *" ") TypeWithModifiers)] ;
              GenericCount = "`" Identifier;                                                                              # Identifier = 1*DIGIT
              Identifier = 1*(ALPHA / DIGIT / UNICODE / "@" / "_");                                                       # Token, Handling special cases: "Func`1Proxy_71", "gcroot<System::String ^>"  
              AnonymousType = "<>f__AnonymousType" Identifier;                                                            # Token, Identifier = 1*(ALPHA / DIGIT); 
              LambdaGen = "<>" Identifier;                                                                                # Token 
              Method = ("." Identifier) / ( TypeWithGenerics ["." Identifier] )                                                                       
              YieldGen = "<" YieldGen / Method ">" [ Identifier ];
              ClassParameters = ClassSpecification [*(("," / *" ") ClassSpecification) ];
              ClassSpecification = TypeWithGenerics *("+" TypeWithGenerics) ["[" ClassParameters "]"]
              NamespaceAndClass = (Identifier / LambdaGen / YieldGen) ["." (Identifier / LambdaGen / YieldGen)]
              TypeWithGenerics = (NamespaceAndClass / AnonymousType) [GenericCount] ["<" Parameters ">"];
              AttributeType = NamespaceAndClass
              MonoModifier = MonoModifierKeyword OpenParen AttributeType CloseParen
              MonoNonPrimitiveType = TypeWithGenerics [MonoModifier];
              ETWNonPrimitiveType = [EtwValue] EtwClass TypeWithGenerics
              TypeWithModifiers = ((EtwOptionalModifier / EtwRequiredModifier) 1*2(Type)) / Type
              FunctionPtrType = "fnptr" Signature
            ]]>
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.Primitives.SafeCommand">
            <summary>
             ISafeCommand implementation recreates ICommand on demand and keeps a weak reference to created ICommand instance, allowing it to be collected and unsubscribed when UI binding is gone. 
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.Primitives.UnsafeCommand">
            <summary>
            Unsafe implementation of <see cref="T:JetBrains.Common.Util.ICommandContainer"/> interface
            Can be used for <see cref="T:System.Windows.Input.ICommand"/>s that doesn't care about correct unsubscription from <see cref="E:System.Windows.Input.ICommand.CanExecuteChanged"/> event
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.ProcessInfoApi.Delegates.DeleteBuffer">
            <summary>
            Releases resources allocated by <see cref="T:JetBrains.Common.Util.ProcessInfoApi.Delegates.GetProcessExecutable"/>, <see cref="T:JetBrains.Common.Util.ProcessInfoApi.Delegates.GetProcessCommandLine"/> or <see cref="T:JetBrains.Common.Util.ProcessInfoApi.Delegates.GetProcessEnvironmentVariables"/>
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.ProcessInfoApi.Delegates.GetProcessExecutable">
            <summary>
            Null-terminated UTF-16 string. Returned pointer must be released by calling <see cref="T:JetBrains.Common.Util.ProcessInfoApi.Delegates.DeleteBuffer"/>
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.ProcessInfoApi.Delegates.GetProcessCommandLine">
            <summary>
            Null-terminated UTF-16 string. Returned pointer must be released by calling <see cref="T:JetBrains.Common.Util.ProcessInfoApi.Delegates.DeleteBuffer"/>
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.ProcessInfoApi.Delegates.GetProcessEnvironmentVariables">
            <summary>
            Array of Null-terminated UTF-16 string pointers. The last array element is NULL. Returned pointer must be released by calling <see cref="T:JetBrains.Common.Util.ProcessInfoApi.Delegates.DeleteBuffer"/>
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.ProgressIndicatorExtension">
            <summary>
            Used (in dotMemory only) to run tasks via IUETaskExecutor.
            </summary>
            <remarks>
            It seems whould be better to use WPF dialogs (and possible async/await after merging wave12-ilya-ivanov-task-n-pipes branch)
            instead of platform IUETaskExecutor which has side-effects (see DMRY-5799, DMRY-4883)
            </remarks>
        </member>
        <member name="T:JetBrains.Common.Util.PtrSize">
            <summary>
            Required to write pointer size (sizeof(void *)) in binary format
            Value should be equal to sizeof(void *) in C++
            </summary>
        </member>
        <member name="P:JetBrains.Common.Util.RemotableTree.ActivityToken.IsRunning">
            <summary>
            Returns true if at least one Run is in process
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.RemotableTree.ActivityToken.Run">
            <summary>
            Run this token when activity is started
            When activity is stopped don't forget to dispose returned stop token
            </summary>
            <returns>Stop token</returns>
        </member>
        <member name="P:JetBrains.Common.Util.RemotableTree.ITree`2.RootPrefix">
            <summary>
            Root node is included
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.RemotableTree.ITree`2.GetNodePrefix(JetBrains.Common.Util.RemotableTree.ITreeNode{`0,`1})">
            <summary>
            Path from tree root to target node. Both root and target node are included in resulting path
            </summary>
            <param name="node"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.RemotableTree.ITreeNodeViewModel`2.TrySetSelection(JetBrains.Common.Util.RemotableTree.UpdateRequestOptions)">
            <summary>
            After loading and attaching subtree tree asks node to set selection.
            If node fails to do so, tree tries to restore the same selection as it was before update
            </summary>
            <param name="options">request options for current response</param>
            <returns>true if selection was changed, otherwise - false</returns>
        </member>
        <member name="F:JetBrains.Common.Util.RemotableTree.UpdateRequestOptions.InterestingNode">
            <summary>
            Subtree tree with the next interesting node.
            The subtree till the node where payload was split will be returned.
            </summary>
        </member>
        <member name="F:JetBrains.Common.Util.RemotableTree.UpdateRequestOptions.FullTree">
            <summary>
            Almost full tree without system folding will be returned.
            Only very small nodes won't appear in the response 
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.Remoting.Extensions.Debug``2(``0,System.Func{``0,``1})">
            <summary>
            Wrap any data pipe fluent syntax call with this extension in order to be able to set breakpoint
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.Remoting.IExternalStorage">
            <summary>
            External process for out of process calculations
            </summary>
        </member>
        <member name="P:JetBrains.Common.Util.Remoting.IExternalStorage.Exited">
            <summary>
            Signaled when the process is exited
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.Remoting.Impl.HostsAndProxies.InterProcessHostBase`1.ReadNextPackage(System.IO.BinaryReader,System.Runtime.Serialization.Formatters.Binary.BinaryFormatter)">
            <summary>
            This method should update internal field NextPackageToUpdate with new package 
            </summary>
            <param name="reader"></param>
            <param name="binaryFormatter"></param>
        </member>
        <member name="M:JetBrains.Common.Util.Remoting.Impl.NamedPipesComm.GetIncomingPipeName(System.Boolean)">
            <summary>
            Returns incoming pipe name for specified side (client/server) 
            Note: Incoming pipe name for client side = Outgoing pipe name for server side and vice versa
            </summary>
            <param name="isClient"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.Remoting.Impl.NamedPipesComm.GetOutgoingPipeName(System.Boolean)">
            <summary>
            Returns outgoing pipe name for specified side (client/server) 
            Note: Incoming pipe name for client side = Outgoing pipe name for server side and vice versa
            </summary>
            <param name="isClient"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.Remoting.Impl.NamedPipesComm.GetLockController">
            <summary>
            Uses thread static field in order to reuse instance of PipeLocksController and avoid memory traffic
            We rely here that <see cref="T:JetBrains.Common.Util.Remoting.Impl.NamedPipesComm.PipeLocksController"/> is not used recursively
            </summary>
            <returns></returns>
        </member>
        <member name="T:JetBrains.Common.Util.Remoting.Impl.NamedPipesComm.PipeLocksController">
            <summary>
            If message processing takes long time, it is important to release pipe reading and pipe termination locks as soon as possible
            This class is used to control two moments during processing of current message: when processing of the next message can be started and when pipe termination lock can be released
            Also, this controller asserts that both locks will finally be released and that they will be released only once
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.Remoting.Impl.RemoteCommunicator.GetHost(JetBrains.Common.Util.Remoting.Impl.LocalRefId)">
            <summary>
            Obtains local host by id. Hosts are stored in strong to weak dictionary. Active hosts also are referenced strongly from <see cref="F:JetBrains.Common.Util.Remoting.Impl.RemoteCommunicator.myActivatedHosts"/>
            Therefore, inactive host may be collected by gc during update event transfer from proxy. In this case, update must be silently canceled.
            </summary>
            <param name="id"></param>
            <returns></returns>
        </member>
        <member name="T:JetBrains.Common.Util.Remoting.Impl.SharedMemoryPointer">
            for sending offset of pointer to remote process
        </member>
        <member name="M:JetBrains.Common.Util.Remoting.Impl.SharedMemoryPointer.#ctor(System.Int32,System.Int32)">
            index is index ofShared memory Node in manager
            offset is offset in that node
        </member>
        <member name="M:JetBrains.Common.Util.Remoting.IRemoteCommunicator.Build``1(System.Func{JetBrains.Common.Util.Remoting.IRemoteCommunicator,``0},System.Object)">
            <summary>
            Executes delegate remotely and returns remote reference to the result of that delegate
            </summary>
            <typeparam name="TResult"></typeparam>
            <param name="builder"></param>
            <param name="hardlink">hard link to the object that must be alive until the remote reference is alive</param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.Remoting.IRemoteCommunicator.ExecuteRemote(System.Action)">
            <summary>
            Executes action remotely
            </summary>
            <param name="builder"></param>
        </member>
        <member name="M:JetBrains.Common.Util.SignatureTree.ISnapshotNamespaceTree.StagedGetMatches(JetBrains.Text.IdentifierMatcher)">
            <summary>
            This method is used when we want to stop drilling namespace tree on classes and treat "." in pattern
            as flag to go and show class methods. This is used in standalone / VS versions of dotTrace when user
            hits Ctrl+F
            </summary>
            <param name="matcher"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.SignatureTree.ISnapshotNamespaceTree.GetAllMethodsMatches(JetBrains.Text.IdentifierMatcher)">
            <summary>
            This method is used when we want to show all methods for this pattern immediately.
            This is used in Rider integration("Search everywhere" dialog)
            </summary>
            <param name="matcher"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.SignatureTree.ISnapshotNamespaceTree.GetNodes(System.String)">
            <summary>
            Given the plain representation of the function signature (namespace + classname + method name),
            method retrieves a list of Signature tree nodes whose compound path (from the root to itself)
            corresponds to this signature.
            NB: All possible candidates are gathered only on the last possible level, i.e. when a potential
            function name is given. Thus we do not fork the search at the top levels of the tree and gather
            all overloads of the function on the lowest level.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.SignatureTree.NamespaceParts.FullMethodName.#ctor(System.String,System.String)">
            <summary>
            Synthetically construct method name from partial information on namespace and classname.
            This method is used to locate arbitrary location in the namespace tree (e.g. class) and
            not only a leaf representing a function.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.SignatureTree.NamespaceTreeNode.#ctor">
            <summary>
            Creates root
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.Tasks.AsyncLifetime">
            <summary>
            Provides lifetime facilities for objects with async-activity, e.g. task schedulers.
            </summary>
            <remarks>
            The main purpose of AsyncLifetime to ensure all async activities finished before terminating inner lifetime
            (to prevent accessing terminating lifetime from still running tasks which lead to exceptions).
            <br/>
            Actually, the current <see cref="T:JetBrains.Lifetimes.Lifetime"/> supports all features which were implemented in AsyncLifetime early.
            It would be better to eliminate AsyncLifetime and migrate to regular <c>Lifetime</c>.
            <br/>
            The last attempt was here: 'net221-ii-asynclifetime-refactoring'
            <br/>
            It wasn't successful due to TerminationTimeout needs, which already implemented as <see cref="P:JetBrains.Lifetimes.LifetimeDefinition.TerminationTimeoutKind"/>.
            </remarks>
        </member>
        <member name="P:JetBrains.Common.Util.Tasks.AsyncLifetime.Instance">
            <summary>
            The lifetime instance which will be terminated when all tracked tasks have finished.
            It is safe to use <c>Instance</c> inside task actions and/or inside callback actions.
            </summary>    
        </member>
        <member name="P:JetBrains.Common.Util.Tasks.AsyncLifetime.Token">
            <summary>
            Cancellation token which is activated when lifetime is terminating.<br/>
            IMPORTANT! For correct lifetime termination all tracked tasks must be linked to this token.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.AsyncLifetime.ThrowIfTerminated">
            <summary>
            Just delegates to <c>Token.ThrowIfCancellationRequested()</c>.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.AsyncLifetime.TryTrackTask(System.Threading.Tasks.Task)">
            <summary>
            Tries to add task for tracking. Returns true if succeeded and false if lifetime already is in terminating state.
            </summary>
            <remarks>
            When async-lifetime is terminating it first activates cancellation token <see cref="P:JetBrains.Common.Util.Tasks.AsyncLifetime.Token"/>
            then waits for all tracked tasks have finished and finally terminates <see cref="P:JetBrains.Common.Util.Tasks.AsyncLifetime.Instance"/> lifetime.
            </remarks>
            <param name="task"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.AsyncLifetime.TrackTask(System.Func{System.Threading.Tasks.Task})">
            <summary>
            Adds task created by <paramref name="taskFactory"/> for tracking.
            </summary>
            <remarks>
            If lifetime is in terminating state then <paramref name="taskFactory"/> isn't invoked (and task isn't created at all).<br/>
            If <paramref name="taskFactory"/> was invoked then it is guaranteed that returned task will be tracked till finish.<br/>
            <br/>
            See also remarks for <see cref="M:JetBrains.Common.Util.Tasks.AsyncLifetime.TryTrackTask(System.Threading.Tasks.Task)"/>.
            </remarks>
            <param name="taskFactory"></param>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.AsyncLifetime.TrackTask``1(System.Func{System.Threading.Tasks.Task{``0}})">
            <summary>
            Adds task created by <paramref name="taskFactory"/> for tracking.
            </summary>
            <remarks>
            See remarks for <see cref="M:JetBrains.Common.Util.Tasks.AsyncLifetime.TrackTask(System.Func{System.Threading.Tasks.Task})"/>
            </remarks>
            <typeparam name="T"></typeparam>
            <param name="taskFactory"></param>
            <returns></returns>
        </member>
        <member name="E:JetBrains.Common.Util.Tasks.AsyncLifetime.OnTerminationTimeout">
            <summary>
            Raises when async-activities aren't finished in given time.
            </summary>
            <remarks>
            Intended for diagnostic purpose: handler can attach additional info to exception (e.g. threads dump). 
            </remarks>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.AsyncLifetime.op_Implicit(JetBrains.Common.Util.Tasks.AsyncLifetime)~JetBrains.Lifetimes.Lifetime">
            <summary>
            Returns lifetime <see cref="P:JetBrains.Common.Util.Tasks.AsyncLifetime.Instance"/>.
            </summary>
            <param name="lifetime"></param>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.AsyncLifetime.op_Implicit(JetBrains.Common.Util.Tasks.AsyncLifetime)~System.Threading.CancellationToken">
            <summary>
            Returns <see cref="P:JetBrains.Common.Util.Tasks.AsyncLifetime.Token"/>.
            </summary>
            <param name="lifetime"></param>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.AsyncLifetime.op_BitwiseOr(JetBrains.Common.Util.Tasks.AsyncLifetime,System.Threading.CancellationToken)">
            <summary>
            Returns combined cancellation token which is activated when <see cref="P:JetBrains.Common.Util.Tasks.AsyncLifetime.Token"/> or <paramref name="otherToken"/> is activated.
            </summary>
            <param name="lifetime"></param>
            <param name="otherToken"></param>
            <returns></returns>
        </member>
        <member name="T:JetBrains.Common.Util.Tasks.Compatibility.ExecutionControllerLegacy">
            <summary>
            Provides Yield() facility for legacy code which performs long operation without execution controller. 
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.DispatcherExtension.InvokeAsync(JetBrains.Common.Util.Tasks.IStaThreadDispatcher,JetBrains.Common.Util.Tasks.AsyncLifetime,System.Action)">
            <summary>
            Executes the specified action asynchronously via dispatcher with respect to lifetime.
            </summary>
            <remarks>
              * If lifetime already terminated when InvokeAsync() called then action just ignored.<br/>
              * If lifetime is terminated before action has been invoked then action removed from dispatcher's queue.<br/>
              * If lifetime is being terminated when dispatcher's thread already inside an action then Terminate() 
            will wait while action has completed with timeout specified for async-lifetime.<br/>
            <br/>
            If action throws an exception then it is logged via <see cref="M:JetBrains.Util.Logging.Logger.LogException(System.Exception)"/>.
            </remarks>    
        </member>
        <member name="T:JetBrains.Common.Util.Tasks.ICanReportTaskProgress">
            <summary>
            Provides subscription to handle task(s) progress.
            </summary>  
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.ICanReportTaskProgress.Subscribe(JetBrains.Common.Util.Tasks.AsyncLifetime,JetBrains.Common.Util.Tasks.ITaskProgressListener)">
            <summary>
            Subscribes listener for tasks progress.
            </summary>
            <remarks>
            The events for each particular task are strictly ordered: OnTaskScheduled -> {OnTaskOperationChanged|OnTaskProgressChanged}* -> OnTaskFinished.<br/>   
            The events fired on task thread but NOT concurrently.<br/>
            <br/>
            IMPORTANT! Long operation in handler will affect task performance.
            <br/>    
            If listener added when some tasks already scheduled then it is notified instantly for all scheduled tasks.<br/>
            <br/>
            If scheduler's lifetime has terminated then TaskFinished might not be fired for currently scheduled tasks.
            </remarks>
        </member>
        <member name="T:JetBrains.Common.Util.Tasks.ICanScheduleTask">
            <summary>
            Basic interface for entity which can schedule tasks.
            </summary>  
        </member>
        <member name="P:JetBrains.Common.Util.Tasks.ICanScheduleTask.Lifetime">
            <summary>
            The async-lifetime associated with this scheduler. Might be <c>AsyncLifetime.Eternal</c> but not null.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.ICanScheduleTask.Schedule``1(System.Func{JetBrains.Common.Util.IExecutionController,``0})">
            <summary>
            Schedules <paramref name="action"/> for execution. Returns <see cref="T:System.Threading.Tasks.Task">System.Threading.Tasks.Task</see>.
            </summary>
            <remarks>
            Returned task supports <c>await</c> syntax.<br/>
            <br/>
            If you thinking 'how to cancel task', probably you need <see cref="T:JetBrains.Common.Util.Tasks.ISequentialTaskScheduler"/> or <see cref="T:JetBrains.Common.Util.Tasks.IExclusiveTaskScheduler"/>.
            For very special cases <see cref="T:JetBrains.Common.Util.Tasks.ICanScheduleTaskInternal"/> might be used also.<br/>
            <br/>
            If action throws an exception then it is logged via <see cref="M:JetBrains.Util.Logging.Logger.LogException(System.Exception)"/>. 
            Caller might also handle exception via <see cref="M:JetBrains.Common.Util.Tasks.TaskCallbackExtension.OnFailure(System.Threading.Tasks.Task,System.Action{System.Exception})"/> callback but exception will be logged any way.<br/>
            <br/>
            If you need to bind some entities to lifetime inside task action then you should use <see cref="T:JetBrains.Common.Util.Tasks.AsyncLifetime"/>.<br/>
            <br/>
            If implementor is bound to lifetime and this lifetime is terminated then Schedule() returns instantly cancelled task, no exception is thrown. 
            </remarks>    
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.CanScheduleTaskExtension.Schedule(JetBrains.Common.Util.Tasks.ICanScheduleTask,System.Action{JetBrains.Common.Util.IExecutionController})">
            <summary>
            Schedules <paramref name="action"/> for execution.
            </summary>
            <remarks>
            See <see cref="M:JetBrains.Common.Util.Tasks.ICanScheduleTask.Schedule``1(System.Func{JetBrains.Common.Util.IExecutionController,``0})"/>
            </remarks>    
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.CanScheduleTaskExtension.RestrictedBy(JetBrains.Common.Util.Tasks.ICanScheduleTask,JetBrains.Common.Util.Tasks.AsyncLifetime)">
            <summary>
            Creates task scheduler restricted by given <paramref name="lifetime"/>.
            </summary>
            <remarks>
            The <paramref name="this"/> must implement <see cref="T:JetBrains.Common.Util.Tasks.ICanScheduleTaskInternal"/>.
            </remarks>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.CanScheduleTaskExtension.RestrictedBy(JetBrains.Common.Util.Tasks.ICanScheduleTask,JetBrains.Lifetimes.Lifetime,System.String)">
            <summary>
            Creates task scheduler restricted by given <paramref name="lifetime"/>.
            </summary>
            <remarks>
            The <paramref name="this"/> must implement <see cref="T:JetBrains.Common.Util.Tasks.ICanScheduleTaskInternal"/>.
            </remarks>
        </member>
        <member name="T:JetBrains.Common.Util.Tasks.ICanScheduleTaskInternal">
            <summary>
            Internal task scheduler interface. Provides separated task creation and scheduling. Used by <see cref="T:JetBrains.Common.Util.Tasks.Impl.SequentialTaskScheduler"/> and some others.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.ICanScheduleTaskInternal.CreateTask``1(System.Func{JetBrains.Common.Util.IExecutionController,``0},System.Threading.CancellationToken)">
            <summary>
            Creates task but doesn't schedule it for execution.
            </summary>
            <remarks>
            The returned task might be in CANCELLED state if <paramref name="cancellationToken"/> already activated but can not be in SUCCEEDED or FAILED state.
            </remarks>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.ICanScheduleTaskInternal.Schedule(System.Threading.Tasks.Task)">
            <summary>
            Schedules task created by <see cref="M:JetBrains.Common.Util.Tasks.ICanScheduleTaskInternal.CreateTask``1(System.Func{JetBrains.Common.Util.IExecutionController,``0},System.Threading.CancellationToken)"/> for execution.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.CanScheduleTaskInternalExtension.CreateTask(JetBrains.Common.Util.Tasks.ICanScheduleTaskInternal,System.Action{JetBrains.Common.Util.IExecutionController},System.Threading.CancellationToken)">
            <summary>
            Creates task but doesn't schedule it for execution.
            </summary>
            <remarks>
            See <see cref="M:JetBrains.Common.Util.Tasks.ICanScheduleTaskInternal.CreateTask``1(System.Func{JetBrains.Common.Util.IExecutionController,``0},System.Threading.CancellationToken)"/>
            </remarks>
        </member>
        <member name="T:JetBrains.Common.Util.Tasks.ICanStopWorld">
            <summary>
            The special interface to stop all async-activities produced by particular scheduler.
            Might be helpful in various resource watchdogs to prevent overuse while warning displayed and user think what to do.
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.Tasks.IExclusiveTaskScheduler">
            <summary>
            Schedules task for exclusive execution. The scheduling next task always cancels previous one.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.IExclusiveTaskScheduler.Reset(System.Boolean)">
            <summary>
            Cancels currently running task.
            </summary>
            <remarks>
            If <paramref name="awaitFinished"/> is <c>false</c> then method returns instantly,
            otherwise it waits for running task (if any) to finish.<br/>
            <br/>
            The implementation should use termination timeout from associated <see cref="T:JetBrains.Common.Util.Tasks.AsyncLifetime"/> and
            throw <see cref="T:System.TimeoutException"/> if await timed out. 
            </remarks>
            <param name="awaitFinished">whether await currently running task or not (default: false)</param>
        </member>
        <member name="T:JetBrains.Common.Util.Tasks.Impl.DispatcherTaskScheduler">
            <summary>
            Schedules task to <see cref="T:JetBrains.Common.Util.Tasks.StaThreadDispatcher"/> (UI thread).
            </summary>    
        </member>
        <member name="T:JetBrains.Common.Util.Tasks.Impl.ExclusiveTaskScheduler">
            <summary>
            Schedules task for exclusive execution. The scheduling next task always cancels previous one.
            </summary>  
        </member>
        <member name="T:JetBrains.Common.Util.Tasks.Impl.ExecutionControllerProxy">
            <summary>
            The base class for various execution controller proxies.
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.Tasks.Impl.IHaveCancellationToken">
            <summary>
            Extension interface for <c>IExecutionController</c>.
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.Tasks.Impl.InstantTaskScheduler">
            <summary>
            Executes task instantly as it is scheduled.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.Impl.IPriorityTaskInternal.TryResume">
            <summary>
            Tries to resume task.
            </summary>
            <returns>Returns true if task is running and false otherwise.</returns>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.Impl.IPriorityTaskInternal.TryPause">
            <summary>
            Tries to pause task.
            </summary>
            <returns>Returns true if task is paused and false if it is still running.</returns>
        </member>
        <member name="T:JetBrains.Common.Util.Tasks.Impl.PerThreadTaskSchedulerInternal">
            <summary>
            The custom implementation of system <see cref="T:System.Threading.Tasks.TaskScheduler"/> which executes each task on personal thread.  
            </summary>
            <remarks>
            There is no task queue, for each enqueued task the personal thread is picked up
            (or created new if no idle pre-created threads). Normally, threads are re-used,
            and shut down only after max idle interval. 
            </remarks>
        </member>
        <member name="T:JetBrains.Common.Util.Tasks.Impl.PriorityTask`1">
            <summary>
            
            </summary>
            <remarks>
            State transitions:<br/>
              Frozen    -> Pending  /* if task has cancelled in Frozen state, then it is just removed from queue; no state update happens */<br/>
              Pending   -> Executing, Finished<br/>
              Executing -> Pausing, Waiting, Finished<br/>
              Pausing   -> Paused, Waiting, Executing, Finished<br/>
              Waiting   -> Paused, Finished<br/>
              Paused    -> Resuming, Finished<br/>
              Resuming  -> Executing, Paused, Finished<br/>
              Finished<br/>
            </remarks>
            <typeparam name="T"></typeparam>
        </member>
        <member name="T:JetBrains.Common.Util.Tasks.Impl.PriorityTaskScheduler">
            <summary>
            The implementation of <see cref="T:JetBrains.Common.Util.Tasks.IPriorityTaskScheduler"/>.
            </summary>
            <remarks>
            This is default scheduler used in dotMemory.<br/>
            <br/>
            KEY NOTES<br/>
            * Supports task pausing (via <c>IExecutionController.Yield()</c>), but be aware - thread isn't released.<br/>
            * Currently pause feature is disabled due to memory consumption reasons:v
              when paused task still retain all allocated memory,<br/>
              if multiple tasks are paused then running task might get OOM exception.<br/>
              To regulate memory consumption the <c>MemoryMonitor</c> is used.<br/>
            * Supports 'stop-the-world': can pause all running tasks (e.g. used when memory over-consumption detected).<br/>
            * Supports detailed progress reporting: <see cref="T:JetBrains.Common.Util.Tasks.Impl.TaskDetailedProgress"/>.<br/>
            </remarks>
        </member>
        <member name="T:JetBrains.Common.Util.Tasks.Impl.ProgressableTaskScheduler">
            <summary>
            The proxy scheduler which adds <see cref="T:JetBrains.Common.Util.Tasks.ICanReportTaskProgress"/> support to other scheduler.
            </summary>  
        </member>
        <member name="T:JetBrains.Common.Util.Tasks.Impl.ProgressAggregator">
            <summary>
            Aggregates progresses of group of tasks into single [0, 100] progress.
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.Tasks.Impl.ProgressCounter">
            <summary>
            Helper class which accumulates progress steps and push it forward only when threshold reached.
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.Tasks.Impl.SequentialTaskScheduler">
            <summary>
            Schedules tasks for sequential execution. The next scheduled task starts only when previous one has finished (with any reason - success, cancel, failure).
            </summary>  
        </member>
        <member name="T:JetBrains.Common.Util.Tasks.Impl.TaskAnnotation">
            <summary>
            
            </summary>
            <remarks>
            Legend:<br/>
              #n - integer identifier of task;<br/>
              ^n - hash code of cancellation token/source;<br/>
              $n - managed thread identifier;<br/>
            </remarks>
        </member>
        <member name="T:JetBrains.Common.Util.Tasks.Impl.TaskDetailedProgress">
            <summary>
            Provides facility to handle detailed task progress. 
            </summary>
            <remarks>
            Used to show any relevant progress when complex task with a lot of dependent tasks are running.<br/>
            The main issue with progress of complex task is just 1% of such task takes a lot of time and for user looks like app hanging.<br/>
            <br/>
            The detailed progress might include:<br/>
            * extended info like 'k objects of N processed'<br/>
            * percentage progress of attached sub-task which is most active currently<br/>
              (here active means updates progress often)<br/>
            <br/>
            This is progress listener part. The task reports extended progress via <see cref="T:JetBrains.Common.Util.Tasks.Impl.TaskOperationDetails"/>.
            </remarks>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.Impl.TaskInternalUtils.IsOperationCancelled(System.AggregateException)">
            <summary>
            Checks whether <c>AggregateException</c> contain one and only one <c>OperationCanceledException</c>.
            </summary>
            <remarks>
            NOTE. This method intentionally checks for single inner exception only.<br/>
            Example.<br/>
            If task <c>A</c> waits task <c>B</c> and <c>B</c> was cancelled then <c>B.Wait()</c> will throw <c>AggregateException</c> with inner <c>OperationCancelledException</c>.
            In turn, <c>A.Exception</c> will be <c>AggregateException</c> with inner <c>AggregateException</c> (from <c>B</c>) with inner <c>OperationCancelledException</c>.<br/>
            Such case treated as A has FAILED not cancelled!
            </remarks>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.Impl.TaskInternalUtils.TryUnwrapException(System.Threading.Tasks.Task)">
            <summary>
            Unwraps <c>AggregateException</c> if it contains single inner one and return it as is otherwise.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.Impl.TaskInternalUtils.TryStart(System.Threading.Tasks.Task)">
            <summary>
            Tries to start task. Returns true if started and false if task already cancelled.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.Impl.TaskInternalUtils.TryStart(System.Threading.Tasks.Task,System.Threading.Tasks.TaskScheduler)">
            <summary>
            Tries to start task. Returns true if started and false if task already cancelled.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.Impl.TaskInternalUtils.TryStart(JetBrains.Common.Util.Tasks.AsyncLifetime,System.Threading.Tasks.Task,System.Threading.Tasks.TaskScheduler)">
            <summary>
            Tries to start task. Returns true if started and false if task already cancelled.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.Impl.TaskInternalUtils.WhenAllCallbacks(System.Threading.Tasks.Task)">
            <summary>
            Returns task which finished when all callbacks which were subscribed at this moment are finished.
            </summary>
            <remarks>
            Works only on non-finished tasks! Used in tests.
            </remarks>
        </member>
        <member name="T:JetBrains.Common.Util.Tasks.Impl.TaskOperationDetails">
            <summary>
            The helper class which allows to report additional task operation progress details for long-running task. 
            </summary>
            <remarks>
            This is progress reporting part. The listener implemented via <see cref="T:JetBrains.Common.Util.Tasks.Impl.TaskDetailedProgress"/>.
            </remarks>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.Impl.TaskOperationDetails.Format(System.String,System.Int64,System.Int64)">
            <summary>
            Formats and reports additional progress details in form '... n of N items processed'. 
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.Impl.TaskOperationDetails.Set(System.String)">
            <summary>
            Sets operation name.
            </summary>
            <remarks>
            NOTE: The original operation name will be restored when progress advanced to next step.
            </remarks>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.Impl.TaskOperationDetails.OfCurrentTask">
            <summary>
            Returns instance of <c>TaskOperationDetails</c> bound to current task.
            If called outside of task execution context returns dummy instance which does nothing.
            </summary>
        </member>
        <member name="P:JetBrains.Common.Util.Tasks.Impl.TaskProgressMediator.ProgressChangedEvent.TaskId">
            <summary>
            Task id.
            </summary>
        </member>
        <member name="P:JetBrains.Common.Util.Tasks.Impl.TaskProgressMediator.ProgressChangedEvent.Progress">
            <summary>
            New progress value [0, 100].
            </summary>
        </member>
        <member name="P:JetBrains.Common.Util.Tasks.Impl.TaskProgressMediator.ProgressChangedEvent.Operation">
            <summary>
            New current operation. Can be null or empty.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.Impl.TaskProgressMediator.TrySubscribe(System.Int32,System.Action{JetBrains.Common.Util.Tasks.Impl.TaskProgressMediator.ProgressChangedEvent})">
            <summary>
            Tries to subscribe progress handler for task with given id.
            Returns true if specified task is able to report progress and false otherwise.
            </summary>
            <remarks>
            If subscribing is successful then <paramref name="handler"/> is invoked instantly with current Progress/Operation.<br/>
            <br/>
            It is guaranteed that <paramref name="handler"/> will not be invoked concurrently for given task, but it might be invoked on different threads.<br/>
            The <paramref name="handler"/> might be called with the same Progress/Operation values several times, but it is guaranteed that progress value will be ordered.<br/>
            <br/>
            The <paramref name="handler"/> will be automatically unsubscribed when task has finished.
            </remarks>
            <param name="taskId"></param>
            <param name="handler"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.Impl.TaskProgressMediator.Register(System.Threading.Tasks.Task)">
            <summary>
            Registers task as progressable.
            </summary>
            <remarks>
            The <paramref name="task"/> will be automatically unregistered when it has finished.
            </remarks>
            <param name="task"></param>
        </member>
        <member name="T:JetBrains.Common.Util.Tasks.Impl.ThreadPoolTaskScheduler">
            <summary>
            Schedules task for non-limited parallel execution.
            </summary>  
        </member>
        <member name="T:JetBrains.Common.Util.Tasks.IPriorityTaskGroup">
            <summary>
            Group of tasks.
            </summary>
            <remarks>
            Tasks in group are running concurrently with respect to allowed concurrency level.<br/>
            <br/>
            The group has priority: foreground or background. 
            Scheduler tries to run as many tasks from foreground group as possible. 
            To achieve this it may pause tasks from other groups.<br/>
            <br/>
            If foreground group contains less tasks than allowed concurrency level, 
            tasks from background groups are executed. Which particular background 
            tasks will be executed is implementation specific.
            </remarks>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.IPriorityTaskGroup.BringToForeground">
            <summary>
            Changes group priority to foreground and re-schedules tasks if needed.
            </summary>
            <remarks>
            The only one group might have foreground priority, others automatically sends to background.
            </remarks>
        </member>
        <member name="T:JetBrains.Common.Util.Tasks.IPriorityTaskScheduler">
            <summary>
            Schedules grouped tasks with ability to change group priority (foreground/background) during task execution.
            Also limits concurrency level - only specified number of tasks might run concurrently.
            </summary>
            <remarks>
            The supposed usage is in view models:<br/>
            * view model creates task group and schedules all its tasks in this group;<br/>
            * when view model is activated then appropriate group brings to foreground;<br/>
            * as result - tasks related to vm which user looks over are executed first.<br/>
            </remarks>
        </member>
        <member name="P:JetBrains.Common.Util.Tasks.IPriorityTaskScheduler.ConcurrencyLevel">
            <summary>
            Gets or sets allowed concurrency level.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.IPriorityTaskScheduler.CreateGroup(JetBrains.Common.Util.Tasks.AsyncLifetime)">
            <summary>
            Creates tasks group bound to specified lifetime.
            </summary>
            <param name="lifetime">When is terminated then all scheduled tasks are signaled to cancel and then awaited to be really finished.</param>
        </member>
        <member name="T:JetBrains.Common.Util.Tasks.ISequentialTaskScheduler">
            <summary>
            Schedules tasks for sequential execution. The next scheduled task starts only when previous one has finished (with any reason - success, cancel, failure).
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.ISequentialTaskScheduler.Reset(System.Boolean)">
            <summary>
            Cancels currently running task and removes all pending tasks.
            The next scheduled task starts only when currently running one has finished.
            </summary>
            <remarks>
            If <paramref name="awaitFinished"/> is <c>false</c> then method returns instantly,
            otherwise it waits for running task (if any) to finish.<br/>
            <br/>
            The implementation should use termination timeout from associated <see cref="T:JetBrains.Common.Util.Tasks.AsyncLifetime"/> and
            throw <see cref="T:System.TimeoutException"/> if await timed out. 
            </remarks>
            <param name="awaitFinished">whether await currently running task or not (default: false)</param>    
        </member>
        <member name="T:JetBrains.Common.Util.Tasks.ITaskProgressListener">
            <summary>
            Provides events to handle task(s) progress.
            </summary>  
            <remarks>
            See <see cref="M:JetBrains.Common.Util.Tasks.ICanReportTaskProgress.Subscribe(JetBrains.Common.Util.Tasks.AsyncLifetime,JetBrains.Common.Util.Tasks.ITaskProgressListener)"/>.
            </remarks>
        </member>
        <member name="T:JetBrains.Common.Util.Tasks.IWaitable">
            <summary>
            Generic waitable object.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.IWaitable.TryContinue(System.Threading.CancellationToken)">
            <summary>
            Tries to continue without actual wait.<br/>
            Returns <c>true</c> if underlying object doesn't require waiting in its current state.<br/>
            Rethrows exception if underlying object is in failed state.<br/>
            Returns <c>false</c> if underlying object requires waiting.
            </summary>    
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.IWaitable.Wait(System.TimeSpan,System.Threading.CancellationToken)">
            <summary>
            Waits for underlying object given amount of time.<br/>
            If <paramref name="timeout"/> reached then <see cref="T:System.TimeoutException"/> is thrown.<br/>
            If <paramref name="cancellationToken"/> activated then <see cref="T:System.OperationCanceledException"/> is thrown.<br/>
            If underlying object cancelled then <see cref="T:System.OperationCanceledException"/> is thrown.
            </summary>    
        </member>
        <member name="T:JetBrains.Common.Util.Tasks.ParallelExecutionGuard">
            <summary>
            The helper class which provides facility to ensure all sub-task(s) finished on leaving some scope.<br/>
            For meaningful example, see <c>QuickSort</c> for <c>VxArray</c> and DMRY-8992
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.ParallelExecutionGuard.Track(System.Threading.Tasks.Task)">
            <summary>
            Adds task to be tracked by this guard.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.ParallelExecutionGuard.Await(JetBrains.Common.Util.IExecutionController)">
            <summary>
            Waits for all tracked tasks using <c>IExecutionController</c>.<br/>
            Throws exception if at least one task failed.
            </summary>
            <seealso cref="M:JetBrains.Common.Util.IExecutionController.Wait(JetBrains.Common.Util.Tasks.IWaitable,System.TimeSpan)"/>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.ParallelExecutionGuard.System#IDisposable#Dispose">
            <summary>
            Ensures all tracked tasks actually finished on leaving the scope.<br/>
            Doesn't re-throw any exception.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.StaThreadDispatcher.GetCurrent">
            <summary>
            Returns existing or creates new dispatcher for current thread. If thread isn't STA thread then exception is thrown.
            </summary>    
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.StaThreadDispatcher.TryGetCurrent">
            <summary>
            Returns existing or creates new dispatcher for current thread. If thread isn't STA thread then <c>null</c> is returned.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.StaThreadDispatcher.Equals(System.Object)">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.StaThreadDispatcher.GetHashCode">
            <inheritdoc />
        </member>
        <member name="T:JetBrains.Common.Util.Tasks.TaskCallbackExtension">
            <summary>
            Provides extension methods to specify task callbacks (success, cancel, failure, finish).
            </summary>
            <remarks>
            The callback action invoked on the same thread that causes the task to transition into its final state. 
            If the task is already finished when OnXxx() is called, the action will be invoked on the thread that calls OnXxx().<br/>
            <br/>
            If callbacks are subscribed before task start then they will be invoked sequentially in order of subscription. 
            Otherwise callbacks might be called in any order (possible concurrently - some from task thread, others from subscriber thread).
            If you need several callbacks in predictable order consider using <see cref="M:JetBrains.Common.Util.Tasks.TaskCallbackExtension.ContinueWith``1(System.Threading.Tasks.Task{``0},JetBrains.Common.Util.Tasks.AsyncLifetime,System.Action{System.Threading.Tasks.Task{``0}})"/>.<br/>
            <br/>
            Be aware, the <see cref="M:JetBrains.Common.Util.Tasks.TaskWaitExtension.AwaitFinished(System.Threading.Tasks.Task,System.TimeSpan)"/> (and any of Task.Wait) awaits task action only. 
            This means callback action might be invoked after AwaitFinished returned.<br/>
            <br/>
            If callback action throws an exception then it is logged via <see cref="M:JetBrains.Util.Logging.Logger.LogException(System.Exception)"/>.<br/>
            <br/>
            The lifetimed overloads of OnXxx() have the following behavior:<br/>
              * if lifetime already terminated when OnXxx() called then callback just ignored;<br/>
              * if lifetime is terminated before callback action has been invoked then action will never be invoked;<br/>
              * if lifetime is being terminated when other thread already inside a callback action then Terminate() 
            will wait while action has completed with timeout specified for async-lifetime;<br/>
            <br/>
            If you need to bind something to lifetime inside callback action you should use <see cref="T:JetBrains.Common.Util.Tasks.AsyncLifetime"/>.Instance, it will be terminated only after all tracked async activity have finished.<br/>
            <br/>
            The OnXxxSynchronized() invoke callback action via captured <c>Dispatcher.</c><see cref="M:JetBrains.Common.Util.Tasks.StaThreadDispatcher.GetCurrent"/>. 
            Dispatcher is captured at the moment of OnXxxSynchronized() call, so it is must be called on UI thread only.<br/>
            <br/>
            The lifetimed overloads of OnXxxSynchronized() act the same way as non-synchronized ones, i.e. callback action either never been invoked or awaited till completion.
            </remarks>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.TaskCallbackExtension.OnSuccess(System.Threading.Tasks.Task,System.Action)">
            <summary>
            Specifies task succeeded callback.
            </summary>
            <remarks>
            See generic OnXxx() remarks on <see cref="T:JetBrains.Common.Util.Tasks.TaskCallbackExtension"/>.
            </remarks>    
            <returns>@this</returns>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.TaskCallbackExtension.OnSuccess(System.Threading.Tasks.Task,JetBrains.Common.Util.Tasks.AsyncLifetime,System.Action)">
            /// <summary>
            Specifies task succeeded callback restricted by <paramref name="lifetime"/>.
            </summary>
            <remarks>
            See generic OnXxx() remarks on <see cref="T:JetBrains.Common.Util.Tasks.TaskCallbackExtension"/>.
            </remarks>        
            <returns>@this</returns>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.TaskCallbackExtension.OnSuccess``1(System.Threading.Tasks.Task{``0},System.Action{``0})">
            <summary>
            Specifies task succeeded callback.
            </summary>
            <remarks>
            See generic OnXxx() remarks on <see cref="T:JetBrains.Common.Util.Tasks.TaskCallbackExtension"/>.
            </remarks>    
            <returns>@this</returns>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.TaskCallbackExtension.OnSuccess``1(System.Threading.Tasks.Task{``0},JetBrains.Common.Util.Tasks.AsyncLifetime,System.Action{``0})">
            <summary>
            Specifies task succeeded callback restricted by <paramref name="lifetime"/>.
            </summary>
            <remarks>    
            See generic OnXxx() remarks on <see cref="T:JetBrains.Common.Util.Tasks.TaskCallbackExtension"/>.
            </remarks>        
            <returns>@this</returns>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.TaskCallbackExtension.OnSuccessSynchronized(System.Threading.Tasks.Task,System.Action)">
            <summary>
            Specifies task succeeded callback which will run on captured <c>Dispatcher.</c><see cref="M:JetBrains.Common.Util.Tasks.StaThreadDispatcher.GetCurrent"/>.
            </summary>
            <remarks>
            See generic OnXxx() remarks on <see cref="T:JetBrains.Common.Util.Tasks.TaskCallbackExtension"/>.
            </remarks>    
            <returns>@this</returns>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.TaskCallbackExtension.OnSuccessSynchronized(System.Threading.Tasks.Task,JetBrains.Common.Util.Tasks.AsyncLifetime,System.Action)">
            <summary>
            Specifies task succeeded callback which will run on captured <c>Dispatcher.</c><see cref="M:JetBrains.Common.Util.Tasks.StaThreadDispatcher.GetCurrent"/> and restricted be <paramref name="lifetime"/>.
            </summary>
            <remarks>
            See generic OnXxx() remarks on <see cref="T:JetBrains.Common.Util.Tasks.TaskCallbackExtension"/>.
            </remarks>    
            <returns>@this</returns>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.TaskCallbackExtension.OnSuccessSynchronized``1(System.Threading.Tasks.Task{``0},System.Action{``0})">
            <summary>
            Specifies task succeeded callback which will run on captured <c>Dispatcher.</c><see cref="M:JetBrains.Common.Util.Tasks.StaThreadDispatcher.GetCurrent"/>.
            </summary>
            <remarks>
            See generic OnXxx() remarks on <see cref="T:JetBrains.Common.Util.Tasks.TaskCallbackExtension"/>.
            </remarks>    
            <returns>@this</returns>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.TaskCallbackExtension.OnSuccessSynchronized``1(System.Threading.Tasks.Task{``0},JetBrains.Common.Util.Tasks.AsyncLifetime,System.Action{``0})">
            <summary>
            Specifies task succeeded callback which will run on captured <c>Dispatcher.</c><see cref="M:JetBrains.Common.Util.Tasks.StaThreadDispatcher.GetCurrent"/> and restricted be <paramref name="lifetime"/>.
            </summary>
            <remarks>
            See generic OnXxx() remarks on <see cref="T:JetBrains.Common.Util.Tasks.TaskCallbackExtension"/>.
            </remarks>    
            <returns>@this</returns>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.TaskCallbackExtension.OnSuccessSynchronized(System.Threading.Tasks.Task,JetBrains.Common.Util.Tasks.IStaThreadDispatcher,System.Action)">
            <summary>
            Specifies task succeeded callback which will run on provided <paramref name="dispatcher"/>.
            </summary>
            <remarks>
            See generic OnXxx() remarks on <see cref="T:JetBrains.Common.Util.Tasks.TaskCallbackExtension"/>.
            </remarks>    
            <returns>@this</returns>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.TaskCallbackExtension.OnSuccessSynchronized(System.Threading.Tasks.Task,JetBrains.Common.Util.Tasks.IStaThreadDispatcher,JetBrains.Common.Util.Tasks.AsyncLifetime,System.Action)">
            <summary>
            Specifies task succeeded callback which will run on provided <paramref name="dispatcher"/> and restricted be <paramref name="lifetime"/>.
            </summary>
            <remarks>
            See generic OnXxx() remarks on <see cref="T:JetBrains.Common.Util.Tasks.TaskCallbackExtension"/>.
            </remarks>    
            <returns>@this</returns>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.TaskCallbackExtension.OnSuccessSynchronized``1(System.Threading.Tasks.Task{``0},JetBrains.Common.Util.Tasks.IStaThreadDispatcher,System.Action{``0})">
            <summary>
            Specifies task succeeded callback which will run on provided <paramref name="dispatcher"/>.
            </summary>
            <remarks>
            See generic OnXxx() remarks on <see cref="T:JetBrains.Common.Util.Tasks.TaskCallbackExtension"/>.
            </remarks>    
            <returns>@this</returns>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.TaskCallbackExtension.OnSuccessSynchronized``1(System.Threading.Tasks.Task{``0},JetBrains.Common.Util.Tasks.IStaThreadDispatcher,JetBrains.Common.Util.Tasks.AsyncLifetime,System.Action{``0})">
            <summary>
            Specifies task succeeded callback which will run on provided <paramref name="dispatcher"/> and restricted be <paramref name="lifetime"/>.
            </summary>
            <remarks>
            See generic OnXxx() remarks on <see cref="T:JetBrains.Common.Util.Tasks.TaskCallbackExtension"/>.
            </remarks>    
            <returns>@this</returns>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.TaskCallbackExtension.OnFinish(System.Threading.Tasks.Task,System.Action)">
            <summary>
            Specifies task finished (with any reason) callback.
            </summary>
            <remarks>
            See generic OnXxx() remarks on <see cref="T:JetBrains.Common.Util.Tasks.TaskCallbackExtension"/>.
            </remarks>
            <returns>@this</returns>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.TaskCallbackExtension.OnFinish(System.Threading.Tasks.Task,JetBrains.Common.Util.Tasks.AsyncLifetime,System.Action)">
            <summary>
            Specifies task finished (with any reason) callback restricted by lifetime.
            </summary>
            <remarks>
            See generic OnXxx() remarks on <see cref="T:JetBrains.Common.Util.Tasks.TaskCallbackExtension"/>.
            </remarks>
            <returns>@this</returns>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.TaskCallbackExtension.OnFinishSynchronized(System.Threading.Tasks.Task,System.Action)">
            <summary>
            Specifies task finished (with any reason) callback which will run on captured <c>Dispatcher.</c><see cref="M:JetBrains.Common.Util.Tasks.StaThreadDispatcher.GetCurrent"/>.
            </summary>
            <remarks>
            See generic OnXxx() remarks on <see cref="T:JetBrains.Common.Util.Tasks.TaskCallbackExtension"/>.
            </remarks>    
            <returns>@this</returns>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.TaskCallbackExtension.OnFinishSynchronized(System.Threading.Tasks.Task,JetBrains.Common.Util.Tasks.AsyncLifetime,System.Action)">
            <summary>
            Specifies task finished (with any reason) callback which will run on captured <c>Dispatcher.</c><see cref="M:JetBrains.Common.Util.Tasks.StaThreadDispatcher.GetCurrent"/> and restricted be <paramref name="lifetime"/>.
            </summary>
            <remarks>
            See generic OnXxx() remarks on <see cref="T:JetBrains.Common.Util.Tasks.TaskCallbackExtension"/>.
            </remarks>    
            <returns>@this</returns>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.TaskCallbackExtension.OnFinishSynchronized(System.Threading.Tasks.Task,JetBrains.Common.Util.Tasks.IStaThreadDispatcher,System.Action)">
            <summary>
            Specifies task finished (with any reason) callback which will run on provided <paramref name="dispatcher"/>.
            </summary>
            <remarks>
            See generic OnXxx() remarks on <see cref="T:JetBrains.Common.Util.Tasks.TaskCallbackExtension"/>.
            </remarks>    
            <returns>@this</returns>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.TaskCallbackExtension.OnFinishSynchronized(System.Threading.Tasks.Task,JetBrains.Common.Util.Tasks.IStaThreadDispatcher,JetBrains.Common.Util.Tasks.AsyncLifetime,System.Action)">
            <summary>
            Specifies task finished (with any reason) callback which will run on provided <paramref name="dispatcher"/> and restricted be <paramref name="lifetime"/>.
            </summary>
            <remarks>
            See generic OnXxx() remarks on <see cref="T:JetBrains.Common.Util.Tasks.TaskCallbackExtension"/>.
            </remarks>
            <returns>@this</returns>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.TaskCallbackExtension.OnFailure(System.Threading.Tasks.Task,System.Action{System.Exception})">
            <summary>
            Specifies task failed callback. The task is failed when its action threw an exception excluding <see cref="T:System.OperationCanceledException"/>.
            </summary>
            <remarks>
            Be aware, despite of OnFailure callback exception will be logged via <c>Logger.LogException</c> in any way.<br/>
            <br/>
            See generic OnXxx() remarks on <see cref="T:JetBrains.Common.Util.Tasks.TaskCallbackExtension"/>.
            </remarks>
            <returns>@this</returns>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.TaskCallbackExtension.OnFailure(System.Threading.Tasks.Task,JetBrains.Common.Util.Tasks.AsyncLifetime,System.Action{System.Exception})">
            <summary>
            Specifies task failed callback restricted by lifetime.
            </summary>
            <remarks>    
            See remarks for <see cref="M:JetBrains.Common.Util.Tasks.TaskCallbackExtension.OnFailure(System.Threading.Tasks.Task,System.Action{System.Exception})"/>.<br/>
            See generic OnXxx() remarks on <see cref="T:JetBrains.Common.Util.Tasks.TaskCallbackExtension"/>.
            </remarks>    
            <returns>@this</returns>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.TaskCallbackExtension.OnCancel(System.Threading.Tasks.Task,System.Action)">
            <summary>
            Specifies task cancelled callback. The task is cancelled when its cancellation token activated or its action threw an <see cref="T:System.OperationCanceledException"/>.
            </summary>
            <remarks>
            See generic OnXxx() remarks on <see cref="T:JetBrains.Common.Util.Tasks.TaskCallbackExtension"/>.
            </remarks>    
            <returns>@this</returns>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.TaskCallbackExtension.OnCancel(System.Threading.Tasks.Task,JetBrains.Common.Util.Tasks.AsyncLifetime,System.Action)">
            <summary>
            Specifies task cancelled callback restricted by lifetime.
            </summary>
            <remarks>
            See remarks for <see cref="M:JetBrains.Common.Util.Tasks.TaskCallbackExtension.OnCancel(System.Threading.Tasks.Task,System.Action)"/>.<br/>
            See generic OnXxx() remarks on <see cref="T:JetBrains.Common.Util.Tasks.TaskCallbackExtension"/>.
            </remarks>    
            <returns>@this</returns>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.TaskCallbackExtension.ContinueWith``1(System.Threading.Tasks.Task{``0},JetBrains.Common.Util.Tasks.AsyncLifetime,System.Action{System.Threading.Tasks.Task{``0}})">
            <summary>
            Specifies task any continuation callback restricted by <paramref name="lifetime"/>.
            </summary>
            <remarks>    
            See generic OnXxx() remarks on <see cref="T:JetBrains.Common.Util.Tasks.TaskCallbackExtension"/>.
            </remarks>        
            <returns>@this</returns>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.TaskCallbackExtension.OnFailureLogException(System.Threading.Tasks.Task)">
            <summary>
            Specifies fault continuation which will log task exception via <c>Logger.LogException</c> excluding a single <c>OperationCancelledException</c>.
            </summary>
            <remarks>
            See remarks for <see cref="M:JetBrains.Common.Util.Tasks.Impl.TaskInternalUtils.IsOperationCancelled(System.AggregateException)"/>.
            </remarks>    
            <returns>@this</returns>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.TaskCallbackExtension.OnFailureLogException``1(System.Threading.Tasks.Task{``0})">
            <summary>
            Specifies fault continuation which will log task exception via <c>Logger.LogException</c> excluding a single <c>OperationCancelledException</c>.
            </summary>
            <remarks>
            See remarks for <see cref="M:JetBrains.Common.Util.Tasks.Impl.TaskInternalUtils.IsOperationCancelled(System.AggregateException)"/>.
            </remarks>    
            <returns>@this</returns>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.TaskStatusExtension.IsSucceededEx(System.Threading.Tasks.Task)">
            <summary>
            Returns true if task successfully finished.
            </summary>
            <remarks>
            It is identical to Task.<see cref="!:Task.IsRanToCompletion"/>, introduced just for unified style.
            </remarks>
            <seealso cref="M:JetBrains.Common.Util.Tasks.TaskStatusExtension.IsCancelledEx(System.Threading.Tasks.Task)"/>
            <seealso cref="M:JetBrains.Common.Util.Tasks.TaskStatusExtension.IsFailedEx(System.Threading.Tasks.Task)"/>
            <param name="task"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.TaskStatusExtension.IsCancelledEx(System.Threading.Tasks.Task)">
            <summary>
            Returns true if task was cancelled eigther via cancellation token or via throwing OperationCancelledException.
            </summary>
            <remarks>
            It differs from Task.<see cref="P:System.Threading.Tasks.Task.IsCanceled"/> which takes in account only cancellation token.
            </remarks>
            <param name="task"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.TaskStatusExtension.IsFailedEx(System.Threading.Tasks.Task)">
            <summary>
            Returns true if task failed due to exception excluding OperationCancelledException.
            </summary>
            <remarks>
            It differs from Task.<see cref="P:System.Threading.Tasks.Task.IsFaulted"/> which treats OperationCancelledException as faulted.
            </remarks>
            <param name="task"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.TaskStatusExtension.IsFinishedEx(System.Threading.Tasks.Task)">
            <summary>
            Returns true if task finished with any reason.
            </summary>    
            <param name="task"></param>
            <returns></returns>
        </member>
        <member name="T:JetBrains.Common.Util.Tasks.TaskSyntaxSugar">
            <summary>
            'Syntax sugar' stuff for some common parallel processing patterns.
            </summary>
            <example>
            var result = controller
              .Fork(DoA, inputA, DoB, inputB)
              .Join(DoC);
            </example>
            
            <example>
            var result = controller
              .ParallelSplit(largeList)
              .Process(DoProcessChunk)
              .Merge(DoMerge);
            </example>
            
            <example>
            var result = controller
              .ParallelForEach(largeList)
              .Process(DoProcessItem);
            </example>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.TaskWaitExtension.Join(System.Threading.Tasks.Task,System.TimeSpan)">
            <summary>
            Joins with another task.
            </summary>
            <remarks>
            If <paramref name="timeout"/> reached then <see cref="T:System.TimeoutException"/> is thrown.<br/>    
            If task FAILED or CANCELLED then <see cref="T:System.AggregateException"/> produced by this task is re-thrown.
            </remarks>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.TaskWaitExtension.Join(System.Threading.Tasks.Task,System.TimeSpan,System.Threading.CancellationToken)">
            <summary>
            Joins with another task with cancellation support.
            </summary>
            <remarks>
            If <paramref name="timeout"/> reached then <see cref="T:System.TimeoutException"/> is thrown.<br/>    
            If <paramref name="cancellationToken"/> is activated then <see cref="T:System.OperationCanceledException"/> is thrown.<br/>
            If task FAILED or CANCELLED then <see cref="T:System.AggregateException"/> produced by this task is re-thrown.<br/>
            <br/>
            IMPORTANT! If <paramref name="this"/> task bound to the same <paramref name="cancellationToken"/> 
            (more precisely to the token of the same source) then Join() throws OperationCancelledException on cancellation request.
            But if awaited task bound to another token (either linked to <paramref name="cancellationToken"/> or not) then
            Join() might throw either OperationCancelledException or AggregateException 
            (see <c>TaskWaitExtensionTest.Join_MightRethrowAggregateExceptionIfCancellationTokensDifferent</c> test for example).
            </remarks>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.TaskWaitExtension.Join``1(System.Threading.Tasks.Task{``0},System.TimeSpan)">
            <summary>
            Joins with another task.
            </summary>    
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.TaskWaitExtension.Join``1(System.Threading.Tasks.Task{``0},System.TimeSpan,System.Threading.CancellationToken)">
            <summary>
            Joins with another task with cancellation support.
            </summary>    
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.TaskWaitExtension.JoinOrThrowCancelled(System.Threading.Tasks.Task,System.TimeSpan)">
            <summary>
            Joins with another task or throws <c>OperationCanceledException</c> if task has cancelled. 
            </summary>
            <remarks>
            In general case, when awaited task has cancelled it doesn't necessary mean that awaiting one
            should be cancelled too. So implementation of <see cref="M:JetBrains.Common.Util.Tasks.TaskWaitExtension.Join(System.Threading.Tasks.Task,System.TimeSpan,System.Threading.CancellationToken)"/> throws
            <c>OperationCanceledException</c> when and only when cancellation token is activated also.<br/>
            <br/>
            For cases when propagation of <c>OperationCanceledException</c> is desired the <c>JoinOrThrowOCE</c>
            should be used.
            </remarks>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.TaskWaitExtension.JoinOrThrowCancelled``1(System.Threading.Tasks.Task{``0},System.TimeSpan)">
            <summary>
            Joins with another task or throws <c>OperationCanceledException</c> if task has cancelled. 
            </summary>
            <remarks>
            See <see cref="M:JetBrains.Common.Util.Tasks.TaskWaitExtension.JoinOrThrowCancelled(System.Threading.Tasks.Task,System.TimeSpan)"/>
            </remarks>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.TaskWaitExtension.TryAwaitFinished(System.Threading.Tasks.Task,System.TimeSpan)">
            <summary>
            Waits for task finished by any reason. Returns true if task finished in specified time and false otherwise.
            Any exception(s) from task aren't re-thrown (it is supposed they are already handled and logged).
            </summary>
            <remarks>
            If you need await any/all of set of tasks then use <c>Task.WhenAll(...).TryAwaitFinished(...)</c> or 
            <c>Task.WhenAny(...).TryAwaitFinished(...)</c>
            </remarks>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.TaskWaitExtension.AwaitFinished(System.Threading.Tasks.Task,System.TimeSpan)">
            <summary>
            Waits for task finished by any reason. The only exception possibly thrown is <see cref="T:System.TimeoutException"/>, 
            any exception(s) from task aren't re-thrown (it is supposed they are already handled and logged).
            </summary>
            <remarks>
            If you need await any/all of set of tasks then use <c>Task.WhenAll(...).AwaitFinished(...)</c> or 
            <c>Task.WhenAny(...).AwaitFinished(...)</c>
            </remarks>
        </member>
        <member name="M:JetBrains.Common.Util.Tasks.Waitable.From(System.Threading.WaitHandle)">
            <summary>
            Intentionally not implemented, because WaitHandle does not support CancellationToken.
            </summary>        
        </member>
        <member name="T:JetBrains.Common.Util.Tasks.XTask">
            <summary>
            Provides <c>Run</c> method which is analogue of system <see cref="M:System.Threading.Tasks.Task.Run(System.Action)"/>
            but uses <see cref="T:JetBrains.Common.Util.Tasks.Impl.PerThreadTaskSchedulerInternal"/> instead of default one.
            Also it lifetime-friendly. 
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.IExecutionController">
            <summary>
            Controls execution of current task.
            </summary>
            <remarks>
            All methods must be called on task thread only. 
            </remarks>
        </member>
        <member name="M:JetBrains.Common.Util.IExecutionController.StartProgress(System.Int32,System.String)">
            <summary>
            Starts operation progress with specified number of steps. Returns CURRENT instance of <c>IExecutionController</c>.
            </summary>
            <example>        
            <code>
            using (controller.StartProgress(2))
            {
              DoSubOperationA(controller.CreateSubOperation(1));
              DoSubOperationB(controller.CreateSubOperation(1));
            }
            </code>
            </example>
            
            <example>        
            <code>
            using (controller.StartProgress(100))
            {
              for (var i = 0; i &lt; 100; i++)
              {
                // do something useful
                controller.YieldAndAdvanceProgress();
              }
            }
            </code>
            </example>
        </member>
        <member name="M:JetBrains.Common.Util.IExecutionController.CreateSubOperation(System.Int32)">
            <summary>
            Delegates some of progress steps to sub-operation executed synchronously.
            Returns NEW instance of <c>IExecutionController</c>.
            See <see cref="M:JetBrains.Common.Util.IExecutionController.StartProgress(System.Int32,System.String)"/> for examples.
            </summary>    
        </member>
        <member name="M:JetBrains.Common.Util.IExecutionController.AttachSubOperation(System.Threading.Tasks.Task,System.Int32)">
            <summary>
            Delegates some of progress steps to sub-operation executed in another task. Returns CURRENT instance of <c>IExecutionController</c>.
            </summary>
            <remarks>
            The link between task is set up and attached <paramref name="task"/> starts report its progress to current task. 
            The attached task might be obtained via <see cref="M:JetBrains.Common.Util.IExecutionController.Fork``1(System.Func{JetBrains.Common.Util.IExecutionController,``0})"/> of current execution controller or via <see cref="M:JetBrains.Common.Util.Tasks.ICanScheduleTask.Schedule``1(System.Func{JetBrains.Common.Util.IExecutionController,``0})"/> of any other scheduler.<br/>
            <br/>
            If current execution controller is disposed before attached <paramref name="task"/> has finished then 'Progress is out of range' assertion is possible.<br/>
            <br/>
            Some schedulers might perform additional actions on <c>AttachSubOperation</c>, e.g. <see cref="T:JetBrains.Common.Util.Tasks.IPriorityTaskScheduler"/> adds <paramref name="task"/> into current task's group to sync-up their priorities.
            </remarks>
            <example>
            <code>
            using (controller.StartProgress(2))
            {
              var subTaskA = controller.Fork(DoAsyncOpA);
              var subTaskB = controller.Fork(DoAsyncOpB);
            
              controller
                .AttachSubOperation(subTaskA, 1)
                .AttachSubOperation(subTaskB, 1)
                .Wait(taskA, timeout)
                .Wait(taskB, timeout);
            }
            </code>
            </example>
        </member>
        <member name="M:JetBrains.Common.Util.IExecutionController.AdvanceProgress">
            <summary>
            Advances progress on one step.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.IExecutionController.Yield">
            <summary>
            Yields task. Execution might be cancelled or paused at this point.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.IExecutionController.Wait(JetBrains.Common.Util.Tasks.IWaitable,System.TimeSpan)">
            <summary>
            Generic wait. Waits another task to finish, event to fire, and so on.
            </summary>
            <remarks>
            If <paramref name="timeout"/> reached then <see cref="T:System.TimeoutException"/> is thrown.<br/>
            <br/>
            The most implementations supports cancellation via CancellationToken, so even infinite wait can be aborted.<br/>
            <br/>
            Also this method allows scheduler which executes current task correctly re-schedule work while current task is in waiting state.
            </remarks>
        </member>
        <member name="M:JetBrains.Common.Util.IExecutionController.Fork``1(System.Func{JetBrains.Common.Util.IExecutionController,``0})">
            <summary>
            Schedules new task via the same scheduler which executes current task.
            </summary>
            <remarks>
            If current task is cancelled then forked one is cancelled too.<br/>
            <br/>
            All forked tasks must be awaited before current controller instance is being disposed, otherwise 'Progress is out of range' assertion is possible.
            Anyway when current task action completes then all non-finished forks will be forcibly cancelled.<br/>
            If you need independent sub-task you should schedule it directly via scheduler.
            </remarks>
        </member>
        <member name="P:JetBrains.Common.Util.IExecutionController.RecommendedParallelizmDegree">
            <summary>
            Number of parallel tasks which associated task scheduler able to run effectively. 
            </summary>
            <remarks>
            This property used along with <see cref="M:JetBrains.Common.Util.IExecutionController.Fork``1(System.Func{JetBrains.Common.Util.IExecutionController,``0})"/> by <see cref="M:JetBrains.Common.Util.Tasks.ExecutionControllerParallelEx.Parallelize(JetBrains.Common.Util.IExecutionController,System.Int32)"/>
            extension to provide effective parallel implementations of commonly used algorithms.
            </remarks>
        </member>
        <member name="M:JetBrains.Common.Util.ExecutionController2Extension.YieldAndProgress(JetBrains.Common.Util.IExecutionController)">
            <summary>
            Combines <see cref="M:JetBrains.Common.Util.IExecutionController.AdvanceProgress"/> and <see cref="M:JetBrains.Common.Util.IExecutionController.Yield"/> in the single call.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.ExecutionController2Extension.Fork(JetBrains.Common.Util.IExecutionController,System.Action{JetBrains.Common.Util.IExecutionController})">
            <summary>
            Schedules new task via the same scheduler which executes current task.
            </summary>
            <remarks>
            See <see cref="M:JetBrains.Common.Util.IExecutionController.Fork``1(System.Func{JetBrains.Common.Util.IExecutionController,``0})"/>
            </remarks>
        </member>
        <member name="M:JetBrains.Common.Util.ExecutionController2Extension.ForkTo``1(JetBrains.Common.Util.IExecutionController,JetBrains.Common.Util.Tasks.ICanScheduleTask,System.Func{JetBrains.Common.Util.IExecutionController,``0})">
            <summary>
            Schedules new task via the <paramref name="otherScheduler"/> with lifetime bound to <paramref name="this"/> execution controller.
            </summary>
            <remarks>
            Respects all <see cref="M:JetBrains.Common.Util.IExecutionController.Fork``1(System.Func{JetBrains.Common.Util.IExecutionController,``0})"/> semantic.
            </remarks>
        </member>
        <member name="M:JetBrains.Common.Util.ExecutionController2Extension.ForkTo(JetBrains.Common.Util.IExecutionController,JetBrains.Common.Util.Tasks.ICanScheduleTask,System.Action{JetBrains.Common.Util.IExecutionController})">
            <summary>
            Schedules new task via the <paramref name="otherScheduler"/> with lifetime bound to <paramref name="this"/> execution controller.
            </summary>
            <remarks>
            Respects all <see cref="M:JetBrains.Common.Util.IExecutionController.Fork``1(System.Func{JetBrains.Common.Util.IExecutionController,``0})"/> semantic.
            </remarks>
        </member>
        <member name="M:JetBrains.Common.Util.ExecutionController2Extension.Wait(JetBrains.Common.Util.IExecutionController,System.Threading.Tasks.Task,System.TimeSpan)">
            <summary>
            Waits for another task.
            </summary>
            <remarks>
            If awaited task is FAILED or CANCELLED then <c>AggregateException</c> is thrown.<br/>
            See also remarks for <see cref="M:JetBrains.Common.Util.IExecutionController.Wait(JetBrains.Common.Util.Tasks.IWaitable,System.TimeSpan)"/>
            </remarks>    
        </member>
        <member name="M:JetBrains.Common.Util.ExecutionController2Extension.WaitAll(JetBrains.Common.Util.IExecutionController,System.TimeSpan,System.Threading.Tasks.Task[])">
            <summary>
            Waits for all specified tasks.
            </summary>        
        </member>
        <member name="M:JetBrains.Common.Util.ExecutionController2Extension.Wait``1(JetBrains.Common.Util.IExecutionController,System.Threading.Tasks.Task{``0},System.TimeSpan)">
            <summary>
            Waits for another task with result.
            </summary>
            <remarks>
            See remarks for <see cref="M:JetBrains.Common.Util.IExecutionController.Wait(JetBrains.Common.Util.Tasks.IWaitable,System.TimeSpan)"/>
            </remarks>    
        </member>
        <member name="M:JetBrains.Common.Util.ExecutionController2Extension.Wait(JetBrains.Common.Util.IExecutionController,System.Threading.ManualResetEventSlim,System.TimeSpan)">
            <summary>
            Waits for <see cref="T:System.Threading.ManualResetEventSlim"/> event.
            </summary>
            <remarks>
            See remarks for <see cref="M:JetBrains.Common.Util.IExecutionController.Wait(JetBrains.Common.Util.Tasks.IWaitable,System.TimeSpan)"/>
            </remarks>    
        </member>
        <member name="M:JetBrains.Common.Util.ExecutionController2Extension.Wait``1(JetBrains.Common.Util.IExecutionController,System.Func{``0},System.TimeSpan)">
            <summary>
            Waits in interruptable manner for non-interruptable action.
            </summary>
            <remarks>
            The action is executed asynchronously on thread pool. In spite action itself is non interruptable 
            the wait can be aborted either by execution controller cancellation or by timeout.<br/>
            BE AWARE: action will continue executing even after wait aborted.
            </remarks>    
        </member>
        <member name="M:JetBrains.Common.Util.ExecutionController2Extension.Lock(JetBrains.Common.Util.IExecutionController,System.Object,System.TimeSpan)">
            <summary>
            Locks <paramref name="mutex"/> in interruptable manner with given timeout. 
            </summary>
            <example>        
            <code>
            using (controller.Lock(myMutex, Waitable.InfiniteTimeout))
            {
              // do something under lock
            }
            </code>
            </example>
        </member>
        <member name="M:JetBrains.Common.Util.ExecutionController2Extension.Lock(JetBrains.Common.Util.IExecutionController,System.Object)">
            <summary>
            Locks <paramref name="mutex"/> in interruptable manner with infinite timeout.
            </summary>    
        </member>
        <member name="T:JetBrains.Common.Util.ExecutionController2Extension.Unlocker">
            <summary>
            The helper struct used with <see cref="M:JetBrains.Common.Util.ExecutionController2Extension.Lock(JetBrains.Common.Util.IExecutionController,System.Object,System.TimeSpan)"/>.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.ExecutionController2Extension.AsJetProgress(JetBrains.Common.Util.IExecutionController)">
            <summary>
            Creates <see cref="T:JetBrains.Util.Misc.JetProgress"/> instance from this execution controller.
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.ExecutionController2Extension.AsJetProgress(JetBrains.Common.Util.IExecutionController,JetBrains.Util.Misc.JetProgress@)">
            <summary>
            Creates <see cref="T:JetBrains.Util.Misc.JetProgress"/> instance from this execution controller.
            </summary>
            <remarks>
            Calls <c>StartProgress(100)</c> on provided execution controller.<br/>
            Usage pattern:
            <code>
            using (controller.AsJetProgress(out var progress))
            {
              progress.Begin(count);
              for (...)
              {
                ...
                progress.YieldAndAdvance();
              }
            }
            </code>
            </remarks>    
        </member>
        <member name="M:JetBrains.Common.Util.ExecutionController2Extension.AsJetProgress(JetBrains.Common.Util.IExecutionController,System.Int32,JetBrains.Util.Misc.JetProgress@)">
            <summary>
            Creates <see cref="T:JetBrains.Util.Misc.JetProgress"/> instance from this execution controller.
            </summary>
            <remarks>
            Calls <c>CreateSubOperation(parentSteps).StartProgress(100)</c> on provided execution controller.<br/>
            Usage pattern:
            <code>
            using (controller.AsJetProgress(out var progress))
            {
              progress.Begin(count);
              for (...)
              {
                ...
                progress.YieldAndAdvance();
              }
            }
            </code>
            </remarks>
        </member>
        <member name="M:JetBrains.Common.Util.ExecutionController2Extension.StartApproximateProgress(JetBrains.Common.Util.IExecutionController,System.Int64,System.Int32,System.String)">
            <summary>
            Starts approximate progress (when exact number of steps isn't known).
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.ExecutionController2Extension.GetCancellationTokenIfAny(JetBrains.Common.Util.IExecutionController)">
            <summary>
            Returns <c>CancellationToken</c> if <paramref name="this"/> implements <see cref="T:JetBrains.Common.Util.Tasks.Impl.IHaveCancellationToken"/>
            extension interface and <c>CancellationToken.None</c> otherwise.
            </summary>    
        </member>
        <member name="M:JetBrains.Common.Util.ExecutionController2Extension.Wait(JetBrains.Common.Util.IExecutionController,System.Threading.WaitHandle,System.TimeSpan)">
            <summary>
            Intentionally not implemented, because WaitHandle does not support CancellationToken.
            </summary>    
        </member>
        <member name="T:JetBrains.Common.Util.NullExecutionController">
            <summary>
            The simplest implementation of <see cref="T:JetBrains.Common.Util.IExecutionController"/> which:<br/>
              * can not be cancelled;<br/>
              * just ignore progress reporting;<br/>
              * has non cancellable wait;<br/>
              * execute fork action instantly and return completed task.<br/>
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.TextUtils.TextSimilarity">
            <summary>
            Provides similarity scoring for two text/code blocks.
            The score is between 0.0 (totally different) and 1.0 (identical).
            Design goals:
            - Case-insensitive
            - Ignores whitespace differences
            - Some robustness to reordering (token/line based set similarities)
            - Sequence-sensitive component (Levenshtein) to still capture edits
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.TextUtils.TextSimilarity.Compare(System.String,System.String)">
            <summary>
            Compare two text blocks and return similarity in [0.0, 1.0].
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.Transforms.ModelRangeDouble.Zoom(System.Double,System.Double)">
            <summary>
            Expands TimelineRange with center point
            </summary>
            <param name="center">point for which relative range position will be preserved</param>
            <param name="zoomRatio">ratio to increase TimelineRange Length</param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.Transforms.ScreenRange.Zoom(System.Double,System.Double)">
            <summary>
            Expands TimelineRange with center point
            </summary>
            <param name="center">point for which relative range position will be preserved</param>
            <param name="zoomRatio">ratio to increase TimelineRange Length</param>
            <returns></returns>
        </member>
        <member name="T:JetBrains.Common.Util.TransientLifetime">
            <remarks>
            Made lazy to avoid useless creation/destruction in algorithms which contract needs lifetime, but realization sometime needs and smotime not
            </remarks>
        </member>
        <member name="M:JetBrains.Common.Util.AbsractTreeExtension.GenerateTree``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Func{``0,``1},``1)">
            <summary>
            Generates tree of items from item list
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.TreeStructure.IEventHandlerWithState`1">
            <summary>
            An event that can restore actual event args
            We dont use IProperty or IDataProvider here because don't want to add hard link to the event object
            </summary>
            <typeparam name="TEventArgs"></typeparam>
        </member>
        <member name="F:JetBrains.Common.Util.TreeStructure.NodeUpdatedEventArgs`1.Node">
            <summary>
            Parent node of update is arrived. If this value is null then root node is changed.
            </summary>
        </member>
        <member name="F:JetBrains.Common.Util.TreeStructure.NodeUpdatedEventArgs`1.OldChild">
            <summary>
            Which child we need to update. If this value is null then NewChild is added to the Node's children
            </summary>
        </member>
        <member name="F:JetBrains.Common.Util.TreeStructure.NodeUpdatedEventArgs`1.NewChild">
            <summary>
            Node that will become replacement for OldChild. If NewChild is null then OldChild was removed from Node's children
            </summary>
        </member>
        <member name="F:JetBrains.Common.Util.TreeStructure.NodeUpdatedEventArgs`1.Index">
            <summary>
            View index of the changing node relative to its parent
            </summary>
        </member>
        <member name="M:JetBrains.Common.Util.Units.Percents.#ctor(System.Double,System.Boolean)">
            <summary>
            Craete new instance
            </summary>
            <param name="value">Should be in range 0..1. Value 1 corresponds to 100% </param>
            <param name="leftAligned">Flag indicating whether percent display will be aligned to the left or to the right. Difference is in display precision for values between 1 and 10%: 
            if percents are aligned to the left, we try to preserve display width, so values will have 2 digits after separator (total width = 3 digits + 1 separator for any percent value), 
            otherwise we try to preserve decimal separator position, so these values will have 1 digit after separator, as well as values >= 10 % </param>
        </member>
        <member name="M:JetBrains.Common.Util.Units.UnitUtils.GetOwnPart``1(JetBrains.Common.Util.Units.UnitValue{``0})">
            <summary>
            90 sec -> 30 sec
            </summary>
            <typeparam name="T"></typeparam>
            <param name="part"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.Units.UnitUtils.ToMinorPart``1(JetBrains.Common.Util.Units.UnitValue{``0})">
            <summary>
            1,5 min -> 90 sec
            </summary>
            <typeparam name="T"></typeparam>
            <param name="part"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.Units.UnitUtils.ToMajorPart``1(JetBrains.Common.Util.Units.UnitValue{``0})">
            <summary>
            90 sec -> 1,5 min
            </summary>
            <typeparam name="T"></typeparam>
            <param name="part"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.Units.UnitUtils.PreviousPart``1(JetBrains.Common.Util.Units.UnitValue{``0})">
            <summary>
            90,5 sec -> 90500 ms
            </summary>
            <typeparam name="T"></typeparam>
            <param name="part"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Common.Util.Units.UnitUtils.NextPart``1(JetBrains.Common.Util.Units.UnitValue{``0})">
            <summary>
            90500 ms -> 90,5 sec
            </summary>
            <typeparam name="T"></typeparam>
            <param name="part"></param>
            <returns></returns>
        </member>
        <member name="T:JetBrains.Common.Util.WordMatcher">
            <summary>
            Simple Rabin-Karp word matcher
            </summary>
        </member>
        <member name="T:JetBrains.Common.Util.Zip.ZipProgressAdapter">
            <summary>
            Flows progress events to given execution controller.
            Supports: extracting and saving.
            </summary>
            <example>
            using (new ZipProgressAdapter(zip, totalBytes, executionController))
            {
            foreach (var entry in entriesToExtract)
            entry.Extract(targetFullPath);
            }
            </example>
        </member>
        <member name="M:JetBrains.DotTrace.Dal.Timeline.NewMetadata.Parser.MethodNameParser.EnclosingMethodName(System.String)">
            <summary>
            For lambda method returns method in which that lambda was defined, otherwise returns name untouched.
            </summary>
            <param name="name"></param>
            <returns></returns>
        </member>
    </members>
</doc>
