view tools/JetSymbols/JetBrains.Platform.Symbols.Util.Xml @ 85:c8db7ce22241 8.1.x

Merge with fb/windbg
author Evgeniy.Koshkin
date Mon, 12 Jan 2015 15:50:18 +0400
parents cfdb5f116242
children
line wrap: on
line source
<?xml version="1.0"?>
<doc>
    <assembly>
        <name>JetBrains.Platform.Symbols.Util</name>
    </assembly>
    <members>
        <member name="T:JetBrains.Annotations.ThreadSafeAttribute">
            <summary>
            Indicates that this class/method is safe for multithreaded usage. If class marked with <see cref="T:JetBrains.Annotations.ImmutableAttribute"/> thread-safety is implicit. 
            If certain methods of class are thread-unsafe (e.g. iterators in synchronized dictionaries), you can annotate this methods with <see cref="T:JetBrains.Annotations.ThreadUnsafeAttribute"/>
            </summary>
        </member>
        <member name="T:JetBrains.Annotations.ThreadUnsafeAttribute">
            <summary>
            Indicates that class/method requires additional external synchronization
            </summary>
        </member>
        <member name="T:JetBrains.Annotations.ImmutableAttribute">
            <summary>
            Indicates that this class/property is immutable (you can't change its inner state with field assignments, setters, indexers, method calls an so on) an therefore safe for multithreaded usage.
            If certain methods of class are thread-unsafe (e.g. iterators in synchronized dictionaries), you can annotate this methods with <see cref="T:JetBrains.Annotations.ThreadUnsafeAttribute"/>
            </summary>
        </member>
        <member name="T:JetBrains.Annotations.ReturnsThreadSafeAttribute">
            <summary>
            Indicates that this method returns object that can be safely used is multithreaded way without external synchronization.
            </summary>
        </member>
        <member name="T:JetBrains.Util.BitHacks">
            <summary>
            Inspired by http://graphics.stanford.edu/~seander/bithacks.html
            </summary>
        </member>
        <member name="T:JetBrains.Util.BooleanBoxes">
            <summary>
            Avoid boxing boolean by reusing the boxes for readonly purposes.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Caches.StrongCachedValue`2">
            <summary>
            Implementation of <see cref="T:JetBrains.Util.Caches.ICachedValue`1"/> that holds value forever until <see cref="M:JetBrains.Util.Caches.StrongCachedValue`2.Clear"/> method is called.
            </summary>
            <typeparam name="T"></typeparam>
            <typeparam name="TParam"></typeparam>
        </member>
        <member name="T:JetBrains.Util.Caches.ICachedValue`1">
            <summary>
            Cached value with nonparameterized producer
            </summary>
            <typeparam name="T">type of object</typeparam>
        </member>
        <member name="T:JetBrains.Util.Caches.ICachedValueBase`1">
            <summary>
            Wrapper over object. Typical usage is <see cref="T:JetBrains.Util.Caches.WeakCachedValue`2"/>.
            </summary>
            <typeparam name="T">type of object</typeparam>
        </member>
        <member name="M:JetBrains.Util.Caches.ICachedValueBase`1.Set(`0)">
            <summary>
            Set object's value
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:JetBrains.Util.Caches.ICachedValueBase`1.Clear">
            <summary>
            Resets object's value to default
            </summary>
        </member>
        <member name="M:JetBrains.Util.Caches.ICachedValueBase`1.TryGet">
            <summary>
            Get current value in wrapper. If it's null (e.g. weak reference evicted) returns null
            </summary>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Caches.ICachedValue`1.GetOrCreate">
            <summary>
            Get current value and if it's null then produce value (using producer func)
            </summary>
            <returns></returns>
        </member>
        <member name="T:JetBrains.Util.Caches.IParametrizedCachedValue`2">
            <summary>
            Cached value with parameterized producer. Use it in case you don't want to create tons of closure.
            </summary>
            <typeparam name="T">type of object</typeparam>
            <typeparam name="TFunctorParameter">type of addtitional paramater to producer function</typeparam>
        </member>
        <member name="M:JetBrains.Util.Caches.IParametrizedCachedValue`2.GetOrCreate(`1)">
            <summary>
            Get current value and if it's null then produce value (using producer func with parameter)
            </summary>
            <param name="parameter"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Caches.IParametrizedCachedValue`2.GetOrCreate(`1,`0@)">
            <summary>
            Version of GetOrCreate that returns boolean value which designates whether value was created by producer or obtained from cache
            </summary>
            <param name="parameter"></param>
            <param name="result">gotten or created result</param>
            <returns>true if value was created by producer, false - value was in cache already</returns>
        </member>
        <member name="M:JetBrains.Util.Caches.IParametrizedCachedValue`2.TryGetSync">
            <summary>
            Get current value, waiting if current value is being created by "GetOrCreate" method
            </summary>
            <returns></returns>
        </member>
        <member name="T:JetBrains.Util.Caches.WeakCachedValueBase`2">
            <summary>
            Base class for both <see cref="T:JetBrains.Util.Caches.WeakParametrizedCachedValue`3"/> and <see cref="T:JetBrains.Util.Caches.WeakCachedValue`2"/>
            </summary>
            <typeparam name="T"></typeparam>
            <typeparam name="TCacheItem"></typeparam>
        </member>
        <member name="T:JetBrains.Util.Caches.WeakParametrizedCachedValue`3">
            <summary>
            Implementation of <see cref="T:JetBrains.Util.Caches.IParametrizedCachedValue`2"/> that hold value on weak reference. Additionally, value is put into <see cref="T:JetBrains.Util.Caches.IWeakRefRetainerCache`1"/>.
            So weak reference will survive garbage collections until it's value is evicted from cache. Cache is being touched not every time you invoke <see cref="M:JetBrains.Util.Caches.WeakParametrizedCachedValue`3.GetOrCreate(`1)"/>
            but every [cacheTouchFrequency] time. This allows to mix LRU and LFU policies together and inrease performance.
            </summary>
            <typeparam name="T">type of value </typeparam>
            <typeparam name="TCacheItem">Cache can contains more general type than <see cref="!:T"/> </typeparam>
            <typeparam name="TParameter">Type of producer function's parameter</typeparam>  
        </member>
        <member name="T:JetBrains.Util.Caches.WeakCachedValue`2">
            <summary>
            Implementation of <see cref="T:JetBrains.Util.Caches.ICachedValue`1"/> that hold value on weak reference. Additionally, value is put into <see cref="T:JetBrains.Util.Caches.IWeakRefRetainerCache`1"/>.
            So weak reference will survive garbage collections until it's value is evicted from cache. Cache is being touched not every time you invoke <see cref="M:JetBrains.Util.Caches.WeakCachedValue`2.GetOrCreate"/>
            but every [cacheTouchFrequency] time. This allows to mix LRU and LFU policies together and inrease performance.
            </summary>
            <typeparam name="T"></typeparam>
            <typeparam name="TCacheItem">Cache can contains more general type than <see cref="!:T"/> </typeparam>
        </member>
        <member name="T:JetBrains.Util.Caches.CacheStatistics">
            <summary>
            Internal helper class for cache statistics gathering. To collect statictics, compile with JET_MODE_STATISTICS #define.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Caches.CachedValues.CreateWeakCachedValue``2(System.Func{``0},JetBrains.Util.Caches.IWeakRefRetainerCache{``1},``0,System.Int32)">
            <summary>
            Creates wrapper that contains weak object inside. To prevent fast weakref eviction, newly created objects are placed into <see cref="T:JetBrains.Util.Caches.IWeakRefRetainerCache`1"/>. Cache 
            is touched after each invocation of <see cref="M:JetBrains.Util.Caches.ICachedValue`1.GetOrCreate"/>.
            If weak reference is evicted (that means object is evicted from cache too) and one invokes <see cref="M:JetBrains.Util.Caches.ICachedValue`1.GetOrCreate"/>, producer function is used 
            to create object.
            </summary>
            <typeparam name="T">object's type</typeparam>
            <typeparam name="TCacheItem">type of objects in cache, can be more general than <see cref="!:T"/></typeparam>
            <param name="producer">function that creates object</param>
            <param name="cache">cache that enlarges weakref lifetime</param>
            <param name="initialValue">Optional. If present, object is set to this value. Otherwise, object is set to null and will be initialized by producer after first use of <see cref="M:JetBrains.Util.Caches.ICachedValue`1.GetOrCreate"/></param>
            <param name="cacheTouchFrequency"></param>
            <returns>Newly created wrapper with weak reference</returns>
        </member>
        <member name="M:JetBrains.Util.Caches.CachedValues.CreateWeakParametrizedCachedValue``3(System.Func{``1,``0},JetBrains.Util.Caches.IWeakRefRetainerCache{``2},``0,System.Int32)">
            <summary>
            Creates wrapper that contains weak object inside. To prevent fast weakref eviction, newly created objects are placed into <see cref="T:JetBrains.Util.Caches.IWeakRefRetainerCache`1"/>. Cache 
            is touched after each invocation of <see cref="M:JetBrains.Util.Caches.ICachedValue`1.GetOrCreate"/>.
            If weak reference is evicted (that means object is evicted from cache too) and one invokes <see cref="M:JetBrains.Util.Caches.ICachedValue`1.GetOrCreate"/>, producer function is used 
            to create object.
            </summary>
            <typeparam name="T">object's type</typeparam>
            <typeparam name="TParam">producer parameter's type</typeparam>
            <typeparam name="TCacheItem">type of objects in cache, can be more general than <see cref="!:T"/></typeparam>
            <param name="producer">function that creates object</param>
            <param name="cache">cache that enlarges weakref lifetime</param>
            <param name="initialValue">Optional. If present, object is set to this value. Otherwise, object is set to null and will be initialized by producer after first use of <see cref="M:JetBrains.Util.Caches.ICachedValue`1.GetOrCreate"/></param>
            <param name="cacheTouchFrequency"></param>
            <returns>Newly created wrapper with weak reference</returns>
        </member>
        <member name="M:JetBrains.Util.Caches.CachedValues.CreateStrongCachedValue``1(``0)">
            <summary>
            Creates wrapper around object with hard reference.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="initialValue">Optional. Initial value of hard reference. Null by default.</param>
            <returns>Newly created wrapper with hard reference</returns>
        </member>
        <member name="M:JetBrains.Util.Caches.CachedValues.CreateStrongParametrizedCachedValue``2(``0)">
            <summary>
            Creates wrapper around object with hard reference.
            </summary>
            <typeparam name="T"></typeparam>
            <typeparam name="TParam"></typeparam>
            <param name="initialValue">Optional. Initial value of hard reference. Null by default.</param>
            <returns>Newly created wrapper with hard reference</returns>
        </member>
        <member name="M:JetBrains.Util.Caches.CachedValues.HasValue``1(JetBrains.Util.Caches.ICachedValueBase{``0})">
            <summary>
            Returns true if cached object has value "right now" (no need to invoke producer).
            </summary>
            <typeparam name="T">type of cached object</typeparam>
            <param name="cachedValue">object's wrapper</param>
            <returns>true if <see cref="M:JetBrains.Util.Caches.ICachedValueBase`1.TryGet"/> return true</returns>
        </member>
        <member name="M:JetBrains.Util.Caches.CachedValues.SetIfNull``2(JetBrains.Util.Caches.ICachedValueBase{``0},System.Func{``1})">
            <summary>
            Sets value of object via functor only in case it's null (<see cref="M:JetBrains.Util.Caches.CachedValues.HasValue``1(JetBrains.Util.Caches.ICachedValueBase{``0})"/> returns false). This method is thread-safe.
            </summary>
            <typeparam name="T">type of cached object</typeparam>
            <typeparam name="TInheritor">type of functor - inheritor of object's type (to support functor's covariance) </typeparam>
            <param name="cachedValue">object's caching wrapper</param>
            <param name="functor">value producer, is invoked only when current value is null</param>
        </member>
        <member name="M:JetBrains.Util.Caches.CachedValues.SetIfNull``3(JetBrains.Util.Caches.ICachedValueBase{``0},System.Func{``1,``2},``1)">
            <summary>
            Sets value of object via functor only in case it's null (<see cref="M:JetBrains.Util.Caches.CachedValues.HasValue``1(JetBrains.Util.Caches.ICachedValueBase{``0})"/> returns false). This method is thread-safe.
            Functor is parametrized with additional parameter to avoid construction of closure (like it would have been with <see cref="M:JetBrains.Util.Caches.CachedValues.SetIfNull``2(JetBrains.Util.Caches.ICachedValueBase{``0},System.Func{``1})"/>)
            </summary>
            <typeparam name="T">type of cached object</typeparam>
            <typeparam name="TParam">functor's additional parameter type</typeparam>
            <typeparam name="TInheritor">type of functor - inheritor of object's type (to support functor's covariance) </typeparam>
            <param name="cachedValue">object's caching wrapper</param>
            <param name="functor">value producer, is invoked only when current value is null</param>
            <param name="param">functor's additional param</param>
        </member>
        <member name="T:JetBrains.Util.Caches.IDictionaryBasedCache`2">
            <summary>
            Cache represented by fixed-size dictionary. The behavior is the same as <see cref="T:System.Collections.Generic.IDictionary`2"/> but dictionary doesn't grow infinitely.
            When cache is full, newest elements is put into it, evicting old one (latest or least freaquently used, depending on policy).
            </summary>
            <typeparam name="TKey"></typeparam>
            <typeparam name="TValue"></typeparam>
        </member>
        <member name="T:JetBrains.Util.Caches.IWeakRefRetainerCache`1">
            <summary>
            Cache that has sole purpose to increase the lifetime of weak reference. Used in pair with <see cref="T:JetBrains.Util.Caches.ICachedValue`1"/>.
            You MUST dispose it by lifetime or other way
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:JetBrains.Util.Caches.IWeakRefRetainerCache`1.Touch(`0)">
            <summary>
            Notify this cache that item was accessed somehow. Cache can react to this event by relocating item is LRU queue, set last access time, increase use count, etc.
            </summary>
            <param name="item"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Caches.IWeakRefRetainerCache`1.Remove(`0)">
            <summary>
            Remove item from cache
            </summary>
            <param name="item"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Caches.IWeakRefRetainerCache`1.Clear">
            <summary>
            Clear cache, remove all item.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Caches.IWeakRefRetainerCache`1.Contains(`0)">
            <summary>
            Returns true if cache contains given item.
            </summary>
            <param name="item"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Caches.IWeakRefRetainerCache`1.Evict">
            <summary>
            Manually starts eviction procedure. Cache could evict entities by its own rules, (e.g. evict all items with last access time more than 30 sec)
            </summary>
            <returns>Number of elements evicted</returns>
        </member>
        <member name="P:JetBrains.Util.Caches.IWeakRefRetainerCache`1.Count">
            <summary>
            Returns current number of elements in cache
            </summary>
        </member>
        <member name="M:JetBrains.Util.CodeDomEx.WriteCodeToFile(System.CodeDom.CodeCompileUnit,JetBrains.Util.FileSystemPath)">
            <summary>
            Writes code in any case, even if it is the same (touches the file date, used in normal build that looks at input/output dates).
            </summary>
        </member>
        <member name="T:JetBrains.Util.Collections.CollectionUtilSafeOfTypeEnumerable`1">
            <summary>
            Implementation detail for <see cref="M:JetBrains.Util.CollectionUtil.SafeOfType``1(System.Collections.IEnumerable)"/>.
            Originally were known as a separate <c>SafeEnumerable</c> class, but then was turned into a LINQ-style method.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Collections.CountingSet`1">
            <summary>
            Multiset, each element can be included into set multiple times. Internally implemented as Dictionary : [Element] -&gt; [Number of equal elements in this set]
            Each time we execute <see cref="M:JetBrains.Util.Collections.CountingSet`1.Add(`0)"/> counter for given element is increased. On <see cref="M:JetBrains.Util.Collections.CountingSet`1.Remove(`0)"/> counter is decreased (if it becomes zero, element is removed from set).
            You can check the number of element occurences in this set by invoking <see cref="M:JetBrains.Util.Collections.CountingSet`1.GetCount(`0)"/>
            </summary>
            <typeparam name="T">Type of set's element</typeparam>
        </member>
        <member name="T:JetBrains.Util.Collections.EnumeratorExt">
            <summary>
            Class contains classic methods of <see cref="T:System.Collections.IEnumerable"/> for <see cref="T:System.Collections.IEnumerator"/>. One of purposes is to suport "struct enumerators" - all theese
            methods works with "struct enumerators" without allocating any object in the heap.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Caches.LRUWeakRefRetainerCache`1">
            <summary>
            Fixed-size cache for clients which use <see cref="T:JetBrains.Util.WeakReference`1"/> to store values. Every time outer WeakReference accessed , client must invoke <see cref="M:JetBrains.Util.Caches.LRUWeakRefRetainerCache`1.Touch(`0)"/> method.
            This promotes given value to the head of the LRU queue. If queue is full and promoting element is new (queue hasn't cointain it before), least recently used element
            is getting removed from the queue and number of hard links to this value is decreased by one. User can start timer thread that will evict entries with too old last 
            access time.
            WARNING!!! You MUST dispose this object, because it has reference on itself by Timer thread.
            </summary>
            <typeparam name="T">Object's type. <see cref="T:JetBrains.Util.WeakReference`1"/> lifetime is going to be increased by this cache</typeparam>
        </member>
        <member name="M:JetBrains.Util.Caches.LRUWeakRefRetainerCache`1.#ctor(JetBrains.DataFlow.Lifetime,System.Int32,System.Collections.Generic.IEqualityComparer{`0},System.Int64,System.Int32)">
            <summary>
            Creates new cache. Timer is started only when <see cref="!:invalidateTimeInMillis"/> is positive.
            </summary>
            <param name="capacity">Maximum number of elements in cache</param>
            <param name="comparer">Optional.</param>
            <param name="invalidateTimeInMillis">Optional (default is zero). After given number of milliseconds, items in cache are concidered outdated and can be replaced
            either by timer thread or manual invocation of <see cref="M:JetBrains.Util.Caches.LRUWeakRefRetainerCache`1.Evict"/> method</param>
            <param name="invalidationSurvivalThreshold"> Number of items that will survive eviction even if they are outdated</param>
        </member>
        <member name="M:System.Collections.Generic.JetHashSet`1.#ctor(System.Collections.Generic.ICollection{`0},System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Static overload to prevent runtime type checks.
            </summary>
        </member>
        <member name="M:System.Collections.Generic.JetHashSet`1.SetEquals(System.Collections.Generic.JetHashSet{`0})">
            <summary>
            Static overload to prevent runtime type checks.
            </summary>
        </member>
        <member name="M:System.Collections.Generic.JetHashSet`1.IsSupersetOf(System.Collections.Generic.ICollection{`0})">
            <summary>
            Static overload to prevent runtime type checks.
            </summary>
        </member>
        <member name="M:System.Collections.Generic.JetHashSet`1.IsSupersetOf(System.Collections.Generic.JetHashSet{`0})">
            <summary>
            Static overload to prevent runtime type checks.
            </summary>
        </member>
        <member name="F:System.Collections.Generic.JetHashSet`1.Entry.HashCode">
            <summary>
            Cached hash code of the key, -1 means entry is free
            </summary>
        </member>
        <member name="F:System.Collections.Generic.JetHashSet`1.Entry.NextEntryIndex">
            <summary>
            Index of next entry in the chain of keys with the same hashcodes (modulo size), -1 means last
            </summary>
        </member>
        <member name="F:System.Collections.Generic.JetHashSet`1.Entry.Element">
            <summary>
            Element of set
            </summary>
        </member>
        <member name="T:System.Collections.Generic.JetHashSetSorted`1">
            <summary>
            Makes sure you have quick hash-access to items and proper sorting order on items.
            This is fulfilled by maintaining an add-only regular hashset where all of the adds are in the correct order. This way the hashset operates right in the desired fashion.
            This wrapper only validates that there're no removes and all additions are properly sorted.
            </summary>
            <typeparam name="TItem"></typeparam>
        </member>
        <member name="F:System.Collections.Generic.JetHashSetSorted`1.myLastItem">
            <summary>
            Valid if <see cref="F:System.Collections.Generic.JetHashSetSorted`1.myHashSet"/> is nonempty.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Collections.JetBinaryTree.NodeColor">
            <summary>
            A node in a red black tree can have one of the following two colors.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeEnumerator`2">
            <summary>
            The JetBinaryTreeEnumerator class returns the keys or data objects of the treap in sorted order. 
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeEnumerator`2.#ctor(JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeNode{`0,`1},System.Boolean,JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeNode{`0,`1})">
            <summary>
             Determine order, walk the tree and push the nodes onto the stack
            </summary>
             <param name="node"></param>
             <param name="ascending"></param>
             <param name="sentinelNode"></param>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeEnumerator`2.InsertNewNode(JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeNode{`0,`1})">
            <summary>
            Use depth-first traversal to push nodes into stack the lowest node will be at the top of the stack.
            </summary>
            <param name="node"></param>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeEnumerator`2.NextElement">
            <summary>
             Next element.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeEnumerator`2.HasMoreElements">
            <summary>
             Has more elements.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeEnumerator`2.MoveNext">
            <summary>
             Move next.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeEnumerator`2.Key">
            <summary>
             Key.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeEnumerator`2.Value">
            <summary>
             The data or value associated with the key.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeEnumerator`2.Node">
            <summary>
             The data or value associated with the key.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeNode`2">
            <summary>
            A single node that is encapsulated in a red black tree data structure.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeNode`2.#ctor">
            <summary>
            Creates an instance of this class.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeNode`2.Color">
            <summary>
             Color - used to balance the tree.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeNode`2.Left">
            <summary>
             Left node.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeNode`2.Right">
            <summary>
             Right node.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeNode`2.Parent">
            <summary>
            Parent node.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeNode`2.Key">
            <summary>
             Key provided by the calling class.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeNode`2.Data">
            <summary>
             Data available in this node
            </summary>
        </member>
        <member name="T:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2">
            <summary>
             Red-black tree implementation. Not thread-safe
             Sorted map, can be used for imprecise search
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.#ctor(System.Collections.Generic.IComparer{`0})">
            <summary>
            Creates an instance of this class.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.Clear">
            <summary>
            Clears the tree.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.IsEmpty">
            <summary>
            Returns true if the tree is empty.
            </summary>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.RemoveMin">
            <summary>
            Removes the node with the minimum key.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.RemoveMax">
            <summary>
            Removes the node with the maximum key.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.GetMinKey">
            <summary>
            Returns the minimum key value.
            </summary>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.GetMaxKey">
            <summary>
            Returns the maximum key value.
            </summary>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.GetMinValue">
            <summary>
            Returns the object having the minimum key value.
            </summary>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.GetMaxValue">
            <summary>
            Returns the object having the maximum key.
            </summary>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.GetNode(`0)">
            <summary>
            Gets node for the specified key.
            WARNING: This is hackish. Use it only when you really need it and understand all side-effects.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.GetData(`0)">
            <summary>
            Gets the data object associated with the specified key.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.InplaceReplace(`0,`0,`1)">
            <summary>
             This method updates key and value for existing node.
             WARNING: It doesn't check that replaced key is in correct place! Use this method only if you are shifting keys and you're sure that this won't cause any corruption to the tree!
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.Add(`0,`1)">
            <summary>
             Adds data to the tree.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.RotateLeft(JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeNode{`0,`1})">
            <summary>
             Rebalance the tree by rotating the nodes to the left.
            </summary>        
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.RotateRight(JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeNode{`0,`1})">
            <summary>
             Rebalance the tree by rotating the nodes to the right.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.Remove(`0)">
            <summary>
            Removes the key and data object (delete).
            </summary>
            <param name="key"></param>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.Nodes(System.Boolean)">
            <summary>
            Returns an enumerator that returns nodes in order.
            </summary>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.Pairs(System.Boolean)">
            <summary>
            Returns an enumerator that returns the key-value pairs in order.
            </summary>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.Keys(System.Boolean)">
            <summary>
            Returns keys in order as specified in parameter.
            </summary>
            <param name="ascending"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.Values(System.Boolean)">
            <summary>
            Returns all the values in the tree in order as specifed in the parameter.
            </summary>
            <param name="ascending"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.Elements(System.Boolean)">
            <summary>
            Returns an enumeration of the data objects in order as specifed in the parameter.
            </summary>
            <param name="ascending"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.RestoreAfterInsert(JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeNode{`0,`1})">
            <summary>
            RestoreAfterInsert
            Additions to red-black trees usually destroy the red-black 
            properties. Examine the tree and restore. Rotations are normally 
            required to restore it
            </summary>
            <param name="x"></param>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.RestoreAfterDelete(JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeNode{`0,`1})">
            <summary>
            Deletions from red-black trees may destroy the red-black 
            properties. Examine the tree and restore. Rotations are normally 
            required to restore it.
            </summary>
            <param name="x"></param>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.Delete(JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeNode{`0,`1})">
            <summary>
            Deletes a node from the tree and restores red black properties.
            </summary>
            <param name="node"></param>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.System#ICloneable#Clone">
            <summary>
            Creates a new object that is a copy of the current instance.
            </summary>
            <returns>
            A new object that is a copy of this instance.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="P:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.Size">
            <summary>
            The number of nodes contained in the tree.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Concurrency.LocalLazy`1">
            <summary>
            <para>Provides support for several common patterns of lazy initialization, including the ability to initialize value types and to use null values.</para>
            <para>This is a frugal version of <see cref="T:JetBrains.Util.Lazy.Lazy`1"/> that does not create any objects until the lazy value is initialized to a reference type.</para>
            <para>Note that if you're passing a factory function and it's a closure, a new reference object is created for it per each instance. To avoid this, you can use <see cref="T:JetBrains.Util.Concurrency.LocalLazy`2"/>.</para>
            </summary>
            <typeparam name="TValue">Specifies the type of element being laziliy initialized.</typeparam>
        </member>
        <member name="F:JetBrains.Util.Concurrency.LocalLazy`1.myFlags">
            <summary>
            Mode and state data packed into a single int for less space.
            LazyExecutionMode values and Flag* fields.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Concurrency.LocalLazy`2">
            <summary>
            <para>Provides support for several common patterns of lazy initialization, including the ability to initialize value types and to use null values.</para>
            <para>This is a frugal version of <see cref="T:JetBrains.Util.Lazy.Lazy`1"/> that does not create any objects until the lazy value is initialized to a reference type.</para>
            <para>The difference from <see cref="T:JetBrains.Util.Concurrency.LocalLazy`1"/> is that you don't have to create a new closure for the factory function with each call. Instead, you can pre-cache a function taking a parameter and pass the parameter into this struct separately. This way no reference types are created per instance until it's time to instantiate your object.</para>
            </summary>
            <typeparam name="TValue">Specifies the type of element being laziliy initialized.</typeparam>
            <typeparam name="TFactoryParameter">Type of the parameter passed to the factory function.</typeparam>
        </member>
        <member name="F:JetBrains.Util.Concurrency.LocalLazy`2.myFlags">
            <summary>
            Mode and state data packed into a single int for less space.
            LazyExecutionMode values and Flag* fields.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Colors.ColorSpaces.CIELab">
            <summary>
            Represents L*a*b* color space
            </summary>
        </member>
        <member name="F:JetBrains.Util.Colors.ColorSpaces.CIELab.Empty">
            <summary>
            Gets an empty CIELab structure.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Colors.ColorSpaces.CIELab.L">
            <summary>
            Gets or sets L component (0..100).
            </summary>
        </member>
        <member name="P:JetBrains.Util.Colors.ColorSpaces.CIELab.A">
            <summary>
            Gets or sets a component (-100..+100).
            </summary>
        </member>
        <member name="P:JetBrains.Util.Colors.ColorSpaces.CIELab.B">
            <summary>
            Gets or sets a component  (-100..+100).
            </summary>
        </member>
        <member name="T:JetBrains.Util.Colors.ColorSpaces.CIEXYZ">
            <summary>
            Represents CIE XYZ color space
            </summary>
        </member>
        <member name="F:JetBrains.Util.Colors.ColorSpaces.CIEXYZ.Empty">
            <summary>
            Gets an empty CIEXYZ structure.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Colors.ColorSpaces.CIEXYZ.D65">
            <summary>
            Gets the CIE D65 (white) structure.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Colors.ColorSpaces.CIEXYZ.X">
            <summary>
            Gets or sets X component.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Colors.ColorSpaces.CIEXYZ.Y">
            <summary>
            Gets or sets Y component.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Colors.ColorSpaces.CIEXYZ.Z">
            <summary>
            Gets or sets Z component.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Colors.ColorSpaces.CMYK">
            <summary>
            Represents CMYK color space.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Colors.ColorSpaces.CMYK.Empty">
            <summary>
            Gets an empty CMYK structure;
            </summary>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.CMYK.#ctor(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Creates an instance of a CMYK structure.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Colors.ColorSpaces.ColorSpace">
            <summary>
            Provides methods to convert from a color space to an other.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.GetColorDistance(System.Double,System.Double,System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Gets the "distance" between two colors.
            RGB colors must be normalized (eg. values in [0.0, 1.0]).
            </summary>
            <param name="r1">First color red component.</param>
            <param name="g1">First color green component.</param>
            <param name="b1">First color blue component.</param>
            <param name="r2">Second color red component.</param>
            <param name="g2">Second color green component.</param>
            <param name="b2">Second color blue component.</param>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.GetColorDistance(System.Double[],System.Double[])">
            <summary>
            Gets the "distance" between two colors.
            RGB colors must be normalized (eg. values in [0.0, 1.0]).
            </summary>
            <param name="color1">First color [r,g,b]</param>
            <param name="color2">Second color [r,g,b]</param>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.GetColorDistance(System.Windows.Media.Color,System.Windows.Media.Color)">
            <summary>
            Gets the "distance" between two colors.
            </summary>
            <param name="color1">First color.</param>
            <param name="color2">Second color.</param>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.GetIntFromHex(System.String)">
            <summary>
            Gets the int equivalent for a hexadecimal value.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.HexToColor(System.String)">
            <summary>
            Converts a Hex color to a .net Color.
            </summary>
            <param name="hexColor">The desired hexadecimal color to convert.</param>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.RGBToHex(System.Int32,System.Int32,System.Int32)">
            <summary>
            Converts a RGB color format to an hexadecimal color.
            </summary>
            <param name="r">The Red value.</param>
            <param name="g">The Green value.</param>
            <param name="b">The Blue value.</param>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.RGBToHex(System.Windows.Media.Color)">
            <summary>
            Converts a RGB color format to an hexadecimal color.
            </summary>
            <param name="r">The color to convert.</param>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.HSBtoRGB(JetBrains.Util.Colors.ColorSpaces.HSB)">
            <summary>
            Converts HSB to RGB.
            </summary>
            <param name="hsv">The HSB structure to convert.</param>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.HSBtoRGB(System.Double,System.Double,System.Double)">
            <summary>
            Converts HSB to RGB.
            </summary>
            <param name="H">Hue value.</param>
            <param name="S">Saturation value.</param>
            <param name="V">Brigthness value.</param>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.HSBtoColor(JetBrains.Util.Colors.ColorSpaces.HSB)">
            <summary>
            Converts HSB to Color.
            </summary>
            <param name="hsv">the HSB structure to convert.</param>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.HSBtoColor(System.Double,System.Double,System.Double)">
            <summary> 
            Converts HSB to a .net Color.
            </summary>
            <param name="h">Hue value (must be between 0 and 360).</param>
            <param name="s">Saturation value (must be between 0 and 1).</param>
            <param name="b">Brightness value (must be between 0 and 1).</param>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.HSBtoColor(System.Int32,System.Int32,System.Int32)">
            <summary>
            Converts HSB to Color.
            </summary>
            <param name="h">Hue value.</param>
            <param name="s">Saturation value.</param>
            <param name="b">Brightness value.</param>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.HSBtoHSL(System.Double,System.Double,System.Double)">
            <summary>
            Converts HSB to HSL.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.HSBtoCMYK(System.Double,System.Double,System.Double)">
            <summary>
            Converts HSB to CMYK.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.HSBtoYUV(System.Double,System.Double,System.Double)">
            <summary>
            Converts HSB to CMYK.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.HSLtoRGB(System.Double,System.Double,System.Double)">
            <summary>
            Converts HSL to RGB.
            </summary>
            <param name="h">Hue, must be in [0, 360].</param>
            <param name="s">Saturation, must be in [0, 1].</param>
            <param name="l">Luminance, must be in [0, 1].</param>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.HSLtoRGB(JetBrains.Util.Colors.ColorSpaces.HSL)">
            <summary>
            Converts HSL to RGB.
            </summary>
            <param name="hsl">The HSL structure to convert.</param>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.HSLtoColor(System.Double,System.Double,System.Double)">
            <summary>
            Converts HSL to .net Color.
            </summary>
            <param name="hsl">The HSL structure to convert.</param>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.HSLtoColor(JetBrains.Util.Colors.ColorSpaces.HSL)">
            <summary>
            Converts HSL to .net Color.
            </summary>
            <param name="hsl">The HSL structure to convert.</param>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.HSLtoHSB(System.Double,System.Double,System.Double)">
            <summary>
            Converts HSL to HSB.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.HSLtoCMYK(System.Double,System.Double,System.Double)">
            <summary>
            Converts HSL to CMYK.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.HSLtoYUV(System.Double,System.Double,System.Double)">
            <summary>
            Converts HSL to YUV.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.RGBtoHSL(System.Int32,System.Int32,System.Int32)">
            <summary> 
            Converts RGB to HSL.
            </summary>
            <param name="red">Red value, must be in [0,255].</param>
            <param name="green">Green value, must be in [0,255].</param>
            <param name="blue">Blue value, must be in [0,255].</param>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.RGBtoHSL(JetBrains.Util.Colors.ColorSpaces.RGB)">
            <summary> 
            Converts RGB to HSL.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.RGBtoHSL(System.Windows.Media.Color)">
            <summary> 
            Converts Color to HSL.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.RGBtoHSB(System.Int32,System.Int32,System.Int32)">
            <summary> 
            Converts RGB to HSB.
            </summary> 
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.RGBtoHSB(JetBrains.Util.Colors.ColorSpaces.RGB)">
            <summary> 
            Converts RGB to HSB.
            </summary> 
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.RGBtoHSB(System.Windows.Media.Color)">
            <summary> 
            Converts RGB to HSB.
            </summary> 
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.RGBtoCMYK(System.Int32,System.Int32,System.Int32)">
            <summary>
            Converts RGB to CMYK
            </summary>
            <param name="red">Red vaue must be in [0, 255].</param>
            <param name="green">Green vaue must be in [0, 255].</param>
            <param name="blue">Blue vaue must be in [0, 255].</param>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.RGBtoCMYK(System.Windows.Media.Color)">
            <summary>
            Converts RGB to CMYK
            </summary>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.RGBtoCMYK(JetBrains.Util.Colors.ColorSpaces.RGB)">
            <summary>
            Converts RGB to CMYK
            </summary>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.RGBtoYUV(System.Int32,System.Int32,System.Int32)">
            <summary>
            Converts RGB to YUV.
            </summary>
            <param name="red">red must be in [0, 255].</param>
            <param name="green">green must be in [0, 255].</param>
            <param name="blue">blue must be in [0, 255].</param>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.RGBtoYUV(System.Windows.Media.Color)">
            <summary>
            Converts RGB to YUV.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.RGBtoYUV(JetBrains.Util.Colors.ColorSpaces.RGB)">
            <summary>
            Converts RGB to YUV.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.RGBtoXYZ(System.Int32,System.Int32,System.Int32)">
            <summary>
            Converts RGB to CIE XYZ (CIE 1931 color space)
            </summary>
            <param name="red">Red must be in [0, 255].</param>
            <param name="green">Green must be in [0, 255].</param>
            <param name="blue">Blue must be in [0, 255].</param>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.RGBtoXYZ(JetBrains.Util.Colors.ColorSpaces.RGB)">
            <summary>
            Converts RGB to CIEXYZ.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.RGBtoXYZ(System.Windows.Media.Color)">
            <summary>
            Converts RGB to CIEXYZ.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.RGBtoLab(System.Int32,System.Int32,System.Int32)">
            <summary>
            Converts RGB to CIELab.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.RGBtoLab(JetBrains.Util.Colors.ColorSpaces.RGB)">
            <summary>
            Converts RGB to CIELab.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.RGBtoLab(System.Windows.Media.Color)">
            <summary>
            Converts RGB to CIELab.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.CMYKtoColor(System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Converts CMYK to RGB.
            </summary>
            <param name="c">Cyan value (must be between 0 and 1).</param>
            <param name="m">Magenta value (must be between 0 and 1).</param>
            <param name="y">Yellow value (must be between 0 and 1).</param>
            <param name="k">Black value (must be between 0 and 1).</param>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.CMYKtoColor(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Converts CMYK to RGB.
            </summary>
            <param name="c">Cyan value (must be between 0 and 1).</param>
            <param name="m">Magenta value (must be between 0 and 1).</param>
            <param name="y">Yellow value (must be between 0 and 1).</param>
            <param name="k">Black value (must be between 0 and 1).</param>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.CMYKtoColor(JetBrains.Util.Colors.ColorSpaces.CMYK)">
            <summary>
            Converts CMYK to RGB.
            </summary>
            <param name="cmyk"></param>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.CMYKtoRGB(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Converts CMYK to RGB.
            </summary>
            <param name="c">Cyan value (must be between 0 and 1).</param>
            <param name="m">Magenta value (must be between 0 and 1).</param>
            <param name="y">Yellow value (must be between 0 and 1).</param>
            <param name="k">Black value (must be between 0 and 1).</param>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.CMYKtoRGB(JetBrains.Util.Colors.ColorSpaces.CMYK)">
            <summary>
            Converts CMYK to RGB.
            </summary>
            <param name="cmyk"></param>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.CMYKtoHSL(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Converts CMYK to HSL.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.CMYKtoHSB(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Converts CMYK to HSB.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.CMYKtoYUV(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Converts CMYK to YUV.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.YUVtoRGB(System.Double,System.Double,System.Double)">
            <summary>
            Converts YUV to RGB.
            </summary>
            <param name="y">Y must be in [0, 1].</param>
            <param name="u">U must be in [-0.436, +0.436].</param>
            <param name="v">V must be in [-0.615, +0.615].</param>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.YUVtoRGB(JetBrains.Util.Colors.ColorSpaces.YUV)">
            <summary>
            Converts YUV to RGB.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.YUVtoColor(System.Double,System.Double,System.Double)">
            <summary>
            Converts YUV to a .net Color.
            </summary>
            <param name="y">Y must be in [0, 1].</param>
            <param name="u">U must be in [-0.436, +0.436].</param>
            <param name="v">V must be in [-0.615, +0.615].</param>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.YUVtoColor(JetBrains.Util.Colors.ColorSpaces.YUV)">
            <summary>
            Converts YUV to a .net Color.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.YUVtoHSL(System.Double,System.Double,System.Double)">
            <summary>
            Converts YUV to HSL.
            </summary>
            <param name="y">Y must be in [0, 1].</param>
            <param name="u">U must be in [-0.436, +0.436].</param>
            <param name="v">V must be in [-0.615, +0.615].</param>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.YUVtoHSB(System.Double,System.Double,System.Double)">
            <summary>
            Converts YUV to HSB.
            </summary>
            <param name="y">Y must be in [0, 1].</param>
            <param name="u">U must be in [-0.436, +0.436].</param>
            <param name="v">V must be in [-0.615, +0.615].</param>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.YUVtoCMYK(System.Double,System.Double,System.Double)">
            <summary>
            Converts YUV to CMYK.
            </summary>
            <param name="y">Y must be in [0, 1].</param>
            <param name="u">U must be in [-0.436, +0.436].</param>
            <param name="v">V must be in [-0.615, +0.615].</param>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.XYZtoRGB(System.Double,System.Double,System.Double)">
            <summary>
            Converts CIEXYZ to RGB structure.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.XYZtoRGB(JetBrains.Util.Colors.ColorSpaces.CIEXYZ)">
            <summary>
            Converts CIEXYZ to RGB structure.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.Fxyz(System.Double)">
            <summary>
            XYZ to L*a*b* transformation function.
            </summary>
            <param name="t"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.XYZtoLab(System.Double,System.Double,System.Double)">
            <summary>
            Converts CIEXYZ to CIELab structure.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.XYZtoLab(JetBrains.Util.Colors.ColorSpaces.CIEXYZ)">
            <summary>
            Converts CIEXYZ to CIELab structure.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.LabtoXYZ(System.Double,System.Double,System.Double)">
            <summary>
            Converts CIELab to CIEXYZ.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.LabtoXYZ(JetBrains.Util.Colors.ColorSpaces.CIELab)">
            <summary>
            Converts CIELab to CIEXYZ.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.LabtoRGB(System.Double,System.Double,System.Double)">
            <summary>
            Converts CIELab to RGB.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.ColorSpace.LabtoRGB(JetBrains.Util.Colors.ColorSpaces.CIELab)">
            <summary>
            Converts CIELab to RGB.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Colors.ColorSpaces.HSB">
            <summary>
            Structure to define HSB.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Colors.ColorSpaces.HSB.Empty">
            <summary>
            Gets an empty HSB structure;
            </summary>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.HSB.#ctor(System.Double,System.Double,System.Double)">
            <summary>
            Creates an instance of a HSB structure.
            </summary>
            <param name="h">Hue value.</param>
            <param name="s">Saturation value.</param>
            <param name="b">Brightness value.</param>
        </member>
        <member name="P:JetBrains.Util.Colors.ColorSpaces.HSB.Hue">
            <summary>
            Gets or sets the hue component.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Colors.ColorSpaces.HSB.Saturation">
            <summary>
            Gets or sets saturation component.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Colors.ColorSpaces.HSB.Brightness">
            <summary>
            Gets or sets the brightness component.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Colors.ColorSpaces.HSL">
            <summary>
            Structure to define HSL.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Colors.ColorSpaces.HSL.Empty">
            <summary>
            Gets an empty HSL structure;
            </summary>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.HSL.#ctor(System.Double,System.Double,System.Double)">
            <summary>
            Creates an instance of a HSL structure.
            </summary>
            <param name="h">Hue value.</param>
            <param name="s">Saturation value.</param>
            <param name="l">Lightness value.</param>
        </member>
        <member name="P:JetBrains.Util.Colors.ColorSpaces.HSL.Hue">
            <summary>
            Gets or sets the hue component.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Colors.ColorSpaces.HSL.Saturation">
            <summary>
            Gets or sets saturation component.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Colors.ColorSpaces.HSL.Luminance">
            <summary>
            Gets or sets the luminance component.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Colors.ColorSpaces.RGB">
            <summary>
            Structure to define RGB.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Colors.ColorSpaces.RGB.Empty">
            <summary>
            Gets an empty RGB structure;
            </summary>
        </member>
        <member name="T:JetBrains.Util.Colors.ColorSpaces.YUV">
            <summary>
            Structure to define YUV.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Colors.ColorSpaces.YUV.Empty">
            <summary>
            Gets an empty YUV structure.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Colors.ColorSpaces.YUV.#ctor(System.Double,System.Double,System.Double)">
            <summary>
            Creates an instance of a YUV structure.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.OuterLifetime">
            <summary>
            <para>A subset of the <see cref="T:JetBrains.DataFlow.Lifetime"/> interface with which you cannot “bind” actions to a lifetime.</para>
            <para>It's “outer” in the sense that it's not your lifetime, but of some parent object potentially more long-lived than yours. You cannot schedule anything to its termination because it will happen way after your object goes off scope.</para>
            <para>The only thing you can know is that it's an “outer”, it's limiting the life of your object, and if it's terminated — so are you. Checking for <see cref="P:JetBrains.DataFlow.OuterLifetime.IsTerminated"/> is one of the allowed option.</para>
            <para>Another option is to define a nested lifetime, in which case you MUST ensure it's terminated explicitly, without relying on the outer lifetime. The outer lifetime is only a safety catch to make sure it does not live too long.</para>
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.OuterLifetime.IsTerminated">
            <summary>
              <para>Gets whether this lifetime has already been terminated.</para>
              <para>It's an error to continue scheduling on a terminated lifetime.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.StackTraceUtil.StackFramesToString(System.Diagnostics.StackFrame[])">
            <summary>
            Formats the stack frames.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.StackTraceUtil.CaptureAndFormatStackTrace(System.Boolean)">
            <summary>
            Captures the current stack trace, based on the <see cref="F:JetBrains.DataFlow.StackTraceUtil.OptionCaptureStackTraces"/> setting.
            When the setting is <c>False</c>, a faster shortcut method with less info is used.
            If <param name="bObeyOptionCaptureStackTraces"/> is <c>False</c>, the stack trace is always fully-captured.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.StackTraceUtil.CaptureAndFormatStackTrace">
            <summary>
            Captures the current stack trace, based on the <see cref="F:JetBrains.DataFlow.StackTraceUtil.OptionCaptureStackTraces"/> setting.
            When the setting is <c>False</c>, a faster shortcut method with less info is used.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.StackTraceUtil.OptionCaptureStackTraces">
            <summary>
            Whether to capture stack traces, or not.
            </summary>
        </member>
        <member name="T:JetBrains.Util.dataStructures.ConciseBitArray">
            <summary>
            Effective replace of <see cref="T:System.Collections.BitArray"/> for sparse and almost filled set. Effective for density of 1-s between 0 and 0.1, and beween 0.9 and 1.
            Inspired by http://ricerca.mat.uniroma3.it/users/colanton/docs/concise.pdf
            Non thread-safe
            </summary>
        </member>
        <member name="T:JetBrains.Util.SafeDisposable">
            <summary>
            By extending this class you ensures that object will be disposed by finalizer. If one forget to invoke <see cref="M:JetBrains.Util.SafeDisposable.Dispose"/>,
            resources will be released by finalizer but <see cref="M:JetBrains.Util.Logging.Logger.LogError(System.String)"/> is called in this case. If one invoked dispose second time error would be logger too
            (this behavior could be suppressed by overriding <see cref="P:JetBrains.Util.SafeDisposable.WarnOnSecondDispose"/> in inheritors). The finalizer works only in Development mode (JET_MODE_ASSERT). In
            Production mode this class is much like <see cref="T:System.IDisposable"/> with checks for second dispose.
            </summary>
        </member>
        <member name="M:JetBrains.Util.SafeDisposable.DisposeIfNecessary(System.Object)">
            <summary>
            Dispose object only if its class implements <see cref="T:System.IDisposable"/>
            </summary>
            <param name="o">object to dispose</param>
        </member>
        <member name="P:JetBrains.Util.dataStructures.ConciseBitArray.Count">
            <summary>
            Slow implementation, no memoization    
            </summary>
        </member>
        <member name="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2">
            <summary>
            Represents a thread-safe collection of keys and values. 
            </summary> 
            <typeparam name="TKey">The type of the keys in the dictionary.</typeparam>
            <typeparam name="TValue">The type of the values in the dictionary.</typeparam> 
            <remarks>
            All public and protected members of <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/> are thread-safe and may be used
            concurrently from multiple threads.
            </remarks> 
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/> 
            class that is empty, has the default concurrency level, has the default initial capacity, and
            uses the default comparer for the key type. 
            </summary> 
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.#ctor(System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/>
            class that is empty, has the specified concurrency level and capacity, and uses the default 
            comparer for the key type.
            </summary> 
            <param name="concurrencyLevel">The estimated number of threads that will update the 
            <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/> concurrently.</param>
            <param name="capacity">The initial number of elements that the <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/>
            can contain.</param>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="concurrencyLevel"/> is
            less than 1.</exception> 
            <exception cref="T:System.ArgumentOutOfRangeException"> <paramref name="capacity"/> is less than
            0.</exception> 
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.#ctor(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">
            <summary> 
            Initializes a new instance of the <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/>
            class that contains elements copied from the specified <see cref="T:System.Collections.IEnumerable{KeyValuePair{TKey,TValue}}"/>, has the default concurrency
            level, has the default initial capacity, and uses the default comparer for the key type. 
            </summary>
            <param name="collection">The <see cref="T:System.Collections.IEnumerable{KeyValuePair{TKey,TValue}}"/> whose elements are copied to 
            the new
            <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/>.</param> 
            <exception cref="T:System.ArgumentNullException"><paramref name="collection"/> is a null reference
            (Nothing in Visual Basic).</exception>
            <exception cref="T:System.ArgumentException"><paramref name="collection"/> contains one or more
            duplicate keys.</exception> 
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.#ctor(System.Collections.Generic.IEqualityComparer{`0})">
            <summary> 
            Initializes a new instance of the <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/>
            class that is empty, has the specified concurrency level and capacity, and uses the specified 
            <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>.
            </summary>
            <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>
            implementation to use when comparing keys.</param> 
            <exception cref="T:System.ArgumentNullException"><paramref name="comparer"/> is a null reference
            (Nothing in Visual Basic).</exception> 
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.#ctor(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}},System.Collections.Generic.IEqualityComparer{`0})">
            <summary> 
            Initializes a new instance of the <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/>
            class that contains elements copied from the specified <see cref="T:System.Collections.IEnumerable"/>, has the default concurrency level, has the default
            initial capacity, and uses the specified 
            <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>.
            </summary> 
            <param name="collection">The <see cref="T:System.Collections.IEnumerable{KeyValuePair{TKey,TValue}}"/> whose elements are copied to
            the new 
            <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/>.</param>
            <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>
            implementation to use when comparing keys.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="collection"/> is a null reference 
            (Nothing in Visual Basic). -or-
            <paramref name="comparer"/> is a null reference (Nothing in Visual Basic). 
            </exception> 
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.#ctor(System.Int32,System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}},System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/>
            class that contains elements copied from the specified <see cref="T:System.Collections.IEnumerable"/>, 
            has the specified concurrency level, has the specified initial capacity, and uses the specified
            <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>. 
            </summary> 
            <param name="concurrencyLevel">The estimated number of threads that will update the
            <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/> concurrently.</param> 
            <param name="collection">The <see cref="T:System.Collections.IEnumerable{KeyValuePair{TKey,TValue}}"/> whose elements are copied to the new
            <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/>.</param>
            <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/> implementation to use
            when comparing keys.</param> 
            <exception cref="T:System.ArgumentNullException">
            <paramref name="collection"/> is a null reference (Nothing in Visual Basic). 
            -or- 
            <paramref name="comparer"/> is a null reference (Nothing in Visual Basic).
            </exception> 
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="concurrencyLevel"/> is less than 1.
            </exception>
            <exception cref="T:System.ArgumentException"><paramref name="collection"/> contains one or more duplicate keys.</exception> 
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.#ctor(System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/>
            class that is empty, has the specified concurrency level, has the specified initial capacity, and 
            uses the specified <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>.
            </summary> 
            <param name="concurrencyLevel">The estimated number of threads that will update the 
            <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/> concurrently.</param>
            <param name="capacity">The initial number of elements that the <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/>
            can contain.</param>
            <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>
            implementation to use when comparing keys.</param> 
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="concurrencyLevel"/> is less than 1. -or- 
            <paramref name="capacity"/> is less than 0. 
            </exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="comparer"/> is a null reference 
            (Nothing in Visual Basic).</exception>
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.TryAdd(`0,`1)">
            <summary> 
            Attempts to add the specified key and value to the <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/>.
            </summary> 
            <param name="key">The key of the element to add.</param>
            <param name="value">The value of the element to add. The value can be a null reference (Nothing
            in Visual Basic) for reference types.</param>
            <returns>true if the key/value pair was added to the <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/>
            successfully; otherwise, false.</returns> 
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is null reference 
            (Nothing in Visual Basic).</exception>
            <exception cref="T:System.OverflowException">The <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/> 
            contains too many elements.</exception>
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.ContainsKey(`0)">
            <summary> 
            Determines whether the <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/> contains the specified
            key.
            </summary>
            <param name="key">The key to locate in the <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/>.</param>
            <returns>true if the <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/> contains an element with 
            the specified key; otherwise, false.</returns> 
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
            (Nothing in Visual Basic).</exception> 
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.TryRemove(`0,`1@)">
            <summary> 
            Attempts to remove and return the the value with the specified key from the
            <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/>.
            </summary>
            <param name="key">The key of the element to remove and return.</param> 
            <param name="value">When this method returns, <paramref name="value"/> contains the object removed from the
            <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/> or the default value of <typeparamref name="TValue"/> 
            if the operation failed.</param>
            <returns>true if an object was removed successfully; otherwise, false.</returns> 
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
            (Nothing in Visual Basic).</exception>
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.TryRemoveInternal(`0,`1@,System.Boolean,`1)">
            <summary>
            Removes the specified key from the dictionary if it exists and returns its associated value.
            If matchValue flag is set, the key will be removed only if is associated with a particular
            value. 
            </summary>
            <param name="key">The key to search for and remove if it exists.</param> 
            <param name="value">The variable into which the removed value, if found, is stored.</param> 
            <param name="matchValue">Whether removal of the key is conditional on its value.</param>
            <param name="oldValue">The conditional value to compare against if <paramref name="matchValue"/> is true</param> 
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.TryGetValue(`0,`1@)">
            <summary>
            Attempts to get the value associated with the specified key from the <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/>. 
            </summary>
            <param name="key">The key of the value to get.</param> 
            <param name="value">When this method returns, <paramref name="value"/> contains the object from
            the
            <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/> with the spedified key or the default value of
            <typeparamref name="TValue"/>, if the operation failed.</param> 
            <returns>true if the key was found in the <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/>;
            otherwise, false.</returns> 
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference 
            (Nothing in Visual Basic).</exception>
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.TryUpdate(`0,`1,`1)">
            <summary>
            Compares the existing value for the specified key with a specified value, and if they’re equal,
            updates the key with a third value. 
            </summary>
            <param name="key">The key whose value is compared with <paramref name="comparisonValue"/> and 
            possibly replaced.</param> 
            <param name="newValue">The value that replaces the value of the element with <paramref
            name="key"/> if the comparison results in equality.</param> 
            <param name="comparisonValue">The value that is compared to the value of the element with
            <paramref name="key"/>.</param>
            <returns>true if the value with <paramref name="key"/> was equal to <paramref
            name="comparisonValue"/> and replaced with <paramref name="newValue"/>; otherwise, 
            false.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null 
            reference.</exception> 
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.Clear">
            <summary> 
            Removes all keys and values from the <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/>.
            </summary> 
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#CopyTo(System.Collections.Generic.KeyValuePair{`0,`1}[],System.Int32)">
            <summary>
            Copies the elements of the <see cref="T:System.Collections.Generic.ICollection"/> to an array of 
            type <see cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>, starting at the
            specified array index.
            </summary>
            <param name="array">The one-dimensional array of type <see 
            cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>
            that is the destination of the <see 
            cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/> elements copied from the <see 
            cref="T:System.Collections.ICollection"/>. The array must have zero-based indexing.</param>
            <param name="index">The zero-based index in <paramref name="array"/> at which copying 
            begins.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="array"/> is a null reference
            (Nothing in Visual Basic).</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is less than 
            0.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="index"/> is equal to or greater than 
            the length of the <paramref name="array"/>. -or- The number of elements in the source <see 
            cref="T:System.Collections.ICollection"/>
            is greater than the available space from <paramref name="index"/> to the end of the destination 
            <paramref name="array"/>.</exception>
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.ToArray">
            <summary>
            Copies the key and value pairs stored in the <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/> to a 
            new array. 
            </summary>
            <returns>A new array containing a snapshot of key and value pairs copied from the <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/>.</returns>
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.CopyToPairs(System.Collections.Generic.KeyValuePair{`0,`1}[],System.Int32)">
             <summary>
             Copy dictionary contents to an array - shared implementation between ToArray and CopyTo.
            
             Important: the caller must hold all locks in m_locks before calling CopyToPairs. 
             </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.CopyToEntries(System.Collections.DictionaryEntry[],System.Int32)">
             <summary>
             Copy dictionary contents to an array - shared implementation between ToArray and CopyTo.
            
             Important: the caller must hold all locks in m_locks before calling CopyToEntries. 
             </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.CopyToObjects(System.Object[],System.Int32)">
             <summary>
             Copy dictionary contents to an array - shared implementation between ToArray and CopyTo.
            
             Important: the caller must hold all locks in m_locks before calling CopyToObjects. 
             </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.GetEnumerator">
            <summary>Returns an enumerator that iterates through the <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/>.</summary>
            <returns>An enumerator for the <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/>.</returns>
            <remarks> 
            The enumerator returned from the dictionary is safe to use concurrently with
            reads and writes to the dictionary, however it does not represent a moment-in-time snapshot 
            of the dictionary.  The contents exposed through the enumerator may contain modifications 
            made to the dictionary after <see cref="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.GetEnumerator"/> was called.
            </remarks> 
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.TryAddInternal(`0,`1,System.Boolean,System.Boolean,`1@)">
            <summary>
            Shared internal implementation for inserts and updates.
            If key exists, we always return false; and if updateIfExists == true we force update with value;
            If key doesn't exist, we always add value and return true; 
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.GetOrAdd(`0,System.Func{`0,`1})">
            <summary>
            Adds a key/value pair to the <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/> 
            if the key does not already exist. 
            </summary>
            <param name="key">The key of the element to add.</param> 
            <param name="valueFactory">The function used to generate a value for the key</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
            (Nothing in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="valueFactory"/> is a null reference 
            (Nothing in Visual Basic).</exception>
            <exception cref="T:System.OverflowException">The dictionary contains too many 
            elements.</exception> 
            <returns>The value for the key.  This will be either the existing value for the key if the
            key is already in the dictionary, or the new value for the key as returned by valueFactory 
            if the key was not in the dictionary.</returns>
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.GetOrAdd(`0,`1)">
            <summary> 
            Adds a key/value pair to the <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/>
            if the key does not already exist. 
            </summary>
            <param name="key">The key of the element to add.</param>
            <param name="value">the value to be added, if the key does not already exist</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference 
            (Nothing in Visual Basic).</exception>
            <exception cref="T:System.OverflowException">The dictionary contains too many 
            elements.</exception> 
            <returns>The value for the key.  This will be either the existing value for the key if the
            key is already in the dictionary, or the new value if the key was not in the dictionary.</returns> 
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.AddOrUpdate(`0,System.Func{`0,`1},System.Func{`0,`1,`1})">
            <summary>
            Adds a key/value pair to the <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/> if the key does not already
            exist, or updates a key/value pair in the <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/> if the key
            already exists. 
            </summary>
            <param name="key">The key to be added or whose value should be updated</param> 
            <param name="addValueFactory">The function used to generate a value for an absent key</param> 
            <param name="updateValueFactory">The function used to generate a new value for an existing key
            based on the key's existing value</param> 
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
            (Nothing in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="addValueFactory"/> is a null reference
            (Nothing in Visual Basic).</exception> 
            <exception cref="T:System.ArgumentNullException"><paramref name="updateValueFactory"/> is a null reference
            (Nothing in Visual Basic).</exception> 
            <exception cref="T:System.OverflowException">The dictionary contains too many 
            elements.</exception>
            <returns>The new value for the key.  This will be either be the result of addValueFactory (if the key was 
            absent) or the result of updateValueFactory (if the key was present).</returns>
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.AddOrUpdate(`0,`1,System.Func{`0,`1,`1})">
            <summary>
            Adds a key/value pair to the <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/> if the key does not already 
            exist, or updates a key/value pair in the <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/> if the key 
            already exists.
            </summary> 
            <param name="key">The key to be added or whose value should be updated</param>
            <param name="addValue">The value to be added for an absent key</param>
            <param name="updateValueFactory">The function used to generate a new value for an existing key based on
            the key's existing value</param> 
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
            (Nothing in Visual Basic).</exception> 
            <exception cref="T:System.ArgumentNullException"><paramref name="updateValueFactory"/> is a null reference 
            (Nothing in Visual Basic).</exception>
            <exception cref="T:System.OverflowException">The dictionary contains too many 
            elements.</exception>
            <returns>The new value for the key.  This will be either be the result of addValueFactory (if the key was
            absent) or the result of updateValueFactory (if the key was present).</returns>
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.System#Collections#Generic#IDictionary{TKey@TValue}#Add(`0,`1)">
            <summary>
            Adds the specified key and value to the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>. 
            </summary>
            <param name="key">The object to use as the key of the element to add.</param> 
            <param name="value">The object to use as the value of the element to add.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
            (Nothing in Visual Basic).</exception>
            <exception cref="T:System.OverflowException">The dictionary contains too many 
            elements.</exception>
            <exception cref="T:System.ArgumentException"> 
            An element with the same key already exists in the <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/>.</exception>
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.System#Collections#Generic#IDictionary{TKey@TValue}#Remove(`0)">
            <summary>
            Removes the element with the specified key from the <see 
            cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.
            </summary>
            <param name="key">The key of the element to remove.</param>
            <returns>true if the element is successfully remove; otherwise false. This method also returns 
            false if
            <paramref name="key"/> was not found in the original <see 
            cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>. 
            </returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference 
            (Nothing in Visual Basic).</exception>
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#Add(System.Collections.Generic.KeyValuePair{`0,`1})">
            <summary> 
            Adds the specified value to the <see cref="T:System.Collections.Generic.ICollection{TValue}"/>
            with the specified key. 
            </summary>
            <param name="keyValuePair">The <see cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>
            structure representing the key and value to add to the <see
            cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.</param> 
            <exception cref="T:System.ArgumentNullException">The <paramref name="keyValuePair"/> of <paramref
            name="keyValuePair"/> is null.</exception> 
            <exception cref="T:System.OverflowException">The <see 
            cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>
            contains too many elements.</exception> 
            <exception cref="T:System.ArgumentException">An element with the same key already exists in the
            <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/></exception>
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#Contains(System.Collections.Generic.KeyValuePair{`0,`1})">
            <summary>
            Determines whether the <see cref="T:System.Collections.Generic.ICollection{TKey,TValue}"/> 
            contains a specific key and value.
            </summary>
            <param name="keyValuePair">The <see cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>
            structure to locate in the <see 
            cref="T:System.Collections.Generic.ICollection{TValue}"/>.</param>
            <returns>true if the <paramref name="keyValuePair"/> is found in the <see 
            cref="T:System.Collections.Generic.ICollection{TKey,TValue}"/>; otherwise, false.</returns> 
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#Remove(System.Collections.Generic.KeyValuePair{`0,`1})">
            <summary>
            Removes a key and value from the dictionary. 
            </summary>
            <param name="keyValuePair">The <see 
            cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/> 
            structure representing the key and value to remove from the <see
            cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.</param> 
            <returns>true if the key and value represented by <paramref name="keyValuePair"/> is successfully
            found and removed; otherwise, false.</returns>
            <exception cref="T:System.ArgumentNullException">The Key property of <paramref
            name="keyValuePair"/> is a null reference (Nothing in Visual Basic).</exception> 
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.System#Collections#IEnumerable#GetEnumerator">
            <summary>Returns an enumerator that iterates through the <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/>.</summary> 
            <returns>An enumerator for the <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/>.</returns>
            <remarks>
            The enumerator returned from the dictionary is safe to use concurrently with
            reads and writes to the dictionary, however it does not represent a moment-in-time snapshot 
            of the dictionary.  The contents exposed through the enumerator may contain modifications
            made to the dictionary after <see cref="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.GetEnumerator"/> was called. 
            </remarks> 
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.System#Collections#IDictionary#Add(System.Object,System.Object)">
            <summary>
            Adds the specified key and value to the dictionary. 
            </summary>
            <param name="key">The object to use as the key.</param>
            <param name="value">The object to use as the value.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference 
            (Nothing in Visual Basic).</exception>
            <exception cref="T:System.OverflowException">The dictionary contains too many 
            elements.</exception> 
            <exception cref="T:System.ArgumentException">
            <paramref name="key"/> is of a type that is not assignable to the key type <typeparamref 
            name="TKey"/> of the <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>. -or-
            <paramref name="value"/> is of a type that is not assignable to <typeparamref name="TValue"/>,
            the type of values in the <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.
            -or- A value with the same key already exists in the <see 
            cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.
            </exception> 
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.System#Collections#IDictionary#Contains(System.Object)">
            <summary> 
            Gets whether the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> contains an
            element with the specified key. 
            </summary>
            <param name="key">The key to locate in the <see
            cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.</param>
            <returns>true if the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> contains 
            an element with the specified key; otherwise, false.</returns>
            <exception cref="T:System.ArgumentNullException"> <paramref name="key"/> is a null reference 
            (Nothing in Visual Basic).</exception> 
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.System#Collections#IDictionary#GetEnumerator">
            <summary>Provides an <see cref="T:System.Collections.Generics.IDictionaryEnumerator"/> for the 
            <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.</summary> 
            <returns>An <see cref="T:System.Collections.Generics.IDictionaryEnumerator"/> for the <see
            cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.</returns> 
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.System#Collections#IDictionary#Remove(System.Object)">
            <summary> 
            Removes the element with the specified key from the <see
            cref="T:System.Collections.IDictionary"/>. 
            </summary>
            <param name="key">The key of the element to remove.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
            (Nothing in Visual Basic).</exception> 
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
            <summary>
            Copies the elements of the <see cref="T:System.Collections.ICollection"/> to an array, starting
            at the specified array index. 
            </summary>
            <param name="array">The one-dimensional array that is the destination of the elements copied from 
            the <see cref="T:System.Collections.ICollection"/>. The array must have zero-based 
            indexing.</param>
            <param name="index">The zero-based index in <paramref name="array"/> at which copying 
            begins.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="array"/> is a null reference
            (Nothing in Visual Basic).</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is less than 
            0.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="index"/> is equal to or greater than 
            the length of the <paramref name="array"/>. -or- The number of elements in the source <see 
            cref="T:System.Collections.ICollection"/>
            is greater than the available space from <paramref name="index"/> to the end of the destination 
            <paramref name="array"/>.</exception>
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.GrowTable(JetBrains.Util.dataStructures.ConcurrentDictionary{`0,`1}.Node[])">
            <summary> 
            Replaces the internal table with a larger one. To prevent multiple threads from resizing the 
            table as a result of ----s, the table of buckets that was deemed too small is passed in as
            an argument to GrowTable(). GrowTable() obtains a lock, and then checks whether the bucket 
            table has been replaced in the meantime or not.
            </summary>
            <param name="buckets">Reference to the bucket table that was deemed too small.</param>
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.GetBucketAndLockNo(System.Int32,System.Int32@,System.Int32@,System.Int32)">
            <summary>
            Computes the bucket and lock number for a particular key. 
            </summary> 
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.AcquireAllLocks(System.Int32@)">
            <summary> 
            Acquires all locks for this hash table, and increments locksAcquired by the number
            of locks that were successfully acquired. The locks are acquired in an increasing
            order.
            </summary> 
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.AcquireLocks(System.Int32,System.Int32,System.Int32@)">
            <summary> 
            Acquires a contiguous range of locks for this hash table, and increments locksAcquired
            by the number of locks that were successfully acquired. The locks are acquired in an
            increasing order.
            </summary> 
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.ReleaseLocks(System.Int32,System.Int32)">
            <summary> 
            Releases a contiguous range of locks.
            </summary> 
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.GetKeys">
            <summary>
            Gets a collection containing the keys in the dictionary. 
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.GetValues">
            <summary>
            Gets a collection containing the values in the dictionary.
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.Assert(System.Boolean)">
            <summary>
            A helper method for asserts. 
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.GetResource(System.String)">
            <summary>
            A helper function to obtain the string for a particular resource key.
            </summary>
            <param name="key"></param> 
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.OnSerializing(System.Runtime.Serialization.StreamingContext)">
            <summary> 
            Get the data array to be serialized
            </summary> 
        </member>
        <member name="M:JetBrains.Util.dataStructures.ConcurrentDictionary`2.OnDeserialized(System.Runtime.Serialization.StreamingContext)">
            <summary> 
            Construct the dictionary from a previously seiralized one
            </summary> 
        </member>
        <member name="P:JetBrains.Util.dataStructures.ConcurrentDictionary`2.Item(`0)">
            <summary>
            Gets or sets the value associated with the specified key. 
            </summary> 
            <param name="key">The key of the value to get or set.</param>
            <value>The value associated with the specified key. If the specified key is not found, a get 
            operation throws a
            <see cref="T:Sytem.Collections.Generic.KeyNotFoundException"/>, and a set operation creates a new
            element with the specified key.</value>
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference 
            (Nothing in Visual Basic).</exception>
            <exception cref="T:System.Collections.Generic.KeyNotFoundException">The property is retrieved and 
            <paramref name="key"/> 
            does not exist in the collection.</exception>
        </member>
        <member name="P:JetBrains.Util.dataStructures.ConcurrentDictionary`2.Count">
            <summary>
            Gets the number of key/value pairs contained in the <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/>.
            </summary> 
            <exception cref="T:System.OverflowException">The dictionary contains too many
            elements.</exception> 
            <value>The number of key/value paris contained in the <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/>.</value>
            <remarks>Count has snapshot semantics and represents the number of items in the <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/>
            at the moment when Count was accessed.</remarks>
        </member>
        <member name="P:JetBrains.Util.dataStructures.ConcurrentDictionary`2.IsEmpty">
            <summary> 
            Gets a value that indicates whether the <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/> is empty. 
            </summary>
            <value>true if the <see cref="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2"/> is empty; otherwise, 
            false.</value>
        </member>
        <member name="P:JetBrains.Util.dataStructures.ConcurrentDictionary`2.Keys">
            <summary>
            Gets a collection containing the keys in the <see 
            cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.
            </summary>
            <value>An <see cref="T:System.Collections.Generic.ICollection{TKey}"/> containing the keys in the
            <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.</value> 
        </member>
        <member name="P:JetBrains.Util.dataStructures.ConcurrentDictionary`2.Values">
            <summary>
            Gets a collection containing the values in the <see
            cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.
            </summary> 
            <value>An <see cref="T:System.Collections.Generic.ICollection{TValue}"/> containing the values in
            the 
            <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.</value> 
        </member>
        <member name="P:JetBrains.Util.dataStructures.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#IsReadOnly">
            <summary> 
            Gets a value indicating whether the dictionary is read-only.
            </summary>
            <value>true if the <see cref="T:System.Collections.Generic.ICollection{TKey,TValue}"/> is
            read-only; otherwise, false. For <see 
            cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>, this property always returns
            false.</value> 
        </member>
        <member name="P:JetBrains.Util.dataStructures.ConcurrentDictionary`2.System#Collections#IDictionary#IsFixedSize">
            <summary> 
            Gets a value indicating whether the <see 
            cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> has a fixed size.
            </summary> 
            <value>true if the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> has a
            fixed size; otherwise, false. For <see
            cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>, this property always
            returns false.</value> 
        </member>
        <member name="P:JetBrains.Util.dataStructures.ConcurrentDictionary`2.System#Collections#IDictionary#IsReadOnly">
            <summary>
            Gets a value indicating whether the <see
            cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> is read-only.
            </summary> 
            <value>true if the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> is
            read-only; otherwise, false. For <see 
            cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>, this property always 
            returns false.</value>
        </member>
        <member name="P:JetBrains.Util.dataStructures.ConcurrentDictionary`2.System#Collections#IDictionary#Keys">
            <summary>
            Gets an <see cref="T:System.Collections.ICollection"/> containing the keys of the <see 
            cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>. 
            </summary>
            <value>An <see cref="T:System.Collections.ICollection"/> containing the keys of the <see 
            cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.</value>
        </member>
        <member name="P:JetBrains.Util.dataStructures.ConcurrentDictionary`2.System#Collections#IDictionary#Values">
            <summary> 
            Gets an <see cref="T:System.Collections.ICollection"/> containing the values in the <see
            cref="T:System.Collections.IDictionary"/>. 
            </summary>
            <value>An <see cref="T:System.Collections.ICollection"/> containing the values in the <see
            cref="T:System.Collections.IDictionary"/>.</value>
        </member>
        <member name="P:JetBrains.Util.dataStructures.ConcurrentDictionary`2.System#Collections#IDictionary#Item(System.Object)">
            <summary> 
            Gets or sets the value associated with the specified key.
            </summary>
            <param name="key">The key of the value to get or set.</param>
            <value>The value associated with the specified key, or a null reference (Nothing in Visual Basic) 
            if <paramref name="key"/> is not in the dictionary or <paramref name="key"/> is of a type that is
            not assignable to the key type <typeparamref name="TKey"/> of the <see 
            cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>.</value> 
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
            (Nothing in Visual Basic).</exception> 
            <exception cref="T:System.ArgumentException">
            A value is being assigned, and <paramref name="key"/> is of a type that is not assignable to the
            key type <typeparamref name="TKey"/> of the <see
            cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>. -or- A value is being 
            assigned, and <paramref name="key"/> is of a type that is not assignable to the value type
            <typeparamref name="TValue"/> of the <see 
            cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/> 
            </exception>
        </member>
        <member name="P:JetBrains.Util.dataStructures.ConcurrentDictionary`2.System#Collections#ICollection#IsSynchronized">
            <summary>
            Gets a value indicating whether access to the <see cref="T:System.Collections.ICollection"/> is 
            synchronized with the SyncRoot. 
            </summary>
            <value>true if access to the <see cref="T:System.Collections.ICollection"/> is synchronized 
            (thread safe); otherwise, false. For <see
            cref="T:System.Collections.Concurrent.ConcurrentDictionary{TKey,TValue}"/>, this property always
            returns false.</value>
        </member>
        <member name="P:JetBrains.Util.dataStructures.ConcurrentDictionary`2.System#Collections#ICollection#SyncRoot">
            <summary> 
            Gets an object that can be used to synchronize access to the <see
            cref="T:System.Collections.ICollection"/>. This property is not supported.
            </summary>
            <exception cref="T:System.NotSupportedException">The SyncRoot property is not supported.</exception> 
        </member>
        <member name="P:JetBrains.Util.dataStructures.ConcurrentDictionary`2.DefaultConcurrencyLevel">
            <summary> 
            The number of concurrent writes for which to optimize by default.
            </summary>
        </member>
        <member name="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2.Node">
            <summary>
            A node in a singly-linked list representing a particular hash table bucket. 
            </summary>
        </member>
        <member name="T:JetBrains.Util.dataStructures.ConcurrentDictionary`2.DictionaryEnumerator">
            <summary>
            A private class to represent enumeration over the dictionary that implements the 
            IDictionaryEnumerator interface. 
            </summary>
        </member>
        <member name="T:JetBrains.Util.Caches.DirectMappedCache`2">
            <summary>
            Fixed-size cache with only one element for bucket (hashcode % length) retained. <see cref="!:http://en.wikipedia.org/wiki/CPU_cache"/>  
            </summary>
            <typeparam name="TKey"></typeparam>
            <typeparam name="TValue"></typeparam>
        </member>
        <member name="M:JetBrains.Util.Caches.DirectMappedCache`2.GetOrCreate``1(``0,System.Func{``0,`1})">
            <summary>
            Trying to get element from cache. If nothing found, creates from provider.    
            </summary>
            <typeparam name="TKeyInheritor">Any inheritor of <see cref="!:TKey"/> or <see cref="!:TKey"/> itself</typeparam>
            <param name="key">Key in cache</param>    
            <param name="provider">Function that generates value in case when key isn't in cache</param>
            <returns>Value either from cache or generater by <c>producer</c></returns>
        </member>
        <member name="M:JetBrains.Util.Caches.DirectMappedCache`2.GetOrCreate``2(``0,``1,System.Func{``0,``1,`1})">
            <summary>
            Trying to get element from cache. If nothing found, creates from provider.
            This method is useful in case when you don't want to produce additional closure and lambda for functions with 2 parameters
            </summary>
            <typeparam name="TParam">Additional producer's parameter type</typeparam>
            <typeparam name="TKeyInheritor">Any inheritor of <see cref="!:TKey"/> or <see cref="!:TKey"/> itself</typeparam>
            <param name="key">Key in cache</param>
            <param name="param">Additional producer's parameter</param>
            <param name="provider">Function that generates value in case when key isn't in cache</param>
            <returns>Value either from cache or generater by <c>producer</c></returns>
        </member>
        <member name="T:JetBrains.Util.dataStructures.FibFinder">
            <summary>
            Utility for fibbonacci number 
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.FibFinder.NextFib(System.Int32)">
            <summary>
            Find minimal fib number larger or equal to give
            </summary>
            <returns>lowest fibbonaci number greater or equal to given</returns>
        </member>
        <member name="M:JetBrains.Util.dataStructures.FibFinder.NextFibIndex(System.Int32)">
            <summary>
            Searches index <b>idx</b> in array <see cref="F:JetBrains.Util.dataStructures.FibFinder.FibSeq"/> such as <b>idx</b> - lowest possible number that satisfies <see cref="F:JetBrains.Util.dataStructures.FibFinder.FibSeq"/>[<b>idx</b>] &gt;= <b>x</b>.
            </summary>
            <param name="x">Input value</param>
            <returns>Index in  <see cref="F:JetBrains.Util.dataStructures.FibFinder.FibSeq"/> </returns>
        </member>
        <member name="T:JetBrains.Util.dataStructures.IntSet">
            <summary>
            Hash set for ints. Internally contains a single array so memory usage is low (but loadfactor is 0.75 to provide high speed for Add, Contains and Remove operations).
            The set is initialized with so-called marker element (0 by default) which is always contained in this set (you can't remove it). So set minimum size (<see cref="P:JetBrains.Util.dataStructures.IntSet.Count"/>) is 1.
            </summary>
        </member>
        <member name="F:JetBrains.Util.dataStructures.IntSet.NextBucketShift">
            <summary>
            Not equal to any number obtained by <see cref="M:JetBrains.Util.DataStructures.PrimeFinder.NextPrime(System.Int32)"/> 
            </summary>
        </member>
        <member name="F:JetBrains.Util.dataStructures.ValueRefEntry.SizeNBits">
            <summary>
            26 bits for size means we one key can hold from 0 to 67,108,864 values exclusively.
            </summary>
        </member>
        <member name="F:JetBrains.Util.dataStructures.ValueRefEntry.CapacityNBits">
            <summary>
            Capacity for a given key is a log2 for #fibbonacci_number (0 is reserved for exact fit capacity). So maximum capacity is fib(64) which is 
            far larger than maximum count (as per <see cref="F:JetBrains.Util.dataStructures.ValueRefEntry.SizeNBits"/>).
            </summary>
        </member>
        <member name="T:JetBrains.Util.dataStructures.MultimapStorage`1">
            <summary>
            Analogous to <see cref="T:JetBrains.Util.DataStructures.ChunkList`1"/> but correctly handles <see cref="M:JetBrains.Util.dataStructures.MultimapStorage`1.set_Item(System.Int32,`0)"/> with index bigger than current capacity. Also includes some additional
            facilities like <see cref="M:JetBrains.Util.dataStructures.MultimapStorage`1.CompactToNewCount(System.Int32)"/> which is used in enclosing map's compaction procedure.
            </summary>
            <typeparam name="TValue"></typeparam>
        </member>
        <member name="T:JetBrains.Util.dataStructures.MultimapValueCollectionEnumerator`1">
            <summary>
            Struct enumerator to reduce memory traffic
            </summary>
            <typeparam name="TValue"></typeparam>
        </member>
        <member name="F:JetBrains.Util.dataStructures.KeyToEntryMap`1.NextBucketShift">
            <summary>
            Not equal to any number obtained by <see cref="M:JetBrains.Util.DataStructures.PrimeFinder.NextPrime(System.Int32)"/> 
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.OneToListMultimap`2.Compact">
            <summary>
            Compacts and returns number of compacted entries.
            </summary>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.dataStructures.OneToListMultimap`2.CompactConditionally">
            <summary>
            Compacts if CompactionPolicy is met.
            </summary>
            <returns>Number of compacted entries or -1 if CompactionPolicy is not met</returns>
        </member>
        <member name="P:JetBrains.Util.dataStructures.OneToListMultimap`2.Item(`0)">
            <summary>
            Gets or sets the element with the specified key.
            </summary>
            <returns>
            The element with the specified key.
            </returns>
            <param name="key">The key of the element to get or set.</param><exception cref="T:System.ArgumentNullException"><paramref name="key"/> is null.</exception><exception cref="T:System.Collections.Generic.KeyNotFoundException">The property is retrieved and <paramref name="key"/> is not found.</exception><exception cref="T:System.NotSupportedException">The property is set and the <see cref="T:System.Collections.Generic.IDictionary`2"/> is read-only.</exception>
        </member>
        <member name="T:JetBrains.Util.dataStructures.RawCircularBufferHeader">
            <summary>
              Implements a raw circular buffer which is attached to an existing memory pointer (e.g. to work on some shared memory).
            </summary>
            <remarks>
              Strategy: manages allocation of sequential memory chunks called messages.
              <see cref="F:JetBrains.Util.dataStructures.RawCircularBufferHeader.TotalSize"/> is the total available space of the buffer. <see cref="F:JetBrains.Util.dataStructures.RawCircularBufferHeader.BufferHeaderSize"/> bytes in the beginning are occupied by this header structure.
              The remaining memory is either empty, or occupied by a single contiguous used block of messages (
              <see cref="F:JetBrains.Util.dataStructures.RawCircularBufferHeader.BlockHead"/>
              ), or by two contiguous blocks after the content wraps over the buffer end.
              Possible layouts:
              [header] {head} -empty-                       // just started writing
              [header] -empty1- {head} -empty2-             // read some first messages of the written
              [header] {head} -empty1- {tail} -empty2-      // attempted writing new messafe after {head}, there were not enough space till the end of the buffer, so we wrapped head to the beginning (there's small -empty2- because we do not break messages when wrapping around the buffer, message memory is always contiguous)
              and then it goes all around
            </remarks>
        </member>
        <member name="M:JetBrains.Util.dataStructures.RawCircularBufferHeader.TryReadMessage(JetBrains.Util.dataStructures.RawCircularBufferHeader*,System.Action{JetBrains.Util.dataStructures.ByteBuffer})">
            <summary>
              Reads the message, if any present, and invokes the callback. Returns whether there was any message to invoke the callback with.
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.RawCircularBufferHeader.TryReadMessage(JetBrains.Util.dataStructures.RawCircularBufferHeader*)">
            <summary>
              Reads the message, if any present. If not, yields <c>Null</c>.
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.RawCircularBufferHeader.TryWriteMessage(JetBrains.Util.dataStructures.RawCircularBufferHeader*,System.Byte[])">
            <summary>
              Tries to write message, returns <c>False</c> if there's no space left.
            </summary>
        </member>
        <member name="P:JetBrains.Util.dataStructures.RawCircularBufferHeader.FreeSpace">
            <summary>
              The available free space at this moment.
            </summary>
        </member>
        <member name="P:JetBrains.Util.dataStructures.RawCircularBufferHeader.MaxDataSize">
            <summary>
              Maximum payload size (that's max free space minus the message header).
            </summary>
        </member>
        <member name="T:JetBrains.Util.dataStructures.SafeUnmanagedMemory">
            <summary>
            Unmanaged piece of memory that MUST be taken by <code>using (var mem = SafeUnmanagedMemory.Alloc(sizeInBytes) {...}</code> construct.
            Works faster then <see cref="T:JetBrains.Util.UnmanagedBlock"/> because doesn't use <see cref="T:System.Runtime.InteropServices.SafeHandle"/> utility inside.
            </summary>
        </member>
        <member name="T:JetBrains.Util.dataStructures.SimpleTrie`2">
            <summary>
            A trie which stores hierarchically nodes whose keys are lists of <typeparamref name="TKey"/>.
            </summary>
        </member>
        <member name="F:JetBrains.Util.dataStructures.SimpleTrie`2.myRootNode">
            <summary>
            Synthetic root.
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.SimpleTrie`2.RemoveAllKeyPrefixes(System.Collections.Generic.IList{`0})">
            <summary>
            Removes all nodes on any possible prefixes of <paramref name="keys"/>.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Collections.LimitedDictionary`2">
            <summary>
            Cache of most recently used items.
            No position update on access.
            </summary>
        </member>
        <member name="T:JetBrains.Util.CompoundException">
            <summary>
            Aggregates multiple exceptions.
            </summary>
        </member>
        <member name="M:JetBrains.Util.CompoundException.ToString">
            <summary>
            Creates and returns a string representation of the current exception.
            </summary>
            <returns>
            A string representation of the current exception.
            </returns>
            <filterpriority>1</filterpriority>
             <PermissionSet><IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" PathDiscovery="*AllFiles*" /></PermissionSet>
        </member>
        <member name="P:JetBrains.Util.CompoundException.Message">
            <summary>
            Gets a message that describes the current exception.
            </summary>
            <returns>
            The error message that explains the reason for the exception, or an empty string("").
            </returns>
            <filterpriority>1</filterpriority>
        </member>
        <member name="M:JetBrains.Util.Concurrency.GroupingEventHostEx.QueueAtShort(JetBrains.Threading.GroupingEventHost,JetBrains.DataFlow.Lifetime,System.String,System.TimeSpan,System.Action)">
            <summary>
            <para>Queues the action to execute once on the <paramref name="thіs"/>.<see cref="F:JetBrains.Threading.GroupingEventHost.ReentrancyGuard"/>.<see cref="P:JetBrains.Threading.ReentrancyGuard.Dispatcher"/> thread when the timeout elapses.</para>
            <para>Handles intervals smaller than <see cref="F:JetBrains.Threading.GroupingEvent.MaxInterval"/> only.</para>
            <para>Returns a token that cancels the action execution. The token disposal is optional.</para>
            <para>The execution will be either guarded or not, depending on the presence of <see cref="F:JetBrains.Threading.GroupingEventHost.ReentrancyGuard"/> property value.</para>
            </summary>
            <param name="thіs"><c>this</c></param>
            <param name="lifetime"></param>
            <param name="name">The name for the task.</param>
            <param name="F">The action to execute. Exceptions will be trapped.</param>
            <param name="interval">A non-negative time interval.</param>
        </member>
        <member name="T:JetBrains.Util.Concurrency.LockObject">
            <summary>
            When you need to create an instance of some object to <c>lock</c> against it (<see cref="M:System.Threading.Monitor.Enter(System.Object)"/>), use this class.
            It has an additional method for entering the lock with a timeout (throwing an exception if failed).
            </summary>
        </member>
        <member name="M:JetBrains.Util.Concurrency.LockObject.UsingLock(System.TimeSpan)">
            <summary>
            Takes a lock. If the timeout expires before the lock can be acquired, throws an exception.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Concurrency.ReaderWriterLockSlimEx.EnterWriteLock(System.Threading.ReaderWriterLockSlim,System.TimeSpan)">
            <summary>
            Enters the writer lock. If the time limit expires, throws an exception.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Concurrency.ReaderWriterLockSlimEx.UsingWriteLock(System.Threading.ReaderWriterLockSlim,System.TimeSpan)">
            <summary>
            Enters the writer lock. If the time limit expires, throws an exception.
            Exits the writer lock when you dispose of the return value.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Concurrency.ReaderWriterLockSlimEx.UsingWriteLock(System.Threading.ReaderWriterLockSlim)">
            <summary>
            For high performance code. No lambda and heap allocation.
            </summary>    
        </member>
        <member name="M:JetBrains.Util.Concurrency.ReaderWriterLockSlimEx.EnterReadLock(System.Threading.ReaderWriterLockSlim,System.TimeSpan)">
            <summary>
            Enters the reader lock. If the time limit expires, throws an exception.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Concurrency.ReaderWriterLockSlimEx.EnterReadLock(System.Threading.ReaderWriterLockSlim,System.Int32)">
            <summary>
            Enters the reader lock. If the time limit expires, throws an exception.
            NOTE: this overload takes milliseconds for perf because it's what the library method uses internally.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Concurrency.ReaderWriterLockSlimEx.UsingReadLock(System.Threading.ReaderWriterLockSlim,System.TimeSpan)">
            <summary>
            Enters the reader lock. If the time limit expires, throws an exception.
            Exits the reader lock when you dispose of the return value.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Concurrency.ReaderWriterLockSlimEx.UsingReadLock(System.Threading.ReaderWriterLockSlim)">
            <summary>
            For high performance code. No lambda and heap allocation.
            </summary>    
        </member>
        <member name="M:JetBrains.Util.Concurrency.ReaderWriterLockSlimEx.EnterUpgradeableReadLock(System.Threading.ReaderWriterLockSlim,System.TimeSpan)">
            <summary>
            Enters the reader lock upgradeable to writer lock (by a nested <see cref="M:JetBrains.Util.Concurrency.ReaderWriterLockSlimEx.EnterWriteLock(System.Threading.ReaderWriterLockSlim,System.TimeSpan)"/> request). If the time limit expires, throws an exception.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Concurrency.ReaderWriterLockSlimEx.UsingUpgradeableReadLock(System.Threading.ReaderWriterLockSlim,System.TimeSpan)">
            <summary>
            Enters the reader lock upgradeable to writer lock (by a nested <see cref="M:JetBrains.Util.Concurrency.ReaderWriterLockSlimEx.EnterWriteLock(System.Threading.ReaderWriterLockSlim,System.TimeSpan)"/> request). If the time limit expires, throws an exception.
            Exits the reader lock when you dispose of the return value.
            </summary>
        </member>
        <member name="M:JetBrains.Threading.ReentrancyGuardEx.Queue(JetBrains.Threading.ReentrancyGuard,JetBrains.DataFlow.Lifetime,System.String,System.Action)">
            <summary>
            <para>Queues the action to execute asynchronously on the <see cref="P:JetBrains.Threading.ReentrancyGuard.Dispatcher"/> thread in a <see cref="T:JetBrains.Threading.ReentrancyGuard">guarded context</see>, as soon as possible. Reclaims the queueing and cancels the action from executing when the lifetime ends.</para>
            <para>The reentrancy between guarded actions is prevented.</para>
            </summary>
            <param name="thіs"></param>
            <param name="lifetime"></param>
            <param name="name">The name for the task.</param>
            <param name="F">The action to execute. Exceptions will be trapped.</param>
        </member>
        <member name="M:JetBrains.Threading.ReentrancyGuardEx.ExecuteOrQueue(JetBrains.Threading.ReentrancyGuard,JetBrains.DataFlow.Lifetime,System.String,System.Action)">
            <summary>
            <para>Executes an action on the <see cref="P:JetBrains.Threading.ReentrancyGuard.Dispatcher"/> thread in a <see cref="T:JetBrains.Threading.ReentrancyGuard">guarded context</see>.</para>
            <para>If called on a foreign thread, executes the action asynchronously, like <see cref="M:JetBrains.Threading.ReentrancyGuardEx.Queue(JetBrains.Threading.ReentrancyGuard,JetBrains.DataFlow.Lifetime,System.String,System.Action)"/>.</para>
            <para>If called on the guarded thread, checks for reentrancy. If there are no guarded executions on the stack yet, executes the action immediately and synchronously, like <see cref="M:JetBrains.Threading.ReentrancyGuard.Execute(System.String,System.Action)"/>. Otherwise, postpones the action for asynchronous execution, like <see cref="M:JetBrains.Threading.ReentrancyGuardEx.Queue(JetBrains.Threading.ReentrancyGuard,JetBrains.DataFlow.Lifetime,System.String,System.Action)"/> does.</para>
            </summary>
            <param name="thіs"></param>
            <param name="lifetime"></param>
            <param name="name">The name for the task.</param>
            <param name="F">The action to execute. Exceptions will be trapped.</param>
            <returns><c>True</c> if executed immediately, <c>False</c> if queued (<see cref="M:JetBrains.Threading.ReentrancyGuard.TryExecute(System.String,System.Action)"/>-compatible behavior).</returns>
        </member>
        <member name="M:JetBrains.Threading.ReentrancyGuardEx.ExecuteOrQueueEx(JetBrains.Threading.ReentrancyGuard,JetBrains.DataFlow.Lifetime,System.String,System.Action)">
            <summary>
            <para>Executes an action on the <see cref="P:JetBrains.Threading.ReentrancyGuard.Dispatcher"/> thread in a <see cref="T:JetBrains.Threading.ReentrancyGuard">guarded context</see>.</para>
            <para>If called on a foreign thread, executes the action asynchronously, like <see cref="M:JetBrains.Threading.ReentrancyGuardEx.Queue(JetBrains.Threading.ReentrancyGuard,JetBrains.DataFlow.Lifetime,System.String,System.Action)"/>.</para>
            <para>If called on the guarded thread, checks for reentrancy. If there are no guarded executions on the stack yet, executes the action immediately and synchronously, like <see cref="M:JetBrains.Threading.ReentrancyGuard.Execute(System.String,System.Action)"/>. Otherwise, postpones the action for asynchronous execution, like <see cref="M:JetBrains.Threading.ReentrancyGuardEx.Queue(JetBrains.Threading.ReentrancyGuard,JetBrains.DataFlow.Lifetime,System.String,System.Action)"/> does.</para>
            <para>If Async behavior is prohibited, like in test environment, always executes synchronously.</para>
            </summary>
            <param name="thіs"></param>
            <param name="lifetime"></param>
            <param name="name">The name for the task.</param>
            <param name="F">The action to execute. Exceptions will be trapped.</param>
            <returns><c>True</c> if executed immediately, <c>False</c> if queued (<see cref="M:JetBrains.Threading.ReentrancyGuard.TryExecute(System.String,System.Action)"/>-compatible behavior).</returns>
        </member>
        <member name="M:JetBrains.Threading.ReentrancyGuardEx.ExecuteOrQueueEx(JetBrains.Threading.ReentrancyGuard,System.String,System.Action)">
            <summary>
            <para>Executes an action on the <see cref="P:JetBrains.Threading.ReentrancyGuard.Dispatcher"/> thread in a <see cref="T:JetBrains.Threading.ReentrancyGuard">guarded context</see>.</para>
            <para>If called on a foreign thread, executes the action asynchronously, like <see cref="M:JetBrains.Threading.ReentrancyGuardEx.Queue(JetBrains.Threading.ReentrancyGuard,JetBrains.DataFlow.Lifetime,System.String,System.Action)"/>.</para>
            <para>If called on the guarded thread, checks for reentrancy. If there are no guarded executions on the stack yet, executes the action immediately and synchronously, like <see cref="M:JetBrains.Threading.ReentrancyGuard.Execute(System.String,System.Action)"/>. Otherwise, postpones the action for asynchronous execution, like <see cref="M:JetBrains.Threading.ReentrancyGuardEx.Queue(JetBrains.Threading.ReentrancyGuard,JetBrains.DataFlow.Lifetime,System.String,System.Action)"/> does.</para>
            <para>If Async behavior is prohibited, like in test environment, always executes synchronously.</para>
            </summary>
            <param name="thіs"></param>
            <param name="name">The name for the task.</param>
            <param name="F">The action to execute. Exceptions will be trapped.</param>
            <returns><c>True</c> if executed immediately, <c>False</c> if queued (<see cref="M:JetBrains.Threading.ReentrancyGuard.TryExecute(System.String,System.Action)"/>-compatible behavior).</returns>
        </member>
        <member name="T:JetBrains.DataFlow.AddRemove">
            <summary>
            Defines whether the action is <see cref="F:JetBrains.DataFlow.AddRemove.Add"/> or <see cref="F:JetBrains.DataFlow.AddRemove.Remove"/>.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.AddRemove.Add">
            <summary>
            Adding.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.AddRemove.Remove">
            <summary>
            Removing.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.AddRemoveEventArgs`1">
            <summary>
            Notifies that the item is being added to or removed from an event-equipped collection.
            </summary>
            <typeparam name="TValue">Collection values type.</typeparam>
        </member>
        <member name="T:JetBrains.DataFlow.EventArgs`1">
            <summary>
            An event arguments class with one typed value.
            </summary>
            <typeparam name="TValue">Type of the value.</typeparam>
        </member>
        <member name="M:JetBrains.DataFlow.EventArgs`1.#ctor(`0)">
            <summary>
            Constructs the universal event args.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.EventArgs`1.Value">
            <summary>
            Gets the value.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.AddRemoveEventArgs`1.CreateAcknowledgementArgs(JetBrains.DataFlow.ICollectionEvents{`0},JetBrains.DataFlow.AddRemove,System.Object,System.Action{`0}@)">
            <summary>
            Creates the arguments specifically suited for acknowledgement, with the specific flag set and an ability to change the value in order to reuse the arguments object.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.AddRemoveEventArgs`1.Action">
            <summary>
            Gets the action (either <see cref="F:JetBrains.DataFlow.AddRemove.Add"/> or <see cref="F:JetBrains.DataFlow.AddRemove.Remove"/>).
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.AddRemoveEventArgs`1.Collection">
            <summary>
            Gets the owning event-equipped collection.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.AddRemoveEventArgs`1.Cookie">
            <summary>
            An optional cookie specified with the operation.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.AddRemoveEventArgs`1.IsAcknowledging">
            <summary>
            Gets whether the handler is being called in the Acknowledgement mode, that is, the items appear/disappear in the handler's view not because they're being put/removed into the collection, but because the collection itself comes/goes into view of the handler, with all of its items. This happens when you sink/unsink the signal.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.AddRemoveEventArgs`1.IsAdding">
            <summary>
            Gets whether <see cref="P:JetBrains.DataFlow.AddRemoveEventArgs`1.Action"/> is actually <see cref="F:JetBrains.DataFlow.AddRemove.Add"/>.
            Exactly one of <see cref="P:JetBrains.DataFlow.AddRemoveEventArgs`1.IsAdding"/> and <see cref="P:JetBrains.DataFlow.AddRemoveEventArgs`1.IsRemoving"/> is guaranteed to be <c>True</c>.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.AddRemoveEventArgs`1.IsRemoving">
            <summary>
            Gets whether <see cref="P:JetBrains.DataFlow.AddRemoveEventArgs`1.Action"/> is actually <see cref="F:JetBrains.DataFlow.AddRemove.Remove"/>.
            Exactly one of <see cref="P:JetBrains.DataFlow.AddRemoveEventArgs`1.IsAdding"/> and <see cref="P:JetBrains.DataFlow.AddRemoveEventArgs`1.IsRemoving"/> is guaranteed to be <c>True</c>.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.AddRemoveIndexEventArgs`1">
            <summary>
            Notifies that the item is being added to or removed from an event-equipped list.
            </summary>
            <typeparam name="TValue">Collection values type.</typeparam>
        </member>
        <member name="M:JetBrains.DataFlow.AddRemoveIndexEventArgs`1.CreateAcknowledgementArgs(JetBrains.DataFlow.ICollectionEvents{`0},JetBrains.DataFlow.AddRemove,System.Object,System.Action{`0,System.Int32}@)">
            <summary>
            Creates the arguments specifically suited for acknowledgement, with the specific flag set and an ability to change the value in order to reuse the arguments object.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.AddRemoveIndexEventArgs`1.Index">
            <summary>
            Gets the index at which the change is happening.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.BeforeAddRemoveEventArgs`1">
            <summary>
            Notifies that the item will be added to or removed from an event-equipped collection, and allows to cancel this action.
            </summary>
            <typeparam name="TValue">Collection values type.</typeparam>
        </member>
        <member name="M:JetBrains.DataFlow.BeforeAddRemoveEventArgs`1.CreateAcknowledgementArgs(JetBrains.DataFlow.ICollectionEvents{`0},JetBrains.DataFlow.AddRemove,System.Object,System.Action{`0}@)">
            <summary>
            Creates the arguments specifically suited for acknowledgement, with the specific flag set and an ability to change the value in order to reuse the arguments object.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.BeforeAddRemoveEventArgs`1.Cancel">
            <summary>
            Gets or sets whether the change will be cancelled.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.BeforeAddRemoveIndexEventArgs`1">
            <summary>
            Notifies that the item will be added to or removed from an event-equipped list, and allows to cancel this action.
            </summary>
            <typeparam name="TValue">Collection values type.</typeparam>
        </member>
        <member name="M:JetBrains.DataFlow.BeforeAddRemoveIndexEventArgs`1.CreateAcknowledgementArgs(JetBrains.DataFlow.ICollectionEvents{`0},JetBrains.DataFlow.AddRemove,System.Object,System.Action{`0,System.Int32}@)">
            <summary>
            Creates the arguments specifically suited for acknowledgement, with the specific flag set and an ability to change the value in order to reuse the arguments object.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.BeforeAddRemoveIndexEventArgs`1.Index">
            <summary>
            Gets the index at which the change is happening.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.BeforePropertyChangedEventArgs`1">
            <summary>
            Notifies of the intended property change.
            Comes before the <see cref="T:JetBrains.DataFlow.PropertyChangedEventArgs`1"/> and the actual property change, and allows to cancel the change.
            Acknowledges the fact that the property change can be either from “no value” to something, or from something to “no value”.
            </summary>
            <typeparam name="TValue">Type of the value.</typeparam>
        </member>
        <member name="T:JetBrains.DataFlow.PropertyChangedEventArgs`1">
            <summary>
            Notifies of the property change.
            Acknowledges the fact that the property change can be either from “no value” to something, or from something to “no value”.
            </summary>
            <typeparam name="TValue">Type of the value.</typeparam>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyChangedEventArgs`1.CreateBoth(JetBrains.DataFlow.Property{`0},`0,`0,System.Object)">
            <summary>
            Creates an instance that has both values defined.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyChangedEventArgs`1.CreateNew(JetBrains.DataFlow.Property{`0},`0,System.Object)">
            <summary>
            Creates an instance that has only the new value defined.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyChangedEventArgs`1.CreateOld(JetBrains.DataFlow.Property{`0},`0,System.Object)">
            <summary>
            Creates an instance that has only the old value defined.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.Cookie">
            <summary>
            Gets the property modification cookie (a freehand parameter).
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.HasNew">
            <summary>
            Gets whether the property will have a new value, ie <see cref="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.New"/> is defined.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.HasOld">
            <summary>
            Gets whether the property had an old value, ie <see cref="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.Old"/> is defined.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.IsAcknowledging">
            <summary>
            Gets whether the handler is being called in the acknowledgement mode, that is, because the property is coming into view or going off the view, and its value effectively changes either from “not known yet” to some value, or the other way.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.New">
            <summary>
            Gets the new value of the property.
            It's an error to request the value if not <see cref="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.HasNew"/>.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.Old">
            <summary>
            Gets the old value of the property.
            It's an error to request the value if not <see cref="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.HasOld"/>.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.Property">
            <summary>
            Gets the property that has changed.
            You should use the <see cref="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.Old"/> and <see cref="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.New"/> properties on this object instead of quering values from the property directly.
            You should not set new values to the property, unless you're sure you know what you're doing.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.BeforePropertyChangedEventArgs`1.CreateBoth(JetBrains.DataFlow.Property{`0},`0,`0,System.Object)">
            <summary>
            Creates an instance that has both values defined.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.BeforePropertyChangedEventArgs`1.CreateNew(JetBrains.DataFlow.Property{`0},`0,System.Object)">
            <summary>
            Creates an instance that has only the new value defined.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.BeforePropertyChangedEventArgs`1.CreateOld(JetBrains.DataFlow.Property{`0},`0,System.Object)">
            <summary>
            Creates an instance that has only the old value defined.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.BeforePropertyChangedEventArgs`1.Cancel">
            <summary>
            Gets or sets whether the change will be cancelled.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.CancelEventArgs`1">
            <summary>
            An event arguments class with one typed value and the Cancel functionality.
            </summary>
            <typeparam name="TValue">Type of the value.</typeparam>
        </member>
        <member name="P:JetBrains.DataFlow.CancelEventArgs`1.Cancel">
            <summary>
            Gets or sets whether the change will be cancelled.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.CollectionBridge`2">
            <summary>
            Bridges two unordered collection of items.
            The items flow from the first collection to the second one. Conversion and filtering is supported on the items.
            </summary>
            <typeparam name="TSource">Type of the source collection items.</typeparam>
            <typeparam name="TTarget">Type of the target collection items.</typeparam>
        </member>
        <member name="F:JetBrains.DataFlow.CollectionBridge`2.myMapBothWays">
            <summary>
            Two-way map, non-Null only in two-way mode.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.CollectionBridge`2.myMapSourceToTarget">
            <summary>
            One-way map, non-Null only in one-way mode.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionBridge`2.#ctor(JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.CollectionBridge.MappingInfo,JetBrains.DataFlow.ICollectionEvents{`0},JetBrains.DataFlow.ICollectionEvents{`1},System.Func{`0,`1},System.Object)">
            <summary>
            Wires up the bridge.
            </summary>
            <param name="lifetime">Lifetime for the bridge.</param>
            <param name="mappinginfo">Specifies which mapping information is maintained by the bridge — source-to-target only, or both ways. one-way is cheaper.</param>
            <param name="source">The source collection.</param>
            <param name="target">The target collection.</param>
            <param name="funcConverter">The conversion operator.</param>
            <param name="oTaregtModificationCookie">An otpional cookie to be passed to the <paramref name="target"/> collection when performing modification operations on it.</param>
        </member>
        <member name="P:JetBrains.DataFlow.CollectionBridge`2.AllowForeignTargetRemovals">
            <summary>
            <para>Whether the bridged items could be removed from the target collection by a foreign actor, and the bridge should ignore such occurences.</para>
            <para>When <c>True</c>, <see cref="F:JetBrains.DataFlow.AddRemove.Remove"/> does nothing when the target item is already not there. This is the default.</para>
            <para>When <c>False</c>, <see cref="F:JetBrains.DataFlow.AddRemove.Remove"/> throws when about to remove a nonexistent item.</para>
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.CollectionBridge`2.MappingInfo">
            <summary>
            Gets which mapping information is maintained by the bridge — source-to-target only, or both ways.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.CollectionBridge`2.MapSourceToTarget">
            <summary>
            Gets the read-only source-to-target mapping info. This one is always available.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.CollectionBridge`2.MapTargetToSource">
            <summary>
            Gets the read-only target-to-source mapping. Available only if <see cref="P:JetBrains.DataFlow.CollectionBridge`2.MappingInfo"/> is set to <see cref="F:JetBrains.DataFlow.CollectionBridge.MappingInfo.BothWays"/>; in other cases, throws a <see cref="T:System.NotSupportedException"/>.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.CollectionBridge`2.Source">
            <summary>
            Gets the source collection.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.CollectionBridge`2.Target">
            <summary>
            Gets the target collection.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.CollectionBridge">
            <summary>
            Supplimentary class for the <see cref="T:JetBrains.DataFlow.CollectionBridge`2"/> utility.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionBridge.BridgeInto``2(JetBrains.DataFlow.ICollectionEvents{``0},JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.ICollectionEvents{``1},System.Func{``0,``1},System.Object)">
            <summary>
            Mirrors one collection into another thru a converter.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.CollectionBridge.MappingInfo">
            <summary>
            Kind of info about collections mapping to be maintained by the bridge.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.CollectionBridge.MappingInfo.SourceToTarget">
            <summary>
            There's only data for translating from the source collection to the target one.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.CollectionBridge.MappingInfo.BothWays">
            <summary>
            There's data for translating both from source to target and from target to source collection items.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.CollectionEvents`1">
            <summary>
            A collection that fires events when items are added or removed.
            </summary>
            <typeparam name="TValue">Collection values type.</typeparam>
        </member>
        <member name="T:JetBrains.DataFlow.ICollectionEvents`1">
            <summary>
            A collection that fires events when items are added or removed.
            </summary>
            <typeparam name="TValue">Collection values type.</typeparam>
        </member>
        <member name="T:JetBrains.DataFlow.IViewable`1">
            <summary>
            A viewable collection of items 
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionEvents`1.Add(`0,System.Object)">
            <summary>
            Attempts to add the item to the collection.
            </summary>
            <param name="value">The value to be added.</param>
            <param name="cookie">An optional cookie that comes along with the notification events data.</param>
            <returns>Whether the item was added to the collection. An addition can be cancelled by the duplicates merger or the before-added handlers.</returns>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionEvents`1.AddRange(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Executes the <see cref="M:JetBrains.DataFlow.ICollectionEvents`1.Add(`0,System.Object)"/> operation for all the elements in the given collection.
            </summary>
            <param name="items">The collection whose elements should be added.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionEvents`1.Modify(JetBrains.DataFlow.AddRemove,`0,System.Object)">
            <summary>
            A universal method for modifications on the collection. Useful for data flow between the collections, when <see cref="P:JetBrains.DataFlow.ICollectionEvents`1.AddRemove"/> signal handler is pumping into another collection.
            </summary>
            <param name="action">Whether to add or remove the item.</param>
            <param name="item">The item to add or remove.</param>
            <param name="cookie">The optional modification cookie.</param>
            <returns>Success code.</returns>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionEvents`1.Remove(`0,System.Object)">
            <summary>
            Attempts to remove a value from the collection.
            </summary>
            <param name="value">The value to be removed.</param>
            <param name="cookie">An optional cookie that comes along with the notification events data.</param>
            <returns>Whether the item was removed from the collection. A removal may fail either if the item is missing from the collection, or the before-removed handlers have cancelled the operation.</returns>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionEvents`1.ToArray">
            <summary>
            <para>A thread-save version of the LINQ call.</para>
            </summary>
            <remarks>
            <para>The regular version for collections takes the <see cref="P:JetBrains.DataFlow.ICollectionEvents`1.Count"/> and then calls <see cref="M:System.Collections.Generic.ICollection`1.CopyTo(`0[],System.Int32)"/>, which is race condition prone.</para>
            </remarks>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionEvents`1.ToList">
            <summary>
            <para>A thread-save version of the LINQ call.</para>
            </summary>
            <remarks>
            <para>The regular version for collections takes the <see cref="P:JetBrains.DataFlow.ICollectionEvents`1.Count"/> and then calls <see cref="M:System.Collections.Generic.ICollection`1.CopyTo(`0[],System.Int32)"/>, which is race condition prone.</para>
            </remarks>
        </member>
        <member name="P:JetBrains.DataFlow.ICollectionEvents`1.AddRemove">
            <summary>
            Fires when an item is added or removed to your view on the collection.
            Throwing an exception does not prevent the item from being added or other handlers from being called.
            The event supports acknowledgement, which means that when you sink the event, all of the items currently in collection come into your view on the collection, so the add is fired for each. Similarly, remove is fired when you unsink and all of the elements go away from your view on the collection.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.ICollectionEvents`1.BeforeAddRemove">
            <summary>
            Fires before an item is added or removed.
            To prevent the add/remove operation, set <see cref="P:JetBrains.DataFlow.BeforeAddRemoveEventArgs`1.Cancel"/> to <c>True</c> (decline the operation silently) or throw an exception (the exception is let out to the caller). 
            After the first handler to cancel the operation, the remaining handlers may not be called.
            No <see cref="P:JetBrains.DataFlow.ICollectionEvents`1.AddRemove"/> are guaranteed to be executed if the operation is cancelled.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.ICollectionEvents`1.Count">
            <summary>
            Gets the number of elements contained in the collection.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.ICollectionEvents`1.Id">
            <summary>
            Gets the identification for this list.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.CollectionEvents`1.myStorage">
            <summary>
            Sync thru <see cref="F:JetBrains.DataFlow.CollectionEvents`1.myLock"/>.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionEvents`1.#ctor(JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.PropertyId{`0},System.Collections.Generic.ICollection{`0},System.Boolean,JetBrains.Util.ILogger)">
            <summary>
            <para>The universal constructor.</para>
            <para>Initializes the collection by giving the underlying storage that also implements the collection interface.</para>
            </summary>
            <param name="lifetime">
            <para>Defines the lifetime for the collection.</para>
            <para>When lifetime terminates, all of the handlers of the collection events are forcibly detached, which helps with preventing memory leaks.</para>
            </param>
            <param name="id">
            <para>An unique identifier for the list, to tell it apart in data flow chains.</para>
            <para>If callstack annotation is on, will appear on callstacks when collection is modified. Thus, only compile-time-defined values should be used, to avoid spawning too many dynamic methods at runtime.</para>
            </param>
            <param name="storage">The underlying collection, all the operations will be relayed to it.</param>
            <param name="bUniqueItems">Whether the <see cref="M:JetBrains.DataFlow.CollectionEvents`1.Add(`0)"/> method should abort silently if the collection already <see cref="M:JetBrains.DataFlow.CollectionEvents`1.Contains(`0)"/> the item being added.</param>
            <param name="logger">Logging facility optional override.</param>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionEvents`1.#ctor(System.String,System.Collections.Generic.ICollection{`0},System.Boolean)">
            <summary>
            Initializes the collection by giving the underlying storage that also implements the collection interface.
            </summary>
            <param name="id">
            <para>An unique identifier for the list, to tell it apart in data flow chains.</para>
            <para>If callstack annotation is on, will appear on callstacks when collection is modified. Thus, only compile-time-defined values should be used, to avoid spawning too many dynamic methods at runtime.</para>
            </param>
            <param name="storage">The underlying collection, all the operations will be relayed to it.</param>
            <param name="bUniqueItems">Whether the <see cref="M:JetBrains.DataFlow.CollectionEvents`1.Add(`0)"/> method should abort silently if the collection already <see cref="M:JetBrains.DataFlow.CollectionEvents`1.Contains(`0)"/> the item being added.</param>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionEvents`1.#ctor(JetBrains.DataFlow.Lifetime,System.String,System.Collections.Generic.ICollection{`0},System.Boolean)">
            <summary>
            Initializes the collection by giving the underlying storage that also implements the collection interface.
            </summary>
            <param name="lifetime">
            <para>Defines the lifetime for the collection.</para>
            <para>When lifetime terminates, all of the handlers of the collection events are forcibly detached, which helps with preventing memory leaks.</para>
            </param>
            <param name="id">
            <para>An unique identifier for the list, to tell it apart in data flow chains.</para>
            <para>If callstack annotation is on, will appear on callstacks when collection is modified. Thus, only compile-time-defined values should be used, to avoid spawning too many dynamic methods at runtime.</para>
            </param>
            <param name="storage">The underlying collection, all the operations will be relayed to it.</param>
            <param name="bUniqueItems">Whether the <see cref="M:JetBrains.DataFlow.CollectionEvents`1.Add(`0)"/> method should abort silently if the collection already <see cref="M:JetBrains.DataFlow.CollectionEvents`1.Contains(`0)"/> the item being added.</param>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionEvents`1.#ctor(System.String)">
            <summary>
            Creates a collection that is based on a <see cref="T:System.Collections.Generic.List`1"/> and merges duplicate items.
            </summary>
            <param name="id">
            <para>An unique identifier for the list, to tell it apart in data flow chains.</para>
            <para>If callstack annotation is on, will appear on callstacks when collection is modified. Thus, only compile-time-defined values should be used, to avoid spawning too many dynamic methods at runtime.</para>
            </param>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionEvents`1.#ctor(JetBrains.DataFlow.Lifetime,System.String)">
            <summary>
            Creates a collection that is based on a <see cref="T:System.Collections.Generic.List`1"/> and merges duplicate items.
            </summary>
            <param name="lifetime">
            <para>Defines the lifetime for the collection.</para>
            <para>When lifetime terminates, all of the handlers of the collection events are forcibly detached, which helps with preventing memory leaks.</para>
            </param>
            <param name="id">
            <para>An unique identifier for the list, to tell it apart in data flow chains.</para>
            <para>If callstack annotation is on, will appear on callstacks when collection is modified. Thus, only compile-time-defined values should be used, to avoid spawning too many dynamic methods at runtime.</para>
            </param>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionEvents`1.ThrowReadonlyFail(JetBrains.DataFlow.BeforeAddRemoveEventArgs{`0},System.Object)">
            <summary>
            Helper to throw an annotated exception whenever a collection fails the readonly lock precondition.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionEvents`1.ThrowThreadAffinityFail(JetBrains.DataFlow.BeforeAddRemoveEventArgs{`0},System.Threading.Thread)">
            <summary>
            Helper to throw an annotated exception whenever a collection fails the threading affinity precondition.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionEvents`1.FireAddRemove(JetBrains.DataFlow.AddRemove,`0,System.Object)">
            <summary>
            Fires the <see cref="P:JetBrains.DataFlow.CollectionEvents`1.AddRemove"/> event.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionEvents`1.FireBeforeAddRemove(JetBrains.DataFlow.AddRemove,`0,System.Object)">
            <summary>
            Fires the <see cref="P:JetBrains.DataFlow.CollectionEvents`1.BeforeAddRemove"/> event.
            Returns whether the operation has been cancelled.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionEvents`1.FireCollectionChanged(`0,JetBrains.DataFlow.AddRemove)">
            <summary>
            Fires the <see cref="E:System.Collections.Specialized.INotifyCollectionChanged.CollectionChanged"/> event in case the index is not known.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionEvents`1.FireCollectionChanged(`0,System.Int32,JetBrains.DataFlow.AddRemove)">
            <summary>
            Fires the <see cref="E:System.Collections.Specialized.INotifyCollectionChanged.CollectionChanged"/> event in case the index is known.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionEvents`1.FirePropertyChanged(System.String)">
            <summary>
            Fires the <see cref="E:System.ComponentModel.INotifyPropertyChanged.PropertyChanged"/> event.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionEvents`1.InternalAdd(`0,System.Object)">
            <summary>
            One of the core methods that implement the actual functionality.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionEvents`1.InternalRemove(`0,System.Object)">
            <summary>
            One of the core methods that implement the actual functionality.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionEvents`1.OnAcknowledgeSinkAddRemove(System.Action{JetBrains.DataFlow.AddRemoveEventArgs{`0}},JetBrains.DataFlow.AddRemove)">
            <summary>
            Ackhowledges the handler.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionEvents`1.OnAcknowledgeSinkBeforeAddRemove(System.Action{JetBrains.DataFlow.BeforeAddRemoveEventArgs{`0}})">
            <summary>
            Called when someone attempts to sink the <see cref="P:JetBrains.DataFlow.CollectionEvents`1.BeforeAddRemove"/> signal. Acknowledges the handler.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionEvents`1.ToString">
            <summary>
            Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
            </summary>
            
            <returns>
            A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionEvents`1.Add(`0,System.Object)">
            <summary>
            Attempts to add the item to the collection.
            </summary>
            <param name="value">The value to be added.</param>
            <param name="cookie">An optional cookie that comes along with the notification events data.</param>
            <returns>Whether the item was added to the collection. An addition can be cancelled by the duplicates merger or the before-added handlers.</returns>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionEvents`1.Add(`0)">
            <summary>
            Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1"></see>.
            </summary>
            
            <param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1"></see>.</param>
            <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"></see> is read-only.</exception>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionEvents`1.AddRange(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Executes the <see cref="M:JetBrains.DataFlow.ICollectionEvents`1.Add(`0,System.Object)"/> operation for all the elements in the given collection.
            </summary>
            <param name="items">The collection whose elements should be added.</param>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionEvents`1.Clear">
            <summary>
            Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1"></see>.
            </summary>
            
            <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"></see> is read-only. </exception>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionEvents`1.Contains(`0)">
            <summary>
            Determines whether the <see cref="T:System.Collections.Generic.ICollection`1"></see> contains a specific value.
            </summary>
            
            <returns>
            true if item is found in the <see cref="T:System.Collections.Generic.ICollection`1"></see>; otherwise, false.
            </returns>
            
            <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1"></see>.</param>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionEvents`1.CopyTo(`0[],System.Int32)">
            <summary>
            Copies the elements of the <see cref="T:System.Collections.Generic.ICollection`1"></see> to an <see cref="T:System.Array"></see>, starting at a particular <see cref="T:System.Array"></see> index.
            </summary>
            
            <param name="array">The one-dimensional <see cref="T:System.Array"></see> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.ICollection`1"></see>. The <see cref="T:System.Array"></see> must have zero-based indexing.</param>
            <param name="arrayIndex">The zero-based index in array at which copying begins.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">arrayIndex is less than 0.</exception>
            <exception cref="T:System.ArgumentNullException">array is null.</exception>
            <exception cref="T:System.ArgumentException">array is multidimensional.-or-arrayIndex is equal to or greater than the length of array.-or-The number of elements in the source <see cref="T:System.Collections.Generic.ICollection`1"></see> is greater than the available space from arrayIndex to the end of the destination array.-or-Type T cannot be cast automatically to the type of the destination array.</exception>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionEvents`1.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection.
            </returns>
            <filterpriority>1</filterpriority>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionEvents`1.Modify(JetBrains.DataFlow.AddRemove,`0,System.Object)">
            <summary>
            A universal method for modifications on the collection. Useful for data flow between the collections, when <see cref="P:JetBrains.DataFlow.ICollectionEvents`1.AddRemove"/> signal handler is pumping into another collection.
            </summary>
            <param name="action">Whether to add or remove the item.</param>
            <param name="item">The item to add or remove.</param>
            <param name="cookie">The optional modification cookie.</param>
            <returns>Success code.</returns>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionEvents`1.Remove(`0,System.Object)">
            <summary>
            Attempts to remove a value from the collection.
            </summary>
            <param name="value">The value to be removed.</param>
            <param name="cookie">An optional cookie that comes along with the notification events data.</param>
            <returns>Whether the item was removed from the collection. A removal may fail either if the item is missing from the collection, or the before-removed handlers have cancelled the operation.</returns>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionEvents`1.Remove(`0)">
            <summary>
            Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1"></see>.
            </summary>
            
            <returns>
            true if item was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1"></see>; otherwise, false. This method also returns false if item is not found in the original <see cref="T:System.Collections.Generic.ICollection`1"></see>.
            </returns>
            
            <param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1"></see>.</param>
            <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"></see> is read-only.</exception>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionEvents`1.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
            <summary>
            Copies the elements of the <see cref="T:System.Collections.ICollection"></see> to an <see cref="T:System.Array"></see>, starting at a particular <see cref="T:System.Array"></see> index.
            </summary>
            
            <param name="array">The one-dimensional <see cref="T:System.Array"></see> that is the destination of the elements copied from <see cref="T:System.Collections.ICollection"></see>. The <see cref="T:System.Array"></see> must have zero-based indexing. </param>
            <param name="index">The zero-based index in array at which copying begins. </param>
            <exception cref="T:System.ArgumentNullException">array is null. </exception>
            <exception cref="T:System.ArgumentException">The type of the source <see cref="T:System.Collections.ICollection"></see> cannot be cast automatically to the type of the destination array. </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">index is less than zero. </exception>
            <exception cref="T:System.ArgumentException">array is multidimensional.-or- index is equal to or greater than the length of array.-or- The number of elements in the source <see cref="T:System.Collections.ICollection"></see> is greater than the available space from index to the end of the destination array. </exception><filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionEvents`1.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            
            <returns>
            An <see cref="T:System.Collections.IEnumerator"></see> object that can be used to iterate through the collection.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="P:JetBrains.DataFlow.CollectionEvents`1.IsNullValuesAllowed">
            <summary>
            Gets whether the <c>Null</c> values are allowed to be added to the collection.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.CollectionEvents`1.IsUniqueItems">
            <summary>
            Gets whether all of the items in the collection should be unique.
            Behavior of the collection in case of duplicates found depends on the
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.CollectionEvents`1.SuppressItemErrors">
            <summary>
            Gets whether the errors when adding/removing items should be suppressed, and just <c>false</c> returned, when appropriate.
            The errors include “item already added” (when <see cref="P:JetBrains.DataFlow.CollectionEvents`1.IsUniqueItems"/>) or “cannot remove nonexistent item”.
            </summary>
        </member>
        <member name="E:JetBrains.DataFlow.CollectionEvents`1.CollectionChanged">
            <summary>
            Occurs when the collection changes.
            </summary>
            
        </member>
        <member name="E:JetBrains.DataFlow.CollectionEvents`1.PropertyChanged">
            <summary>
            Occurs when a property value changes.
            </summary>
            
        </member>
        <member name="P:JetBrains.DataFlow.CollectionEvents`1.AddRemove">
            <summary>
            Fires when an item is added (<see cref="P:JetBrains.DataFlow.AddRemoveEventArgs`1.IsAdding"/> is defined) or removed (<see cref="P:JetBrains.DataFlow.AddRemoveEventArgs`1.IsRemoving"/> is defined).
            Throwing an exception does not prevent the item from being added, and other handlers from being called.
            The event supports acquaintance, which means that when you sink it, all the items currently in collection are “added”, and when you unsink, they are “removed” for the particular eventhandler you're adding or removing.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.CollectionEvents`1.BeforeAddRemove">
            <summary>
            Fires before an item is added (<see cref="P:JetBrains.DataFlow.AddRemoveEventArgs`1.IsAdding"/> is defined) or removed (<see cref="P:JetBrains.DataFlow.AddRemoveEventArgs`1.IsRemoving"/> is defined).
            Setting <see cref="P:JetBrains.DataFlow.BeforeAddRemoveEventArgs`1.Cancel"/> to <c>True</c> or throwing an exception prevents the item from being added.
            Note that even though the number of before-handlers called is undefined in such a case, no <see cref="P:JetBrains.DataFlow.CollectionEvents`1.AddRemove"/> handlers are guaranteed to execute if you cancel the operation on the <see cref="P:JetBrains.DataFlow.CollectionEvents`1.BeforeAddRemove"/> event.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.CollectionEvents`1.Count">
            <summary>
            Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"></see>.
            </summary>
            
            <returns>
            The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"></see>.
            </returns>
            
        </member>
        <member name="P:JetBrains.DataFlow.CollectionEvents`1.Id">
            <summary>
            Gets the identification for this list.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.CollectionEvents`1.IsReadOnly">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"></see> is read-only.
            </summary>
            
            <returns>
            true if the <see cref="T:System.Collections.Generic.ICollection`1"></see> is read-only; otherwise, false.
            </returns>
            
        </member>
        <member name="P:JetBrains.DataFlow.CollectionEvents`1.System#Collections#ICollection#IsSynchronized">
            <summary>
            Gets a value indicating whether access to the <see cref="T:System.Collections.ICollection"></see> is synchronized (thread safe).
            </summary>
            
            <returns>
            true if access to the <see cref="T:System.Collections.ICollection"></see> is synchronized (thread safe); otherwise, false.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="P:JetBrains.DataFlow.CollectionEvents`1.System#Collections#ICollection#SyncRoot">
            <summary>
            Gets an object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"></see>.
            </summary>
            
            <returns>
            An object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"></see>.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="T:JetBrains.DataFlow.DataFlowDirection">
            <summary>
            Defines the direction of the data flow between two properties.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.DataFlowDirection.None">
            <summary>
            No synchronization is performed automatically.
            Both bindings can still be invoked manually.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.DataFlowDirection.FromSource">
            <summary>
            A one-way forward data flow from the <see cref="P:JetBrains.DataFlow.PropertyBinding`2.Source"/> to the <see cref="P:JetBrains.DataFlow.PropertyBinding`2.Target"/>.
            The back-way binding can still be invoked manually.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.DataFlowDirection.FromTarget">
            <summary>
            A one-way backward data flow from the <see cref="P:JetBrains.DataFlow.PropertyBinding`2.Target"/> to the <see cref="P:JetBrains.DataFlow.PropertyBinding`2.Source"/>.
            The forward-way binding can still be invoked manually.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.DataFlowDirection.BothWays">
            <summary>
            A two-way data flow from the <see cref="P:JetBrains.DataFlow.PropertyBinding`2.Source"/> to the <see cref="P:JetBrains.DataFlow.PropertyBinding`2.Target"/>, and then back to the <see cref="P:JetBrains.DataFlow.PropertyBinding`2.Source"/>.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.DictionaryEvents`2">
            <summary>
            A dictionary that fires events when items are added or removed.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.IDictionaryEvents`2">
            <summary>
            A dictionary that fires events when items are added or removed.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IDictionaryEvents`2.TryGetValue(`0,System.Func{`1})">
            <summary>
            Attempts to look up a value by its <paramref name="key"/> in the dictionary.
            In case there is no such key-value pair present, uses the <paramref name="funcCreateIfMissing"/> function to create a new value, and then places it into the dictionary under the <paramref name="key"/>.
            </summary>
            <param name="key">Key to the value we're trying to look up.</param>
            <param name="funcCreateIfMissing">In case there is no <paramref name="key"/> in the dictionary, produces a new value to be stored in the dictionary and returned to the caller.</param>
            <returns></returns>
        </member>
        <member name="F:JetBrains.DataFlow.DictionaryEvents`2.myStorage">
            <summary>
            Stores the dictionary entries.
            Sync thru <see cref="F:JetBrains.DataFlow.CollectionEvents`1.myLock"/>.
            </summary>
            <remarks>
            The storage must be passed to the base class in ctor, for the collection operations to work on the same data.
            </remarks>
        </member>
        <member name="M:JetBrains.DataFlow.DictionaryEvents`2.#ctor(JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.PropertyId{System.Collections.Generic.KeyValuePair{`0,`1}},System.Collections.Generic.IDictionary{`0,`1},System.Boolean,System.Boolean,JetBrains.Util.ILogger)">
            <summary>
            <para>This is the universal constructor.</para>
            <para>Specifies whether <c>Null</c> keys or values are allowed or not.</para>
            <para>Take caution with value types, for them the <c>default</c> value is used.</para>
            <para>Note: the <c>Null</c>-checks are enforced only by those operations that add to the dictionary.</para>
            </summary>
            <param name="lifetime">
            <para>Defines the lifetime for the collection.</para>
            <para>When lifetime terminates, all of the handlers of the collection events are forcibly detached, which helps with preventing memory leaks.</para>
            </param>
            <param name="id">
            <para>An unique identifier for the list, to tell it apart in data flow chains.</para>
            <para>If callstack annotation is on, will appear on callstacks when collection is modified. Thus, only compile-time-defined values should be used, to avoid spawning too many dynamic methods at runtime.</para>
            </param>
            <param name="storage">The underlying collection, all the operations will be relayed to it.</param>
            <param name="bNullKeysAllowed">Whether <c>Null</c> values are allowed for keys (take caution with value types).</param>
            <param name="bNullValuesAllowed">Whether <c>Null</c> values are allowed for values (take caution with value types).</param>
            <param name="logger">Logging facility optional override.</param>
        </member>
        <member name="M:JetBrains.DataFlow.DictionaryEvents`2.#ctor(System.String)">
            <summary>
            Creates a dictionary that allows storing <c>Null</c> values.
            </summary>
            <param name="id">
            <para>An unique identifier for the list, to tell it apart in data flow chains.</para>
            <para>If callstack annotation is on, will appear on callstacks when collection is modified. Thus, only compile-time-defined values should be used, to avoid spawning too many dynamic methods at runtime.</para>
            </param>
        </member>
        <member name="M:JetBrains.DataFlow.DictionaryEvents`2.#ctor(JetBrains.DataFlow.Lifetime,System.String)">
            <summary>
            Creates a dictionary that allows storing <c>Null</c> values.
            </summary>
            <param name="lifetime">
            <para>Defines the lifetime for the collection.</para>
            <para>When lifetime terminates, all of the handlers of the collection events are forcibly detached, which helps with preventing memory leaks.</para>
            </param>
            <param name="id">
            <para>An unique identifier for the list, to tell it apart in data flow chains.</para>
            <para>If callstack annotation is on, will appear on callstacks when collection is modified. Thus, only compile-time-defined values should be used, to avoid spawning too many dynamic methods at runtime.</para>
            </param>
        </member>
        <member name="M:JetBrains.DataFlow.DictionaryEvents`2.#ctor(System.String,System.Boolean,System.Boolean)">
            <summary>
            <para>Specifies whether <c>Null</c> keys or values are allowed or not.</para>
            <para>Take caution with value types, for them the <c>default</c> value is used.</para>
            <para>Note: the <c>Null</c>-checks are enforced only by those operations that add to the dictionary.</para>
            </summary>
            <param name="id">
            <para>An unique identifier for the list, to tell it apart in data flow chains.</para>
            <para>If callstack annotation is on, will appear on callstacks when collection is modified. Thus, only compile-time-defined values should be used, to avoid spawning too many dynamic methods at runtime.</para>
            </param>
            <param name="bNullKeysAllowed">Whether <c>Null</c> values are allowed for keys (take caution with value types).</param>
            <param name="bNullValuesAllowed">Whether <c>Null</c> values are allowed for values (take caution with value types).</param>
        </member>
        <member name="M:JetBrains.DataFlow.DictionaryEvents`2.#ctor(JetBrains.DataFlow.Lifetime,System.String,System.Boolean,System.Boolean)">
            <summary>
            <para>Specifies whether <c>Null</c> keys or values are allowed or not.</para>
            <para>Take caution with value types, for them the <c>default</c> value is used.</para>
            <para>Note: the <c>Null</c>-checks are enforced only by those operations that add to the dictionary.</para>
            </summary>
            <param name="lifetime">
            <para>Defines the lifetime for the collection.</para>
            <para>When lifetime terminates, all of the handlers of the collection events are forcibly detached, which helps with preventing memory leaks.</para>
            </param>
            <param name="id">
            <para>An unique identifier for the list, to tell it apart in data flow chains.</para>
            <para>If callstack annotation is on, will appear on callstacks when collection is modified. Thus, only compile-time-defined values should be used, to avoid spawning too many dynamic methods at runtime.</para>
            </param>
            <param name="bNullKeysAllowed">Whether <c>Null</c> values are allowed for keys (take caution with value types).</param>
            <param name="bNullValuesAllowed">Whether <c>Null</c> values are allowed for values (take caution with value types).</param>
        </member>
        <member name="M:JetBrains.DataFlow.DictionaryEvents`2.InternalAdd(System.Collections.Generic.KeyValuePair{`0,`1},System.Object)">
            <summary>
            One of the core methods that implement the actual functionality.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.DictionaryEvents`2.InternalRemove(System.Collections.Generic.KeyValuePair{`0,`1},System.Object)">
            <summary>
            One of the core methods that implement the actual functionality.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.DictionaryEvents`2.Add(`0,`1)">
            <summary>
            Adds an element with the provided key and value to the <see cref="T:System.Collections.Generic.IDictionary`2"></see>.
            </summary>
            
            <param name="value">The object to use as the value of the element to add.</param>
            <param name="key">The object to use as the key of the element to add.</param>
            <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.IDictionary`2"></see> is read-only.</exception>
            <exception cref="T:System.ArgumentException">An element with the same key already exists in the <see cref="T:System.Collections.Generic.IDictionary`2"></see>.</exception>
            <exception cref="T:System.ArgumentNullException">key is null.</exception>
        </member>
        <member name="M:JetBrains.DataFlow.DictionaryEvents`2.ContainsKey(`0)">
            <summary>
            Determines whether the <see cref="T:System.Collections.Generic.IDictionary`2"></see> contains an element with the specified key.
            </summary>
            
            <returns>
            true if the <see cref="T:System.Collections.Generic.IDictionary`2"></see> contains an element with the key; otherwise, false.
            </returns>
            
            <param name="key">The key to locate in the <see cref="T:System.Collections.Generic.IDictionary`2"></see>.</param>
            <exception cref="T:System.ArgumentNullException">key is null.</exception>
        </member>
        <member name="M:JetBrains.DataFlow.DictionaryEvents`2.Remove(`0)">
            <summary>
            Removes the element with the specified key from the <see cref="T:System.Collections.Generic.IDictionary`2"></see>.
            </summary>
            
            <returns>
            true if the element is successfully removed; otherwise, false.  This method also returns false if key was not found in the original <see cref="T:System.Collections.Generic.IDictionary`2"></see>.
            </returns>
            
            <param name="key">The key of the element to remove.</param>
            <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.IDictionary`2"></see> is read-only.</exception>
            <exception cref="T:System.ArgumentNullException">key is null.</exception>
        </member>
        <member name="M:JetBrains.DataFlow.DictionaryEvents`2.TryGetValue(`0,System.Func{`1})">
            <summary>
            Attempts to look up a value by its <paramref name="key"/> in the dictionary.
            In case there is no such key-value pair present, uses the <paramref name="funcCreateIfMissing"/> function to create a new value, and then places it into the dictionary under the <paramref name="key"/>.
            </summary>
            <param name="key">Key to the value we're trying to look up.</param>
            <param name="funcCreateIfMissing">In case there is no <paramref name="key"/> in the dictionary, produces a new value to be stored in the dictionary and returned to the caller.</param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.DataFlow.DictionaryEvents`2.set_Item(`0,System.Object,`1)">
            <summary>
            Sets the element with the specified key.
            An overload of the <see cref="M:JetBrains.DataFlow.DictionaryEvents`2.set_Item(`0,`1)"/> method which allows to specify the modification cookie for both removal and addition operation events which might be fired as a result of this assignment.
            </summary>
            <param name="key"></param>
            <param name="cookie"></param>
            <param name="value"></param>
        </member>
        <member name="P:JetBrains.DataFlow.DictionaryEvents`2.NullPairKeysAllowed">
            <summary>
            Gets whether <c>Null</c> keys are allowed or not.
            Note: the <c>Null</c>-checks are enforced only by those operations that add to the dictionary.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.DictionaryEvents`2.NullPairValuesAllowed">
            <summary>
            Gets whether <c>Null</c> values are allowed or not.
            Note: the <c>Null</c>-checks are enforced only by those operations that add to the dictionary.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.DictionaryEvents`2.Item(`0)">
            <summary>
            Gets or sets the element with the specified key.
            </summary>
            
            <returns>
            The element with the specified key.
            </returns>
            
            <param name="key">The key of the element to get or set.</param>
            <exception cref="T:System.NotSupportedException">The property is set and the <see cref="T:System.Collections.Generic.IDictionary`2"></see> is read-only.</exception>
            <exception cref="T:System.ArgumentNullException">key is null.</exception>
            <exception cref="T:System.Collections.Generic.KeyNotFoundException">The property is retrieved and key is not found.</exception>
        </member>
        <member name="P:JetBrains.DataFlow.DictionaryEvents`2.Keys">
            <summary>
            Gets an <see cref="T:System.Collections.Generic.ICollection`1"></see> containing the keys of the <see cref="T:System.Collections.Generic.IDictionary`2"></see>.
            </summary>
            
            <returns>
            An <see cref="T:System.Collections.Generic.ICollection`1"></see> containing the keys of the object that implements <see cref="T:System.Collections.Generic.IDictionary`2"></see>.
            </returns>
            
        </member>
        <member name="P:JetBrains.DataFlow.DictionaryEvents`2.Values">
            <summary>
            Gets an <see cref="T:System.Collections.Generic.ICollection`1"></see> containing the values in the <see cref="T:System.Collections.Generic.IDictionary`2"></see>.
            </summary>
            
            <returns>
            An <see cref="T:System.Collections.Generic.ICollection`1"></see> containing the values in the object that implements <see cref="T:System.Collections.Generic.IDictionary`2"></see>.
            </returns>
            
        </member>
        <member name="T:JetBrains.DataFlow.CollectionValidator">
            <summary>
            Validates collections by preventing certain values from being added or removed.
            Note that for the validator to attach, the original values must all pass the validation.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionValidator.CreateReadonlyValidator``1(JetBrains.DataFlow.ICollectionEvents{``0},JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.StandardPreconditions.ReadonlyToken)">
            <summary>
            Makes a readonly collection. All the legitimate modifiers must pass the <paramref name="token"/> as an argument.
            If the <paramref name="token"/> is invalid, an exception is thrown.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionValidator.CreateThreadAffinityValidator``1(JetBrains.DataFlow.ICollectionEvents{``0},JetBrains.DataFlow.Lifetime,System.Threading.Thread)">
            <summary>
            Ensures the <paramref name="thіs"/> is modified only on the given <paramref name="thread"/>.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionValidator.EnsureReadonly``1(JetBrains.DataFlow.CollectionEvents{``0},JetBrains.DataFlow.StandardPreconditions.ReadonlyToken)">
            <summary>
            Makes a readonly collection. All the legitimate modifiers must pass the <paramref name="token"/> as an argument.
            If the <paramref name="token"/> is invalid, an exception is thrown.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionValidator.EnsureReadonly``1(JetBrains.DataFlow.CollectionEvents{``0},JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.StandardPreconditions.ReadonlyToken)">
            <summary>
            Makes a readonly collection. All the legitimate modifiers must pass the <paramref name="token"/> as an argument.
            If the <paramref name="token"/> is invalid, an exception is thrown.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionValidator.EnsureReadonly``1(JetBrains.DataFlow.ICollectionEvents{``0},JetBrains.DataFlow.StandardPreconditions.ReadonlyToken)">
            <summary>
            Makes a readonly collection. All the legitimate modifiers must pass the <paramref name="token"/> as an argument.
            If the <paramref name="token"/> is invalid, an exception is thrown.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionValidator.EnsureReadonly``1(JetBrains.DataFlow.ICollectionEvents{``0},JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.StandardPreconditions.ReadonlyToken)">
            <summary>
            Makes a readonly collection. All the legitimate modifiers must pass the <paramref name="token"/> as an argument.
            If the <paramref name="token"/> is invalid, an exception is thrown.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionValidator.EnsureReadonly``1(JetBrains.DataFlow.ListEvents{``0},JetBrains.DataFlow.StandardPreconditions.ReadonlyToken)">
            <summary>
            Makes a readonly list. All the legitimate modifiers must pass the <paramref name="token"/> as an argument.
            If the <paramref name="token"/> is invalid, an exception is thrown.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionValidator.EnsureReadonly``1(JetBrains.DataFlow.ListEvents{``0},JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.StandardPreconditions.ReadonlyToken)">
            <summary>
            Makes a readonly list. All the legitimate modifiers must pass the <paramref name="token"/> as an argument.
            If the <paramref name="token"/> is invalid, an exception is thrown.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionValidator.EnsureReadonly``1(JetBrains.DataFlow.IListEvents{``0},JetBrains.DataFlow.StandardPreconditions.ReadonlyToken)">
            <summary>
            Makes a readonly list. All the legitimate modifiers must pass the <paramref name="token"/> as an argument.
            If the <paramref name="token"/> is invalid, an exception is thrown.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionValidator.EnsureReadonly``1(JetBrains.DataFlow.IListEvents{``0},JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.StandardPreconditions.ReadonlyToken)">
            <summary>
            Makes a readonly list. All the legitimate modifiers must pass the <paramref name="token"/> as an argument.
            If the <paramref name="token"/> is invalid, an exception is thrown.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionValidator.EnsureReadonly``2(JetBrains.DataFlow.DictionaryEvents{``0,``1},JetBrains.DataFlow.StandardPreconditions.ReadonlyToken)">
            <summary>
            Makes a readonly list. All the legitimate modifiers must pass the <paramref name="token"/> as an argument.
            If the <paramref name="token"/> is invalid, an exception is thrown.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionValidator.EnsureReadonly``2(JetBrains.DataFlow.DictionaryEvents{``0,``1},JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.StandardPreconditions.ReadonlyToken)">
            <summary>
            Makes a readonly list. All the legitimate modifiers must pass the <paramref name="token"/> as an argument.
            If the <paramref name="token"/> is invalid, an exception is thrown.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionValidator.EnsureReadonly``2(JetBrains.DataFlow.IDictionaryEvents{``0,``1},JetBrains.DataFlow.StandardPreconditions.ReadonlyToken)">
            <summary>
            Makes a readonly list. All the legitimate modifiers must pass the <paramref name="token"/> as an argument.
            If the <paramref name="token"/> is invalid, an exception is thrown.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionValidator.EnsureReadonly``2(JetBrains.DataFlow.IDictionaryEvents{``0,``1},JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.StandardPreconditions.ReadonlyToken)">
            <summary>
            Makes a readonly list. All the legitimate modifiers must pass the <paramref name="token"/> as an argument.
            If the <paramref name="token"/> is invalid, an exception is thrown.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionValidator.EnsureThisThread``1(JetBrains.DataFlow.CollectionEvents{``0})">
            <summary>
            Ensures the <paramref name="thіs"/> is modified only on the thread this function was called on.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionValidator.EnsureThisThread``1(JetBrains.DataFlow.CollectionEvents{``0},JetBrains.DataFlow.Lifetime)">
            <summary>
            Ensures the <paramref name="thіs"/> is modified only on the thread this function was called on.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionValidator.EnsureThisThread``1(JetBrains.DataFlow.ICollectionEvents{``0})">
            <summary>
            Ensures the <paramref name="thіs"/> is modified only on the thread this function was called on.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionValidator.EnsureThisThread``1(JetBrains.DataFlow.ICollectionEvents{``0},JetBrains.DataFlow.Lifetime)">
            <summary>
            Ensures the <paramref name="thіs"/> is modified only on the thread this function was called on.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionValidator.EnsureThisThread``1(JetBrains.DataFlow.ListEvents{``0})">
            <summary>
            Ensures the <paramref name="thіs"/> is modified only on the thread this function was called on.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionValidator.EnsureThisThread``1(JetBrains.DataFlow.ListEvents{``0},JetBrains.DataFlow.Lifetime)">
            <summary>
            Ensures the <paramref name="thіs"/> is modified only on the thread this function was called on.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionValidator.EnsureThisThread``1(JetBrains.DataFlow.IListEvents{``0})">
            <summary>
            Ensures the <paramref name="thіs"/> is modified only on the thread this function was called on.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionValidator.EnsureThisThread``1(JetBrains.DataFlow.IListEvents{``0},JetBrains.DataFlow.Lifetime)">
            <summary>
            Ensures the <paramref name="thіs"/> is modified only on the thread this function was called on.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionValidator.EnsureThisThread``2(JetBrains.DataFlow.DictionaryEvents{``0,``1})">
            <summary>
            Ensures the <paramref name="thіs"/> is modified only on the thread this function was called on.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionValidator.EnsureThisThread``2(JetBrains.DataFlow.DictionaryEvents{``0,``1},JetBrains.DataFlow.Lifetime)">
            <summary>
            Ensures the <paramref name="thіs"/> is modified only on the thread this function was called on.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionValidator.EnsureThisThread``2(JetBrains.DataFlow.IDictionaryEvents{``0,``1})">
            <summary>
            Ensures the <paramref name="thіs"/> is modified only on the thread this function was called on.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CollectionValidator.EnsureThisThread``2(JetBrains.DataFlow.IDictionaryEvents{``0,``1},JetBrains.DataFlow.Lifetime)">
            <summary>
            Ensures the <paramref name="thіs"/> is modified only on the thread this function was called on.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.DataFlowEx">
            <summary>
            Extension method helpers for the data flow classes.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.DataFlowEx.OnSignal``1(JetBrains.DataFlow.IPropertyBinding,JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.ISignal{``0},JetBrains.DataFlow.DataFlowDirection)">
            <summary>
            Sets up the binding to update when the <paramref name="signal"/> fires.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.DataFlowEx.AddLifetime(System.ComponentModel.IContainer,JetBrains.DataFlow.LifetimeDefinition)">
            <summary>
            Allows to bind the lifetime to a Windows Form.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.DataFlowEx.DefineWinFormsLifetime(System.Windows.Forms.Control)">
            <summary>
            Defines a lifetime that terminates when the control or form is disposed of.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.ICollectionEventsEx">
            <summary>
            Extension method helpers for the data flow classes.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionEventsEx.BeginAdd``1(JetBrains.DataFlow.ICollectionEvents{``0},JetBrains.DataFlow.Lifetime,JetBrains.Threading.JetDispatcher,``0)">
            <summary>
            Asynchronously adds a new item to the collection.
            </summary>
            <typeparam name="TValue">Item type.</typeparam>
            <param name="thіs">Collection.</param>
            <param name="lifetimeAsyncOperation">The lifetime for the async operation of adding the item, NOT for the item's presence in the collection! If the lifetime expires while the deferred operation is still pending, the operation will be dropped.</param>
            <param name="dispatcher">Identifies the thread the modification should happen on.</param>
            <param name="item">The item to be added.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionEventsEx.CreateCount``1(JetBrains.DataFlow.ICollectionEvents{``0},JetBrains.DataFlow.Lifetime)">
            <summary>
            Creates a property that tells the numer of items in the collection.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionEventsEx.CreateIsEmpty``1(JetBrains.DataFlow.ICollectionEvents{``0},JetBrains.DataFlow.Lifetime)">
            <summary>
            Creates a property that tells whether the collection is empty.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionEventsEx.CreateIsNotEmpty``1(JetBrains.DataFlow.ICollectionEvents{``0},JetBrains.DataFlow.Lifetime)">
            <summary>
            Creates a property that tells whether the collection has some items in it.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionEventsEx.LogChanges``1(JetBrains.DataFlow.ICollectionEvents{``0},JetBrains.DataFlow.Lifetime,System.String)">
            <summary>
            Logs the collection modifications.
            </summary>
            <param name="thіs">The collection.</param>
            <param name="lifetime">ILifetime for the logging set-up.</param>
            <param name="prefix">The optional prefix to be prepended in square brackets to each log message.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionEventsEx.LogChanges``1(JetBrains.DataFlow.ICollectionEvents{``0},JetBrains.DataFlow.Lifetime,System.Object)">
            <summary>
            Logs the collection modifications.
            </summary>
            <param name="thіs">The collection.</param>
            <param name="lifetime">ILifetime for the logging set-up.</param>
            <param name="logprefix">The object whose local name will be used as a logging prefix, ie prepended in square brackets to each log message, or a <see cref="T:System.Type"/> whose short name will be used.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionEventsEx.ForEachItem``1(JetBrains.DataFlow.ICollectionEvents{``0},JetBrains.DataFlow.Lifetime,System.Action{JetBrains.DataFlow.Lifetime,``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.DataFlow.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="thіs"></param>
            <param name="lifetime">ILifetime of the construct. All of the open per-item lifetimes will be terminated when it terminates.</param>
            <param name="FHandler">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.DataFlow.ICollectionEventsEx.ForEachItem``1(JetBrains.DataFlow.ICollectionEvents{``0},JetBrains.DataFlow.Lifetime,System.Action{JetBrains.DataFlow.Lifetime,``0,System.Object})">
            <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.DataFlow.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="thіs"></param>
            <param name="lifetime">ILifetime of the construct. All of the open per-item lifetimes will be terminated when it terminates.</param>
            <param name="FHandler">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, the third param is the cookie with which the item has been added.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionEventsEx.ForEachItemCore``1(JetBrains.DataFlow.ICollectionEvents{``0},JetBrains.DataFlow.Lifetime,System.Action{JetBrains.DataFlow.Lifetime,``0},System.Action{JetBrains.DataFlow.Lifetime,``0,System.Object})">
            <summary>
            Core impl for both ForEachItem functions.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionEventsEx.Add``1(JetBrains.DataFlow.ICollectionEvents{``0},JetBrains.DataFlow.Lifetime,``0,System.Object)">
            <summary>
            Attempts to add the item to the collection.
            </summary>
            <param name="lifetime">ILifetime for the item to be present in the collection. Upon termination, the item is removed.</param>
            <param name="value">The value to be added.</param>
            <param name="cookie">An optional cookie that comes along with the notification events data.</param>
            <param name="thіs">Collection.</param>
            <returns>If the item was added to the collection (not cancelled by the duplicates merger or the before-added handlers), returns an object that removes the item from the collection on <see cref="M:System.IDisposable.Dispose"/>. Otherwise, returns a dummy <see cref="T:System.IDisposable"/>.</returns>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionEventsEx.FlowInto``2(JetBrains.DataFlow.ICollectionEvents{``0},JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.ICollectionEvents{``1},System.Func{``0,``1},System.Func{``0,System.Boolean},System.Object)">
            <summary>
            Mirrors one collection into another.
            </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">ILifetime of the collection flow.</param>
            <param name="target">The target collection.</param>
            <param name="FConvert">If the collection types differ and are unrelated, a converter that produces items for the second collection from the items of the first collection. Note that for the <see cref="F:JetBrains.DataFlow.AddRemove.Remove"/> operation to be mirrored successfully, the converter product must return <see cref="M:System.Object.Equals(System.Object,System.Object)"/> for to projections of the same source item. May be <c>Null</c> if the types could be converted by a simple cast.</param>
            <param name="FFilter">Allows to exclude certain items from being converted and added to the target collection.</param>
            <param name="cookie">An optional cookie for the modifiction operation on the <paramref name="target"/> collection.</param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionEventsEx.FlowInto``2(JetBrains.DataFlow.ICollectionEvents{``0},JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.ICollectionEvents{``1},System.Func{JetBrains.DataFlow.Lifetime,``0,``1},System.Func{``0,System.Boolean},System.Object)">
            <summary>
                <para>Mirrors one collection into another.</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="lifetime">ILifetime of the flow.</param>
            <param name="source">The source collection.</param>
            <param name="target">The target collection.</param>
            <param name="FConvert">
                If the collection types differ and are unrelated, a 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.DataFlow.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>
            <param name="FFilter">Allows to exclude certain items from being converted and added to the target collection.</param>
            <param name="cookie">
                An optional cookie for the modifiction operation on the <paramref name="target"/> collection.
            </param>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionEventsEx.FlowIntoCollectionCore``2(JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.ICollectionEvents{``0},JetBrains.DataFlow.ICollectionEvents{``1},System.Func{``0,``1},System.Func{JetBrains.DataFlow.Lifetime,``0,``1},System.Func{``0,System.Boolean},System.Object)">
            <summary>
                <para>Mirrors one collection into another.</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="lifetime">ILifetime of the flow.</param>
            <param name="source">The source collection.</param>
            <param name="target">The target collection.</param>
            <param name="FConvert">
                If the collection types differ and are unrelated, a 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.DataFlow.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>
            <param name="FLifeConvert">
                Same as <see cref="!:FConvert"/>, but with a lifetime. It's an error to specify both at the same time.
            </param>
            <param name="FFilter">Allows to exclude certain items from being converted and added to the target collection.</param>
            <param name="cookie">
                An optional cookie for the modifiction operation on the <paramref name="target"/> collection.
            </param>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionEventsEx.FlowInto``2(JetBrains.DataFlow.IListEvents{``0},JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.IListEvents{``1},System.Func{``0,``1},System.Object)">
            <summary>
            <para>Mirrors one list into another with the same 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">ILifetime of the flow.</param>
            <param name="target">The target collection.</param>
            <param name="FConvert">If the collection types differ and are unrelated, a 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.DataFlow.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>
            <param name="cookie">An optional cookie for the modifiction operation on the <paramref name="target"/> collection.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionEventsEx.FlowInto``2(JetBrains.DataFlow.IListEvents{``0},JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.IListEvents{``1},System.Func{JetBrains.DataFlow.Lifetime,``0,``1},System.Object)">
            <summary>
            <para>Mirrors one list into another with the same 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">ILifetime of the flow.</param>
            <param name="target">The target collection.</param>
            <param name="FConvert">If the collection types differ and are unrelated, a 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.DataFlow.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>
            <param name="cookie">An optional cookie for the modifiction operation on the <paramref name="target"/> collection.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionEventsEx.FlowInto``2(JetBrains.DataFlow.IListEvents{``0},JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.IListEvents{``1})">
            <summary>
            <para>Mirrors one list into another with the same 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">ILifetime of the flow.</param>
            <param name="target">The target collection.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionEventsEx.FlowIntoListCore``2(JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.IListEvents{``0},JetBrains.DataFlow.IListEvents{``1},System.Func{``0,``1},System.Func{JetBrains.DataFlow.Lifetime,``0,``1},System.Object)">
            <summary>
            <para>Mirrors one list into another with the same 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="lifetime">ILifetime of the flow.</param>
            <param name="source">The source collection.</param>
            <param name="target">The target collection.</param>
            <param name="FConvert">If the collection types differ and are unrelated, a 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.DataFlow.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>
            <param name="FLifeConvert">Same as <see cref="!:FConvert"/>, but with a lifetime. It's an error to specify both at the same time.</param>
            <param name="cookie">An optional cookie for the modifiction operation on the <paramref name="target"/> collection.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionEventsEx.DisposeEachItem``1(JetBrains.DataFlow.ICollectionEvents{``0},JetBrains.DataFlow.Lifetime)">
            <summary>
            Makes sure each item of the collection is disposed of when it exits the collection view (just after the item is removed from the collection).
            When the <paramref name="lifetime"/> terminates, all of the items currently in the collection are also disposed of.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionEventsEx.FlowIntoGuarded_NoReplay``1(JetBrains.DataFlow.ICollectionEvents{``0},JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.ICollectionEvents{``0},JetBrains.Threading.ReentrancyGuard,System.Boolean,System.Object)">
            <summary>
            Updates the second collection as the first one is modified, but in a guarded context.
            After the guarded context gets acquired, does not replay all additions and removals, but instead replicates the current collection state (hence "no replay"). Can be thus slow on large collections, so hashsets are recommended as backing store.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionEventsEx.FlowIntoGrouped_NoReplay``1(JetBrains.DataFlow.ICollectionEvents{``0},JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.ICollectionEvents{``0},JetBrains.Threading.GroupingEventHost,System.TimeSpan,System.Boolean,System.Object)">
            <summary>
            Updates the second collection as the first one is modified, but at a rarer intervals, as limited by the grouping event (could be guarded or guard-invariant).
            After the timeout expires, does not replay all additions and removals, but instead replicates the current collection state (hence "no replay"). Can be thus slow on large collections, so hashsets are recommended as backing store.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionEventsEx.FlowIntoGrouped_NoReplay``1(JetBrains.DataFlow.ICollectionEvents{``0},JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.ICollectionEvents{``0},System.Action,System.Action{System.Action},System.Boolean,System.Object)">
            <summary>
            Updates the second collection as the first one is modified, but at a rarer intervals, as defined by the grouping function (eg <see cref="M:JetBrains.Threading.ReentrancyGuard.ExecuteOrQueue(System.String,System.Action)"/> or <see cref="M:JetBrains.Util.Concurrency.GroupingEventHostEx.QueueAtShort(JetBrains.Threading.GroupingEventHost,JetBrains.DataFlow.Lifetime,System.String,System.TimeSpan,System.Action)"/>).
            When the grouping function manages to execute, does not replay all additions and removals, but instead replicates the current collection state (hence "no replay"). Can be thus slow on large collections, so hashsets are recommended as backing store.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionEventsEx.FlowIntoSorted``1(JetBrains.DataFlow.ICollectionEvents{``0},JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.IListEvents{``0},System.Collections.Generic.IComparer{``0})">
            <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="comparer"/>.
            </summary>
            <typeparam name="TItem">Item type.</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="comparer">Comparer setting up the order.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionEventsEx.OrderByLive``1(JetBrains.DataFlow.ICollectionEvents{``0},JetBrains.DataFlow.Lifetime,System.Collections.Generic.IComparer{``0})">
            <summary>
            Returns an ordered representation of the collection, the order defined by the <paramref name="comparer"/>.
            </summary>
            <typeparam name="TItem">Item type.</typeparam>
            <param name="thіs">Collection of items without any order implied.</param>
            <param name="lifetime">Time to work.</param>
            <param name="comparer">Comparer setting up the order.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionEventsEx.GetLifetimeOfItem``1(JetBrains.DataFlow.ICollectionEvents{``0},JetBrains.DataFlow.Lifetime,``0)">
            <summary>
            For an item in the collection, creates a lifetime that will be terminated when the item leaves the collection (or the passed-in lifetime terminates, or the collection lifetime terminates).
            </summary>
            <typeparam name="TItem">Item type.</typeparam>
            <param name="thіs">Collection.</param>
            <param name="lifetime">The limiting lifetime. The returned lifetime will be nested within this lifetime (as well as within the collection's).</param>
            <param name="item">The item whose lifetime should be created. It's an error if the item is currently not present within the collection.</param>
            <returns>The lifetime of the item's presence in the collection.</returns>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionEventsEx.AddItemUnderLifetime``1(JetBrains.DataFlow.ICollectionEvents{``0},JetBrains.DataFlow.Lifetime,System.Func{JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.LifetimeDefinition,``0})">
            <summary>
              <para>Creates a new item to be added to the collection.</para>
              <para>The item lifetime terminates when either the input lifetime is terminated, or when the item is removed from the collection by some other collection client.</para>
              <para>If you terminate the item's definition, it will be removed from the collection.</para>
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.ICollectionEventsEx_ObsoleteWithoutLifetime">
            <summary>
            Extension method helpers for the data flow classes.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionEventsEx_ObsoleteWithoutLifetime.BeginAdd``1(JetBrains.DataFlow.ICollectionEvents{``0},JetBrains.Threading.JetDispatcher,``0)">
            <summary>
            Asynchronously adds a new item to the collection.
            </summary>
            <typeparam name="TValue">Item type.</typeparam>
            <param name="coll">Collection.</param>
            <param name="dispatcher">Identifies the thread the modification should happen on.</param>
            <param name="item">The item to be added.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionEventsEx_ObsoleteWithoutLifetime.BridgeInto_Guarded_Slow``1(JetBrains.DataFlow.ICollectionEvents{``0},JetBrains.DataFlow.ICollectionEvents{``0},JetBrains.Threading.ReentrancyGuard,System.Object)">
            <summary>
            Bridges first collection modifications into the second collection, in the guarded context.
            Slow. Not suitable for large collections. Better use hashsets (both).
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionEventsEx_ObsoleteWithoutLifetime.PushForEachItem``1(JetBrains.DataFlow.ICollectionEvents{``0},System.Func{``0,System.IDisposable})">
            <summary>
            Executes a pair of actions for each of the items in the collection.
            When a new items comes into view, executes the <paramref name="handler"/> for it. The return value of the <paramref name="handler"/> is the closing bracket and will be executed when the collection item goes off the view.
            </summary>
            <typeparam name="TValue">Type of the collection items.</typeparam>
            <param name="coll">The collection.</param>
            <param name="handler">The handler that executes the opening bracket and returns an <see cref="T:System.IDisposable"/> that executes the closing bracket when disposed of.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionEventsEx_ObsoleteWithoutLifetime.PushForEachItem``1(JetBrains.DataFlow.ICollectionEvents{``0},System.Func{JetBrains.DataFlow.AddRemoveEventArgs{``0},System.IDisposable})">
            <summary>
            Executes a pair of actions for each of the items in the collection.
            When a new items comes into view, executes the <paramref name="handler"/> for it. The return value of the <paramref name="handler"/> is the closing bracket and will be executed when the collection item goes off the view.
            </summary>
            <typeparam name="TValue">Type of the collection items.</typeparam>
            <param name="coll">The collection.</param>
            <param name="handler">The handler that executes the opening bracket and returns an <see cref="T:System.IDisposable"/> that executes the closing bracket when disposed of.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionSignalEx.Advise_Add``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.AddRemoveEventArgs{``0}},JetBrains.DataFlow.Lifetime,System.Action{JetBrains.DataFlow.AddRemoveEventArgs{``0}})">
            <summary>
            Advises the collection's <see cref="F:JetBrains.DataFlow.AddRemove.Add"/> operation selectively.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionSignalEx.Advise_Add``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.AddRemoveIndexEventArgs{``0}},JetBrains.DataFlow.Lifetime,System.Action{JetBrains.DataFlow.AddRemoveIndexEventArgs{``0}})">
            <summary>
            Advises the collection's <see cref="F:JetBrains.DataFlow.AddRemove.Add"/> operation selectively.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionSignalEx.Advise_Remove``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.AddRemoveEventArgs{``0}},JetBrains.DataFlow.Lifetime,System.Action{JetBrains.DataFlow.AddRemoveEventArgs{``0}})">
            <summary>
            Advises the collection's <see cref="F:JetBrains.DataFlow.AddRemove.Remove"/> operation selectively.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionSignalEx.Advise_Remove``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.AddRemoveIndexEventArgs{``0}},JetBrains.DataFlow.Lifetime,System.Action{JetBrains.DataFlow.AddRemoveIndexEventArgs{``0}})">
            <summary>
            Advises the collection's <see cref="F:JetBrains.DataFlow.AddRemove.Remove"/> operation selectively.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionSignalEx.Advise_NoAcknowledgement``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.BeforeAddRemoveEventArgs{``0}},JetBrains.DataFlow.Lifetime,System.Action{JetBrains.DataFlow.BeforeAddRemoveEventArgs{``0}})">
            <summary>
            <para>Advises the <see cref="P:JetBrains.DataFlow.ICollectionEvents`1.BeforeAddRemove"/> so that the handler is not acknwledged.</para>
            <para>Acknowledgement changes are fired in the beginning of the lifetime (for the event sink to acknowledge the items initially in the collection) and at the end of the lifetime (to acknowledge the final items of the collection and unbind from them correctly as from any other items leaving the collection view).</para>
            <para>During an acknowledgement change, <see cref="!:BeforeAddRemoveEventArgs&lt;TValue&gt;.IsAcknowledging"/> is <c>True</c>. When using this method, only real changes are let through.</para>
            <para>Useful for user-restricting rather than data-restricting handlers, as those would not pass the data already in the collection.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionSignalEx.Advise_NoAcknowledgement``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.BeforeAddRemoveEventArgs{``0}},JetBrains.DataFlow.Lifetime,System.Action)">
            <summary>
            <para>Advises the <see cref="P:JetBrains.DataFlow.ICollectionEvents`1.BeforeAddRemove"/> so that the handler is not acknwledged.</para>
            <para>Acknowledgement changes are fired in the beginning of the lifetime (for the event sink to acknowledge the items initially in the collection) and at the end of the lifetime (to acknowledge the final items of the collection and unbind from them correctly as from any other items leaving the collection view).</para>
            <para>During an acknowledgement change, <see cref="!:BeforeAddRemoveEventArgs&lt;TValue&gt;.IsAcknowledging"/> is <c>True</c>. When using this method, only real changes are let through.</para>
            <para>Useful for user-restricting rather than data-restricting handlers, as those would not pass the data already in the collection.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionSignalEx.Advise_NoAcknowledgement``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.AddRemoveEventArgs{``0}},JetBrains.DataFlow.Lifetime,System.Action{JetBrains.DataFlow.AddRemoveEventArgs{``0}})">
            <summary>
            <para>Advises the <see cref="P:JetBrains.DataFlow.ICollectionEvents`1.AddRemove"/> so that the handler is not acknwledged.</para>
            <para>Acknowledgement changes are fired in the beginning of the lifetime (for the event sink to acknowledge the items initially in the collection) and at the end of the lifetime (to acknowledge the final items of the collection and unbind from them correctly as from any other items leaving your view on the collection).</para>
            <para>During an acknowledgement change, <see cref="P:JetBrains.DataFlow.AddRemoveEventArgs`1.IsAcknowledging"/> is <c>True</c>. When using this method, only real changes are let through.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionSignalEx.Advise_NoAcknowledgement``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.AddRemoveIndexEventArgs{``0}},JetBrains.DataFlow.Lifetime,System.Action{JetBrains.DataFlow.AddRemoveEventArgs{``0}})">
            <summary>
            <para>Advises the <see cref="P:JetBrains.DataFlow.ICollectionEvents`1.AddRemove"/> so that the handler is not acknwledged.</para>
            <para>Acknowledgement changes are fired in the beginning of the lifetime (for the event sink to acknowledge the items initially in the collection) and at the end of the lifetime (to acknowledge the final items of the collection and unbind from them correctly as from any other items leaving your view on the collection).</para>
            <para>During an acknowledgement change, <see cref="P:JetBrains.DataFlow.AddRemoveEventArgs`1.IsAcknowledging"/> is <c>True</c>. When using this method, only real changes are let through.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionSignalEx.Advise_NoAcknowledgement``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.AddRemoveEventArgs{``0}},JetBrains.DataFlow.Lifetime,System.Action)">
            <summary>
            <para>Advises the <see cref="P:JetBrains.DataFlow.ICollectionEvents`1.AddRemove"/> so that the handler is not acknwledged.</para>
            <para>Acknowledgement changes are fired in the beginning of the lifetime (for the event sink to acknowledge the items initially in the collection) and at the end of the lifetime (to acknowledge the final items of the collection and unbind from them correctly as from any other items leaving your view on the collection).</para>
            <para>During an acknowledgement change, <see cref="P:JetBrains.DataFlow.AddRemoveEventArgs`1.IsAcknowledging"/> is <c>True</c>. When using this method, only real changes are let through.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionSignalEx.Advise_NoAcknowledgement``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.AddRemoveIndexEventArgs{``0}},JetBrains.DataFlow.Lifetime,System.Action)">
            <summary>
            <para>Advises the <see cref="P:JetBrains.DataFlow.ICollectionEvents`1.AddRemove"/> so that the handler is not acknwledged.</para>
            <para>Acknowledgement changes are fired in the beginning of the lifetime (for the event sink to acknowledge the items initially in the collection) and at the end of the lifetime (to acknowledge the final items of the collection and unbind from them correctly as from any other items leaving your view on the collection).</para>
            <para>During an acknowledgement change, <see cref="P:JetBrains.DataFlow.AddRemoveEventArgs`1.IsAcknowledging"/> is <c>True</c>. When using this method, only real changes are let through.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionSignalEx_ObsoleteWithoutLifetime.Advise_Add``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.AddRemoveIndexEventArgs{``0}},System.Action{JetBrains.DataFlow.AddRemoveIndexEventArgs{``0}})">
            <summary>
            Sinks the collection's <see cref="F:JetBrains.DataFlow.AddRemove.Add"/> operation selectively.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionSignalEx_ObsoleteWithoutLifetime.Advise_Remove``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.AddRemoveEventArgs{``0}},System.Action{JetBrains.DataFlow.AddRemoveEventArgs{``0}})">
            <summary>
            Sinks the collection's <see cref="F:JetBrains.DataFlow.AddRemove.Remove"/> operation selectively.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionSignalEx_ObsoleteWithoutLifetime.Advise_Remove``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.AddRemoveIndexEventArgs{``0}},System.Action{JetBrains.DataFlow.AddRemoveIndexEventArgs{``0}})">
            <summary>
            Sinks the collection's <see cref="F:JetBrains.DataFlow.AddRemove.Remove"/> operation selectively.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionSignalEx_ObsoleteWithoutLifetime.Advise_NoAcknowledgement``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.BeforeAddRemoveEventArgs{``0}},System.Action{JetBrains.DataFlow.BeforeAddRemoveEventArgs{``0}})">
            <summary>
            Sinks the <see cref="P:JetBrains.DataFlow.ICollectionEvents`1.BeforeAddRemove"/> so that the handler is not acknwledged.
            Useful for user-restricting rather than data-restricting handlers, as those would not pass the data already in the collection.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionSignalEx_ObsoleteWithoutLifetime.Advise_NoAcknowledgement``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.BeforeAddRemoveEventArgs{``0}},System.Action)">
            <summary>
            Sinks the <see cref="P:JetBrains.DataFlow.ICollectionEvents`1.BeforeAddRemove"/> so that the handler is not acknwledged.
            Useful for user-restricting rather than data-restricting handlers, as those would not pass the data already in the collection.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionSignalEx_ObsoleteWithoutLifetime.Advise_NoAcknowledgement``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.AddRemoveEventArgs{``0}},System.Action{JetBrains.DataFlow.AddRemoveEventArgs{``0}})">
            <summary>
            Sinks the <see cref="P:JetBrains.DataFlow.ICollectionEvents`1.BeforeAddRemove"/> so that the handler is not acknwledged.
            Useful for user-restricting rather than data-restricting handlers, as those would not pass the data already in the collection.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionSignalEx_ObsoleteWithoutLifetime.Advise_NoAcknowledgement``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.AddRemoveEventArgs{``0}},System.Action)">
            <summary>
            Sinks the <see cref="P:JetBrains.DataFlow.ICollectionEvents`1.BeforeAddRemove"/> so that the handler is not acknwledged.
            Useful for user-restricting rather than data-restricting handlers, as those would not pass the data already in the collection.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionSignalEx_ObsoleteWithoutLifetime.Advise_NoAcknowledgement``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.AddRemoveIndexEventArgs{``0}},System.Action)">
            <summary>
            Sinks the <see cref="P:JetBrains.DataFlow.ICollectionEvents`1.BeforeAddRemove"/> so that the handler is not acknwledged.
            Useful for user-restricting rather than data-restricting handlers, as those would not pass the data already in the collection.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyBagEx.LogChanges(JetBrains.DataFlow.IPropertyBag,JetBrains.DataFlow.Lifetime,System.String)">
            <summary>
            Logs the changes to the bag property set and the bag property values.
            </summary>
            <param name="thіs">The property.</param>
            <param name="lifetime">Lifetime for the logging set-up.</param>
            <param name="prefix">The optional prefix to be prepended in square brackets to each log message.</param>
        </member>
        <member name="T:JetBrains.DataFlow.IPropertyEx">
            <summary>
            Extension method helpers for the data flow classes.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyEx.BeginSetValue``1(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.Lifetime,JetBrains.Threading.JetDispatcher,``0,System.Object)">
            <summary>
            Asynhronously assigns a new value to the property.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyEx.Cast``1(JetBrains.DataFlow.IUntypedProperty,JetBrains.DataFlow.Lifetime)">
            <summary>
            Casts the property value to the given type by creating a new property of that type.
            If the type of the value in the source property is wrong, an exception will be reported, and <c>Null</c> will be assigned to the target property for that period.
            </summary>
            <typeparam name="TTarget">Target type.</typeparam>
            <param name="propSource">Source property of the source type.</param>
            <param name="lifetime">Lifetime of the newly-created property.</param>
            <returns>A newly-created target property of the target type.</returns>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyEx.FlowDeferredInto``1(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.IProperty{``0})">
             <summary>
             Creates a one-way from-source binding between two properties, deferring the new value until execution gets off stack and collecting all the assignments that happen within that time span. The intermediate values are lost, assignments are not replayed, just the last one is applied. The assignment goes on the same thread with the change.
             </summary>
             <param name="source">The source property.</param>
            <param name="lifetime">Lifetime of the binding.</param>
             <param name="target">The target property.</param>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyEx.FlowDeferredInto``1(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.Lifetime,JetBrains.Threading.JetDispatcher,JetBrains.DataFlow.IProperty{``0})">
             <summary>
             Creates a one-way from-source binding between two properties, deferring the new value until execution gets off stack and collecting all the assignments that happen within that time span. The intermediate values are lost, assignments are not replayed, just the last one is applied. The assignment occurs on the <paramref name="dispatcher"/> thread.
             </summary>
             <param name="source">The source property.</param>
            <param name="lifetime">Lifetime of the binding.</param>
             <param name="dispatcher">The dispatcher on which the assignment should occur.</param>
             <param name="target">The target property.</param>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyEx.FlowInto``1(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.IProperty{``0})">
            <summary>
            Establishes a data flow between two properties.
            Creates a <see cref="T:JetBrains.DataFlow.PropertyBinding"/> of the <see cref="F:JetBrains.DataFlow.DataFlowDirection.FromSource"/> type.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyEx.FlowInto``2(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.IProperty{``1},System.Func{``0,``1})">
            <summary>
            Establishes a data flow between two properties of different types, thru a converter.
            Creates a <see cref="T:JetBrains.DataFlow.PropertyBinding"/> of the <see cref="F:JetBrains.DataFlow.DataFlowDirection.FromSource"/> type.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyEx.FlowIntoReadonly``2(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.IProperty{``1},System.Func{``0,``1},JetBrains.DataFlow.StandardPreconditions.ReadonlyToken)">
            <summary>
            Establishes a data flow between two properties of different types, thru a converter.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyEx.FlowIntoReadonly``1(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.StandardPreconditions.ReadonlyToken)">
            <summary>
            Establishes a data flow between two properties.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyEx.FlowIntoViaGroupingEvent``1(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.IProperty{``0},JetBrains.Threading.GroupingEvent,System.Boolean,JetBrains.DataFlow.StandardPreconditions.ReadonlyToken)">
            <summary>
            Establishes one-way frequency-limited data flow between two properties.
            The target update occurs no more often than allowed by the grouping event.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyEx.FlowInto_Grouped``1(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.IProperty{``0},JetBrains.Threading.GroupingEvent,JetBrains.DataFlow.StandardPreconditions.ReadonlyToken)">
            <summary>
            Establishes one-way frequency-limited data flow between two properties.
            The target update occurs no more often than allowed by the grouping event.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyEx.Invert(JetBrains.DataFlow.IProperty{System.Boolean},JetBrains.DataFlow.Lifetime)">
            <summary>
            Creates a boolean property with an inverter value.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyEx.LogChanges``1(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.Lifetime,System.String)">
            <summary>
            Logs the changes to the property value.
            </summary>
            <param name="property">The property.</param>
            <param name="lifetime">Duration of the logging.</param>
            <param name="prefix">The optional prefix to be prepended in square brackets to each log message.</param>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyEx.LogChangesAndStacktraces``1(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.Lifetime)">
            <summary>
            Logs the changes to the property value and appends change stacktrace
            </summary>
            <param name="property">The property.</param>
            <param name="lifetime">Duration of the logging.</param>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyEx.LogChanges``1(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.Lifetime,System.Object)">
            <summary>
            Logs the changes to the property value.
            </summary>
            <param name="property">The property.</param>
            <param name="lifetime">Duration of the logging.</param>
            <param name="logprefix">The object whose local name will be used as a logging prefix, ie prepended in square brackets to each log message, or a <see cref="T:System.Type"/> whose short name will be used.</param>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyEx.LogChanges``1(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.Lifetime,JetBrains.Util.ILogger)">
            <summary>
            Logs the changes to the property value.
            </summary>
            <param name="property">The property.</param>
            <param name="lifetime">Duration of the logging.</param>
            <param name="logger">The logger which serves as the logging context. Property name is added to each logged message.</param>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyEx.MakeFlag``1(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.Lifetime,System.Func{``0,System.Boolean},System.String)">
            <summary>
            Creates a flag property out of an arbitrary property which is either <c>True</c> or <c>False</c>, based on the <paramref name="FCondition"/> evaluated on the live value of the <paramref name="prop"/>.
            </summary>
            <typeparam name="TValue">Type of the source property.</typeparam>
            <param name="prop">The source property.</param>
            <param name="lifetime">Lifetime for the created property and its binding to the original property.</param>
            <param name="FCondition">The condition to be evaluated on each new value of the property.</param>
            <param name="sConditionName">The name of the condition. This name is appended to the <paramref name="prop"/>'s <see cref="P:JetBrains.DataFlow.IProperty`1.Id"/> to form the new <see cref="T:JetBrains.DataFlow.PropertyId`1"/> for the resulting flag.</param>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyEx.MakeFlag_NotNull``1(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.Lifetime)">
            <summary>
            Creates a flag property that indicates whether the <paramref name="prop"/> currently has a non-<c>Null</c> value.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyEx.OfType``1(JetBrains.DataFlow.IUntypedProperty,JetBrains.DataFlow.Lifetime)">
            <summary>
            Softly casts the property value to the given type by creating a new property of that type.
            If the type of the value in the source property is wrong, a <c>Null</c> will be assigned to the target property for that period.
            </summary>
            <typeparam name="TTarget">Target type.</typeparam>
            <param name="propSource">Source property of the source type.</param>
            <param name="lifetime">Lifetime synchronization policy for the two properties.</param>
            <returns>A newly-created target property of the target type.</returns>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyEx.ForEachValue``1(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.Lifetime,System.Action{JetBrains.DataFlow.Lifetime,``0})">
            <summary>
            <para>Binds a lifetime to each new value of the property.</para>
            <para><paramref name="FHandler">Your handler</paramref> is called for each new value of the property and is given the <see cref="T:JetBrains.DataFlow.ObsoleteLifetimeAndDefinitionAtTheSameTime">lifetime object</see> for that value. This per-value lifetime is terminated whenever a new value is assigned to the property, or when the <paramref name="lifetime"/> you define for this method terminates.</para>
            <para>Using the per-value lifetime, you can define a pair of actions (after-value-comes — before-value-goes) to be executed for each value, or spawn some activity for the duration of this value, etc.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyEx.ForEachValue``1(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.Lifetime,System.Func{``0,System.Boolean},System.Action{JetBrains.DataFlow.Lifetime,``0})">
            <summary>
            <para>Binds a lifetime to each new value of the property.</para>
            <para><paramref name="FHandler">Your handler</paramref> is called for each new value of the property (if it passes <paramref name="FCondition">the filter</paramref>) and is given the <see cref="T:JetBrains.DataFlow.ObsoleteLifetimeAndDefinitionAtTheSameTime">lifetime object</see> for that value. This per-value lifetime is terminated whenever a new value is assigned to the property, or when the <paramref name="lifetime"/> you define for this method terminates.</para>
            <para>Using the per-value lifetime, you can define a pair of actions (after-value-comes — before-value-goes) to be executed for each value, or spawn some activity for the duration of this value, etc.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyEx.DisposeEachValue``1(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.Lifetime)">
            <summary>
            Makes sure each value of the property is disposed of when it exits the property (just after the property is set to some other value).
            When the <paramref name="lifetime"/> terminates, the current value of the property is also disposed of.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyEx.ForEachValue_NotNull``1(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.Lifetime,System.Action{JetBrains.DataFlow.Lifetime,``0})">
            <summary>
            <para>Binds a lifetime to each new value of the property.</para>
            <para><paramref name="FHandler">Your handler</paramref> is called for each new non-<c>Null</c> value of the property and is given the <see cref="T:JetBrains.DataFlow.ObsoleteLifetimeAndDefinitionAtTheSameTime">lifetime object</see> for that value. This per-value lifetime is terminated whenever a new value is assigned to the property, or when the <paramref name="lifetime"/> you define for this method terminates.</para>
            <para>Using the per-value lifetime, you can define a pair of actions (after-value-comes — before-value-goes) to be executed for each value, or spawn some activity for the duration of this value, etc.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyEx.SetValue``1(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.Lifetime,``0,System.Object)">
            <summary>
            Temporarily sets the value to the property, for the duration of the <paramref name="lifetime"/>. When the <paramref name="lifetime"/> ends, the original value (by the moment of the method call) is restored.
            Prevents all writes to the property while this method holds.
            </summary>
            <param name="property">The property to process.</param>
            <param name="lifetime">Defines the value duration.</param>
            <param name="value">The property value to set.</param>
            <param name="cookie">An optional readonly cookie.</param>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyEx.WhenTrue(JetBrains.DataFlow.IProperty{System.Boolean},JetBrains.DataFlow.Lifetime,System.Action{JetBrains.DataFlow.Lifetime})">
            <summary>
            Creates a lifetime (and calls your handler) whenever the property value gets <c>True</c>. Closes the lifetime when the property value changes to <c>False</c>, or the lifetime of this method ends.
            </summary>
            <param name="property">The property whose value is to be monitored.</param>
            <param name="lifetime">Duration for the rules defined by this method.</param>
            <param name="FHandler">The handler that is executed when the value raises.</param>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyEx.WhenFalse(JetBrains.DataFlow.IProperty{System.Boolean},JetBrains.DataFlow.Lifetime,System.Action{JetBrains.DataFlow.Lifetime})">
            <summary>
            Creates a lifetime (and calls your handler) whenever the property value gets <c>False</c>. Closes the lifetime when the property value changes to <c>True</c>, or the lifetime of this method ends.
            </summary>
            <param name="property">The property whose value is to be monitored.</param>
            <param name="lifetime">Duration for the rules defined by this method.</param>
            <param name="FHandler">The handler that is executed when the value raises.</param>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyEx.Select``2(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.Lifetime,System.String,System.Func{``0,``1})">
            <summary>
            Creates a new property whose value is produced from the source property value.
            Analogous to the LINQ <c>Select</c> functionality.
            </summary>
            <typeparam name="TSource">Source type.</typeparam>
            <typeparam name="TTarget">Target type.</typeparam>
            <param name="propSource">Source value.</param>
            <param name="comment">Adds a comment suffix to the Property ID.</param>
            <param name="FSelect">Selector.</param>
            <param name="lifetime">Lifetime control.</param>
            <returns>A newly-created target property of the target type.</returns>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyEx.Select``2(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.Lifetime,System.String,System.Func{JetBrains.DataFlow.Lifetime,``0,``1})">
            <summary>
            Creates a new property whose value is produced from the source property value (allows to create lifetimed values).
            Analogous to the LINQ <c>Select</c> functionality.
            </summary>
            <typeparam name="TSource">Source type.</typeparam>
            <typeparam name="TTarget">Target type.</typeparam>
            <param name="propSource">Source value.</param>
            <param name="comment">Adds a comment suffix to the Property ID.</param>
            <param name="FSelect">Selector.</param>
            <param name="lifetime">Lifetime control.</param>
            <returns>A newly-created target property of the target type.</returns>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyEx.TryGetPropertyType(System.Type)">
            <summary>
            When given a <see cref="T:System.Type"/> of a CLR field or property that has the <see cref="T:JetBrains.DataFlow.IProperty`1"/> type wrapping some other type, unwraps and returns the underlying type of the property (generic argument, the same as its <see cref="P:JetBrains.DataFlow.IUntypedProperty.PropertyType"/>). If the <paramref name="type"/> is not a property type, returns <c>Null</c>.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyEx.FlowDeferredIntoCore``1(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.Lifetime,System.Func{JetBrains.Threading.JetDispatcher},JetBrains.DataFlow.IProperty{``0})">
             <summary>
             Creates a one-way from-source binding between two properties, deferring the new value until execution gets off stack and collecting all the assignments that happen within that time span. The intermediate values are lost, assignments are not replayed, just the last one is applied. The thread to run the assignment on is determined by the function <paramref name="FGetDispatcher"/>.
             </summary>
            <param name="source">The source property.</param>
            <param name="lifetime">Lifetime of the binding.</param>
            <param name="FGetDispatcher">Determines the thread to use.</param>
            <param name="target">The target property.</param>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyEx.CreateUntypedProperty(JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.PropertyId,System.Object,System.Nullable{System.Boolean},JetBrains.Util.ILogger)">
            <summary>
            <para>Creates an instance of the <see cref="T:JetBrains.DataFlow.Property`1"/> class in a context where you cannot have generic specialization to its type and have to operate the <see cref="T:JetBrains.DataFlow.IUntypedProperty"/> interface.</para>
            <para>For help on parameters, see the <see cref="T:JetBrains.DataFlow.Property`1"/> ctor parameters.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyEx.SetValueUnderLifetime``1(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.Lifetime,System.Func{JetBrains.DataFlow.Lifetime,``0})">
            <summary>
                <para>Sets a value to the property. The value has a lifetime until it's removed from the property.</para>
                <para>You're called a function with the prospected value lifetime, to produce the value object.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyEx_ObsoleteWithoutLifetime.PushForEachValue``1(JetBrains.DataFlow.IProperty{``0},System.Func{``0,System.IDisposable})">
            <summary>
            Executes a pair of actions for each new value of the <paramref name="property"/>.
            For each new value of the property, the <paramref name="handler"/> is executed.
            Its return value is disposed of when the property looses the value for each it were executed.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyEx_ObsoleteWithoutLifetime.PushValue``1(JetBrains.DataFlow.IProperty{``0},``0,System.Object)">
            <summary>
            Pushes the given value into the property when entering the try-finally brackets, pops (restores the former value) when exiting, which happens when the return value gets disposed of.
            The in-brackets writes are not handled.
            </summary>
            <param name="property">The property to process.</param>
            <param name="value">In-brackets property value.</param>
            <param name="cookie">An optional readonly cookie.</param>
            <returns>An instance to dispose of when leaving the brackets.</returns>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyEx_ObsoleteWithoutLifetime.PushValue``1(JetBrains.DataFlow.IProperty{``0},``0)">
            <summary>
            Pushes the given value into the property when entering the try-finally brackets, pops (restores the former value) when exiting, which happens when the return value gets disposed of.
            The in-brackets writes are not handled.
            </summary>
            <param name="property">The property to process.</param>
            <param name="value">In-brackets property value.</param>
            <returns>An instance to dispose of when leaving the brackets.</returns>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyEx_ObsoleteWithoutLifetime.FlowInto``1(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.IProperty{``0})">
            <summary>
            Establishes a data flow between two properties.
            Creates a <see cref="T:JetBrains.DataFlow.PropertyBinding"/> of the <see cref="F:JetBrains.DataFlow.DataFlowDirection.FromSource"/> type.
            Returns a cookie for terminating the flow.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyEx_ObsoleteWithoutLifetime.FlowInto``2(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.IProperty{``1},System.Func{``0,``1})">
            <summary>
            Establishes a data flow between two properties of different types, thru a converter.
            Creates a <see cref="T:JetBrains.DataFlow.PropertyBinding"/> of the <see cref="F:JetBrains.DataFlow.DataFlowDirection.FromSource"/> type.
            Returns a cookie for terminating the flow.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyEx_ObsoleteWithoutLifetime.LogChanges``1(JetBrains.DataFlow.IProperty{``0},System.String)">
            <summary>
            Logs the changes to the property value.
            </summary>
            <param name="property">The property.</param>
            <param name="prefix">The optional prefix to be prepended in square brackets to each log message.</param>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyEx_ObsoleteWithoutLifetime.LogChanges``1(JetBrains.DataFlow.IProperty{``0},System.Object)">
            <summary>
            Logs the changes to the property value.
            </summary>
            <param name="property">The property.</param>
            <param name="logprefix">The object whose local name will be used as a logging prefix, ie prepended in square brackets to each log message, or a <see cref="T:System.Type"/> whose short name will be used.</param>
        </member>
        <member name="T:JetBrains.DataFlow.IPropertySignalEx">
            <summary>
            Extension methods to <see cref="T:JetBrains.DataFlow.ISignal`1"/> specific to the signals of the <see cref="T:JetBrains.DataFlow.IProperty`1"/>.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertySignalEx.Advise_FallingFront``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.PropertyChangedEventArgs{``0}},JetBrains.DataFlow.Lifetime,System.Action)">
            <summary>
            <para>Executes the handler whenever the property value falls.</para>
            <para>A high value is a non-<c>Null</c> value. A low value is a <c>Null</c> or “unknown” (outside of lifetime).</para>
            <para>This means that the handler will be called when property value changes to <c>Null</c>, or when the lifetime ends while a property value is non-<c>Null</c>.</para>
            <para>For example, in the handler you could deactivate something if an option is turned off or the lifetime of your component ends.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertySignalEx.Advise_FallingFront``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.PropertyChangedEventArgs{``0}},JetBrains.DataFlow.Lifetime,System.Action{JetBrains.DataFlow.PropertyChangedEventArgs{``0}})">
            <summary>
            <para>Executes the handler whenever the property value falls.</para>
            <para>A high value is a non-<c>Null</c> value. A low value is a <c>Null</c> or “unknown” (outside of lifetime).</para>
            <para>This means that the handler will be called when property value changes to <c>Null</c>, or when the lifetime ends while a property value is non-<c>Null</c>.</para>
            <para>For example, in the handler you could deactivate something if an option is turned off or the lifetime of your component ends.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertySignalEx.Advise_FallingFrontHasNew(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.PropertyChangedEventArgs{System.Boolean}},JetBrains.DataFlow.Lifetime,System.Action)">
            <summary>
            <para>Executes the handler whenever the property value falls (excluding the case when we're acknowleding the last value when unadvising the property change signal).</para>
            <para>A high value is a non-<c>Null</c> value. A low value is a <c>Null</c> or “unknown” (outside of lifetime).</para>
            <para>This means that the handler will be called when property value changes to <c>Null</c> (but not when the lifetime ends while a property value is non-<c>Null</c>).</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertySignalEx.Advise_HasNew``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.PropertyChangedEventArgs{``0}},JetBrains.DataFlow.Lifetime,System.Action{JetBrains.DataFlow.PropertyChangedEventArgs{``0}})">
            <summary>
            <para>Filters property change events. Only calls the handler when the change has a <see cref="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.New">new value</see> for the property.</para>
            <para>This filter only skips the acknowledgement change at the end of the lifetime, when there's only the old value of the property, but no new one.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertySignalEx.Advise_HasNew``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.PropertyChangedEventArgs{``0}},JetBrains.DataFlow.Lifetime,System.Action)">
            <summary>
            <para>Filters property change events. Only calls the handler when the change has a <see cref="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.New">new value</see> for the property.</para>
            <para>This filter only skips the acknowledgement change at the end of the lifetime, when there's only the old value of the property, but no new one.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertySignalEx.Advise_HasOld``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.PropertyChangedEventArgs{``0}},JetBrains.DataFlow.Lifetime,System.Action{JetBrains.DataFlow.PropertyChangedEventArgs{``0}})">
            <summary>
            <para>Filters property change events. Only calls the handler when the change has an <see cref="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.Old">old value</see> for the property.</para>
            <para>This filter only skips the acknowledgement change at the beginning of the lifetime, when there's only the new value of the property, but no old one.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertySignalEx.Advise_HasOld``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.PropertyChangedEventArgs{``0}},JetBrains.DataFlow.Lifetime,System.Action)">
            <summary>
            <para>Filters property change events. Only calls the handler when the change has an <see cref="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.Old">old value</see> for the property.</para>
            <para>This filter only skips the acknowledgement change at the beginning of the lifetime, when there's only the new value of the property, but no old one.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertySignalEx.Advise_NewNotNull``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.PropertyChangedEventArgs{``0}},JetBrains.DataFlow.Lifetime,System.Action{JetBrains.DataFlow.PropertyChangedEventArgs{``0}})">
            <summary>
            <para>Filters property change events. Only calls the handler when the change has a <see cref="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.New">new value</see> for the property, and it is non-<c>Null</c>.</para>
            <para>This filter skips the acknowledgement change at the end of the lifetime, when there's only the old value of the property, but no new one; plus any change whose new value is <c>Null</c>.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertySignalEx.Advise_NewNotNull``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.PropertyChangedEventArgs{``0}},JetBrains.DataFlow.Lifetime,System.Action)">
            <summary>
            <para>Filters property change events. Only calls the handler when the change has a <see cref="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.New">new value</see> for the property, and it is non-<c>Null</c>.</para>
            <para>This filter skips the acknowledgement change at the end of the lifetime, when there's only the old value of the property, but no new one; plus any change whose new value is <c>Null</c>.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertySignalEx.Advise_NoAcknowledgement``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.PropertyChangedEventArgs{``0}},JetBrains.DataFlow.Lifetime,System.Action{JetBrains.DataFlow.PropertyChangedEventArgs{``0}})">
            <summary>
            <para>Advises the <see cref="P:JetBrains.DataFlow.IProperty`1.Change"/> so that the handler is not acknwledged.</para>
            <para>Acknowledgement changes are fired in the beginning of the lifetime (for the event sink to acknowledge the initial value of the property; the old value in the change arguments is undefined) and at the end of the lifetime (to acknowledge the final value of the property and unbind from it correctly as from any other value; the new value in the change arguments is undefined).</para>
            <para>During an acknowledgement change, <see cref="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.IsAcknowledging"/> is <c>True</c>; either <see cref="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.HasOld"/> or <see cref="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.HasNew"/> is <c>False</c>; getting the corresponding value throws an exception. When using this method, only real <see cref="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.HasOld"/> &amp; <see cref="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.HasNew"/> changes are let through.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertySignalEx.Advise_NoAcknowledgement``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.PropertyChangedEventArgs{``0}},JetBrains.DataFlow.Lifetime,System.Action)">
            <summary>
            <para>Advises the <see cref="P:JetBrains.DataFlow.IProperty`1.Change"/> so that the handler is not acknwledged.</para>
            <para>Acknowledgement changes are fired in the beginning of the lifetime (for the event sink to acknowledge the initial value of the property; the old value in the change arguments is undefined) and at the end of the lifetime (to acknowledge the final value of the property and unbind from it correctly as from any other value; the new value in the change arguments is undefined).</para>
            <para>During an acknowledgement change, <see cref="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.IsAcknowledging"/> is <c>True</c>; either <see cref="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.HasOld"/> or <see cref="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.HasNew"/> is <c>False</c>; getting the corresponding value throws an exception. When using this method, only real <see cref="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.HasOld"/> &amp; <see cref="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.HasNew"/> changes are let through.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertySignalEx.Advise_NoAcknowledgement``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.BeforePropertyChangedEventArgs{``0}},JetBrains.DataFlow.Lifetime,System.Action{JetBrains.DataFlow.BeforePropertyChangedEventArgs{``0}})">
            <summary>
            <para>Advises the <see cref="P:JetBrains.DataFlow.IProperty`1.BeforeChange"/> so that the handler is not acknwledged.</para>
            <para>Acknowledgement changes are fired in the beginning of the lifetime (for the event sink to acknowledge the initial value of the property; the old value in the change arguments is undefined) and at the end of the lifetime (to acknowledge the final value of the property and unbind from it correctly as from any other value; the new value in the change arguments is undefined).</para>
            <para>During an acknowledgement change, <see cref="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.IsAcknowledging"/> is <c>True</c>; either <see cref="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.HasOld"/> or <see cref="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.HasNew"/> is <c>False</c>; getting the corresponding value throws an exception. When using this method, only real <see cref="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.HasOld"/> &amp; <see cref="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.HasNew"/> changes are let through.</para>
            <para>Useful for user-restricting rather than data-restricting handlers, as those would not pass the value already in the property.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertySignalEx.Advise_NoAcknowledgement``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.BeforePropertyChangedEventArgs{``0}},JetBrains.DataFlow.Lifetime,System.Action)">
            <summary>
            <para>Advises the <see cref="P:JetBrains.DataFlow.IProperty`1.BeforeChange"/> so that the handler is not acknwledged.</para>
            <para>Acknowledgement changes are fired in the beginning of the lifetime (for the event sink to acknowledge the initial value of the property; the old value in the change arguments is undefined) and at the end of the lifetime (to acknowledge the final value of the property and unbind from it correctly as from any other value; the new value in the change arguments is undefined).</para>
            <para>During an acknowledgement change, <see cref="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.IsAcknowledging"/> is <c>True</c>; either <see cref="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.HasOld"/> or <see cref="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.HasNew"/> is <c>False</c>; getting the corresponding value throws an exception. When using this method, only real <see cref="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.HasOld"/> &amp; <see cref="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.HasNew"/> changes are let through.</para>
            <para>Useful for user-restricting rather than data-restricting handlers, as those would not pass the value already in the property.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertySignalEx.Advise_RaisingFront``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.PropertyChangedEventArgs{``0}},JetBrains.DataFlow.Lifetime,System.Action)">
            <summary>
            <para>Executes the handler whenever the property value raises.</para>
            <para>A high value is a non-<c>Null</c> value. A low value is a <c>Null</c> or “unknown” (outside of lifetime).</para>
            <para>This means that the handler will be called when property value changes from <c>Null</c>, or when the lifetime starts while a property value is non-<c>Null</c>.</para>
            <para>For example, in the handler you could activate something if an option is turned on or the lifetime of your component begins.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertySignalEx.Advise_RaisingFront``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.PropertyChangedEventArgs{``0}},JetBrains.DataFlow.Lifetime,System.Action{JetBrains.DataFlow.PropertyChangedEventArgs{``0}})">
            <summary>
            <para>Executes the handler whenever the property value raises.</para>
            <para>A high value is a non-<c>Null</c> value. A low value is a <c>Null</c> or “unknown” (outside of lifetime).</para>
            <para>This means that the handler will be called when property value changes from <c>Null</c>, or when the lifetime starts while a property value is non-<c>Null</c>.</para>
            <para>For example, in the handler you could activate something if an option is turned on or the lifetime of your component begins.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertySignalEx.Advise_When``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.PropertyChangedEventArgs{``0}},JetBrains.DataFlow.Lifetime,``0,System.Action)">
            <summary>
            Invokes the handler for specific property values only. Filters down the <see cref="!:Advise_HasNew&lt;TValue&gt;(JetBrains.DataFlow.ISignal&lt;JetBrains.DataFlow.PropertyChangedEventArgs&lt;TValue&gt;&gt;,ObsoleteLifetimeAndDefinitionAtTheSameTime,System.Action)"/> invocations to only those whose new-value is <paramref name="valueWhen"/>.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertySignalEx.Advise_When``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.PropertyChangedEventArgs{``0}},JetBrains.DataFlow.Lifetime,System.Func{``0,System.Boolean},System.Action{``0})">
            <summary>
            Invokes the handler for specific property values only. Filters down the <see cref="!:Advise_HasNew&lt;TValue&gt;(JetBrains.DataFlow.ISignal&lt;JetBrains.DataFlow.PropertyChangedEventArgs&lt;TValue&gt;&gt;,ObsoleteLifetimeAndDefinitionAtTheSameTime,System.Action&lt;JetBrains.DataFlow.PropertyChangedEventArgs&lt;TValue&gt;&gt;)"/> invocations to only those whose new-value fits the <paramref name="FFilter"/>.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertySignalEx_ObsoleteWithoutLifetime.Advise_NoAcknowledgement``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.BeforePropertyChangedEventArgs{``0}},System.Action{JetBrains.DataFlow.BeforePropertyChangedEventArgs{``0}})">
            <summary>
            Sinks the <see cref="P:JetBrains.DataFlow.IProperty`1.BeforeChange"/> so that the handler is not acknwledged.
            Useful for user-restricting rather than data-restricting handlers, as those would not pass the data already in the collection.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertySignalEx_ObsoleteWithoutLifetime.Advise_NoAcknowledgement``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.PropertyChangedEventArgs{``0}},System.Action{JetBrains.DataFlow.PropertyChangedEventArgs{``0}})">
            <summary>
            Sinks the <see cref="P:JetBrains.DataFlow.IProperty`1.Change"/> so that the handler is not acknwledged.
            Useful for user-restricting rather than data-restricting handlers, as those would not pass the data already in the collection.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertySignalEx_ObsoleteWithoutLifetime.Advise_NoAcknowledgement``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.PropertyChangedEventArgs{``0}},System.Action)">
            <summary>
            Sinks the <see cref="P:JetBrains.DataFlow.IProperty`1.Change"/> so that the handler is not acknwledged.
            Useful for user-restricting rather than data-restricting handlers, as those would not pass the data already in the collection.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertySignalEx_ObsoleteWithoutLifetime.Advise_NoAcknowledgement``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.BeforePropertyChangedEventArgs{``0}},System.Action)">
            <summary>
            Sinks the <see cref="P:JetBrains.DataFlow.IProperty`1.BeforeChange"/> so that the handler is not acknwledged.
            Useful for user-restricting rather than data-restricting handlers, as those would not pass the data already in the collection.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertySignalEx_ObsoleteWithoutLifetime.Advise_RaisingFront``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.PropertyChangedEventArgs{``0}},System.Action)">
            <summary>
            Invokes the handler on the raising front of the boolean property value, that is, when anything changes to <c>True</c>.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertySignalEx_ObsoleteWithoutLifetime.Advise_RaisingFront``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.PropertyChangedEventArgs{``0}},System.Action{JetBrains.DataFlow.PropertyChangedEventArgs{``0}})">
            <summary>
            Invokes the handler on the raising front of the boolean property value, that is, when anything changes to <c>True</c>.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertySignalEx_ObsoleteWithoutLifetime.Advise_When``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.PropertyChangedEventArgs{``0}},System.Func{``0,System.Boolean},System.Action{``0})">
            <summary>
            Invokes the handler for specific property values only. Filters down the <see cref="!:Advise_HasNew(ISignal&lt;TValue&gt;,Action&lt;PropertyChangedEventArgs&lt;TValue&gt;&gt;)"/> invocations to only those whose new-value passes the <paramref cref="!:filter"/>.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.ISignalEx">
            <summary>
            Extension method helpers for the data flow classes related to signals.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ISignalEx.Advise``1(JetBrains.DataFlow.ISignal{``0},JetBrains.DataFlow.Lifetime,System.Action)">
            <summary>
            Advises the signal event for the duration of the <paramref name="lifetime"/> so that the <paramref name="handler"/> is called when the signal fires.
            This is an overload for a handler that does not need event arguments.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ISignalEx.Advise_InOut``2(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.InOutEventArgs{``0,``1}},JetBrains.DataFlow.Lifetime,System.Func{``0,``1})">
            <summary>
            A helper for sinking IN-OUT events. Gets just the IN-argument for input, returns the OUT-argument.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ISignalEx.FireInOut``2(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.InOutEventArgs{``0,``1}},``0,``1)">
            <summary>
            For a signal that has an in-out value, fires the signal and collects the out-value.
            </summary>
            <remarks>Method name is not <c>Fire</c> because otherwise the <see cref="M:JetBrains.DataFlow.ISignalEx.FireInOut``2(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.InOutEventArgs{``0,``1}},``0,``1)"/> overload conflicts with <see cref="M:JetBrains.DataFlow.IUntypedSignal.Fire(System.Object,System.Object)"/>.</remarks>
        </member>
        <member name="M:JetBrains.DataFlow.ISignalEx.BeginFire(JetBrains.DataFlow.ISimpleSignal,JetBrains.DataFlow.Lifetime,JetBrains.Threading.JetDispatcher)">
            <summary>
            <para>Asynhronously fires the signal on the thread identified by the dispatcher.</para>
            <para>The deferred firing is canceled if the lifetime terminates before it is invoked.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ISignalEx.BeginFire``1(JetBrains.DataFlow.ISignal{``0},JetBrains.DataFlow.Lifetime,JetBrains.Threading.JetDispatcher,``0)">
            <summary>
            <para>Asynhronously fires the signal on the thread identified by the dispatcher.</para>
            <para>The deferred firing is canceled if the lifetime terminates before it is invoked.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ISignalEx.BeginFire``1(JetBrains.DataFlow.ISignal{``0},JetBrains.DataFlow.Lifetime,JetBrains.Threading.JetDispatcher,``0,System.Object)">
            <summary>
            <para>Asynhronously fires the signal on the thread identified by the dispatcher.</para>
            <para>The deferred firing is canceled if the lifetime terminates before it is invoked.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ISignalEx.Fire``1(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.OutEventArgs{``0}})">
            <summary>
            For a signal that has an out-value only, fires the signal and collects the out-value.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ISignalEx.FireInOut``2(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.InOutEventArgs{``0,``1}},``0)">
            <summary>
            For a signal that has an in-out value, fires the signal and collects the out-value.
            </summary>
            <remarks>Method name is not <c>Fire</c> because otherwise the <see cref="M:JetBrains.DataFlow.ISignalEx.FireInOut``2(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.InOutEventArgs{``0,``1}},``0,``1)"/> overload conflicts with <see cref="M:JetBrains.DataFlow.IUntypedSignal.Fire(System.Object,System.Object)"/>.</remarks>
        </member>
        <member name="M:JetBrains.DataFlow.ISignalEx.FlowDeferredInto``1(JetBrains.DataFlow.ISignal{``0},JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.ISimpleSignal)">
            <summary>
            Creates a one-way binding between two signals, deferring the action until execution gets off stack and collecting all the signals that happen within that time span.
            </summary>
            <param name="source">The source signal.</param>
            <param name="lifetime">Lifetime for the flow set-up. If there're any pending firings to flow to the target when the lifetime terminates, such firings are dropped.</param>
            <param name="target">The target signal.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ISignalEx.FlowInto``1(JetBrains.DataFlow.ISignal{``0},JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.ISimpleSignal)">
            <summary>
            Creates a <see cref="F:JetBrains.DataFlow.DataFlowDirection.FromSource"/>-binding for two signals, the second one a reduced simple signal.
            </summary>
            <param name="source">The originating signal.</param>
            <param name="lifetime">Lifetime for the flow set-up.</param>
            <param name="target">The dependent simple signal.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ISignalEx.FlowInto``1(JetBrains.DataFlow.ISignal{``0},JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.ISignal{``0})">
            <summary>
            Creates a <see cref="F:JetBrains.DataFlow.DataFlowDirection.FromSource"/>-binding for two signals, the second one a reduced simple signal.
            </summary>
            <param name="source">The originating signal.</param>
            <param name="lifetime">Lifetime for the flow set-up.</param>
            <param name="target">The dependent simple signal.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ISignalEx.FlowInto``2(JetBrains.DataFlow.ISignal{``0},JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.ISignal{``1},System.Func{``0,``1})">
            <summary>
            Creates a <see cref="F:JetBrains.DataFlow.DataFlowDirection.FromSource"/>-binding for two signals, the second one a reduced simple signal.
            </summary>
            <param name="source">The originating signal.</param>
            <param name="lifetime">Lifetime for the flow set-up.</param>
            <param name="target">The dependent signal.</param>
            <param name="FConvert">Function that converts the high value of the source signal to value for the target signal.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ISignalEx.FlowInto(JetBrains.DataFlow.ISimpleSignal,JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.ISimpleSignal)">
            <summary>
            Creates a <see cref="F:JetBrains.DataFlow.DataFlowDirection.FromSource"/>-binding for two simple signals.
            </summary>
            <param name="source">The originating signal.</param>
            <param name="lifetime">Lifetime for the flow set-up.</param>
            <param name="target">The dependent simple signal.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ISignalEx.LogFirings``1(JetBrains.DataFlow.ISignal{``0},JetBrains.DataFlow.Lifetime,System.String)">
            <summary>
            Logs the event firings and the payload of the event.
            </summary>
            <param name="thіs">The event.</param>
            <param name="lifetime">Lifetime for the logging set-up.</param>
            <param name="prefix">The optional prefix to be prepended in square brackets to each log message.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ISignalEx.LogFirings``1(JetBrains.DataFlow.ISignal{``0},JetBrains.DataFlow.Lifetime,System.Object)">
            <summary>
            Logs the event firings and the payload of the event.
            </summary>
            <param name="thіs">The event.</param>
            <param name="lifetime">Lifetime for the logging set-up.</param>
            <param name="logprefix">The object whose local name will be used as a logging prefix, ie prepended in square brackets to each log message, or a <see cref="T:System.Type"/> whose short name will be used.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ISignalEx.LogFirings``1(JetBrains.DataFlow.ISignal{``0},JetBrains.DataFlow.Lifetime,JetBrains.Util.ILogger)">
            <summary>
            Logs the event firings and the payload of the event.
            </summary>
            <param name="thіs">The event.</param>
            <param name="lifetime">Lifetime for the logging set-up.</param>
            <param name="logger">The logger which serves as the logging context. Signal name is added to each logged message.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ISignalEx_ObsoleteWithoutLifetime.Advise``1(JetBrains.DataFlow.ISignal{``0},System.Action)">
            <summary>
            Advises the signal event so that the <paramref name="handler"/> is called when the signal fires.
            Unadvises when the return value is disposed of.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ISignalEx_ObsoleteWithoutLifetime.Advise_InOut``2(JetBrains.DataFlow.ISignal{JetBrains.DataFlow.InOutEventArgs{``0,``1}},System.Func{``0,``1})">
            <summary>
            A helper for sinking IN-OUT events. Gets just the IN-argument for input, returns the OUT-argument.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ISignalEx_ObsoleteWithoutLifetime.Advise``1(JetBrains.DataFlow.ISignal{``0},System.Action{``0})">
            <summary>
            Advises the signal event so that the <paramref name="handler"/> is called when the signal fires.
            Unadvises when the return value is disposed of.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ISignalEx_ObsoleteWithoutLifetime.BeginFire(JetBrains.DataFlow.ISimpleSignal,JetBrains.Threading.JetDispatcher)">
            <summary>
            Asynhronously fires the signal.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ISignalEx_ObsoleteWithoutLifetime.BeginFire``1(JetBrains.DataFlow.ISignal{``0},JetBrains.Threading.JetDispatcher,``0)">
            <summary>
            Asynhronously fires the signal.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ISignalEx_ObsoleteWithoutLifetime.BeginFire``1(JetBrains.DataFlow.ISignal{``0},JetBrains.Threading.JetDispatcher,``0,System.Object)">
            <summary>
            Asynhronously fires the signal.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ISignalEx_ObsoleteWithoutLifetime.FlowDeferredInto``1(JetBrains.DataFlow.ISignal{``0},JetBrains.DataFlow.ISimpleSignal)">
            <summary>
            Creates a one-way binding between two signals, deferring the action until execution gets off stack and collecting all the signals that happen within that time span.
            </summary>
            <param name="source">The source signal.</param>
            <param name="target">The target signal.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ISignalEx_ObsoleteWithoutLifetime.FlowInto``1(JetBrains.DataFlow.ISignal{``0},JetBrains.DataFlow.ISimpleSignal)">
            <summary>
            Creates a <see cref="F:JetBrains.DataFlow.DataFlowDirection.FromSource"/>-binding for two signals, the second one a reduced simple signal.
            </summary>
            <param name="source">The originating signal.</param>
            <param name="target">The dependent simple signal.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ISignalEx_ObsoleteWithoutLifetime.FlowInto``1(JetBrains.DataFlow.ISignal{``0},JetBrains.DataFlow.ISignal{``0})">
            <summary>
            Creates a <see cref="F:JetBrains.DataFlow.DataFlowDirection.FromSource"/>-binding for two signals, the second one a reduced simple signal.
            </summary>
            <param name="source">The originating signal.</param>
            <param name="target">The dependent simple signal.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ISignalEx_ObsoleteWithoutLifetime.FlowInto``2(JetBrains.DataFlow.ISignal{``0},JetBrains.DataFlow.ISignal{``1},System.Func{``0,``1})">
            <summary>
            Creates a <see cref="F:JetBrains.DataFlow.DataFlowDirection.FromSource"/>-binding for two signals, the second one a reduced simple signal.
            </summary>
            <param name="source">The originating signal.</param>
            <param name="target">The dependent signal.</param>
            <param name="converter">Function that converts the high value of the source signal to value for the target signal.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ISignalEx_ObsoleteWithoutLifetime.FlowInto(JetBrains.DataFlow.ISimpleSignal,JetBrains.DataFlow.ISimpleSignal)">
            <summary>
            Creates a <see cref="F:JetBrains.DataFlow.DataFlowDirection.FromSource"/>-binding for two simple signals.
            </summary>
            <param name="source">The originating signal.</param>
            <param name="target">The dependent simple signal.</param>
        </member>
        <member name="T:JetBrains.DataFlow.PropertyChangeEventArgsEx">
            <summary>
            Extension method helpers for the data flow classes.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyChangeEventArgsEx.GetNewOrNull``1(JetBrains.DataFlow.PropertyChangedEventArgs{``0})">
            <summary>
            <para>If there's the new value in the change (<see cref="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.HasNew"/>), returns it.</para>
            <para>Otherwise, returns <c>Null</c>.</para>
            <para>When the lifetime is terminated, an acknowledgement change is fired to acknowledge your event sink that it's being disconnected from the last value of the property. In this case there's no new value in the change.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyChangeEventArgsEx.GetOldOrNull``1(JetBrains.DataFlow.PropertyChangedEventArgs{``0})">
            <summary>
            <para>If there's the old value in the change (<see cref="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.HasOld"/>), returns it.</para>
            <para>Otherwise, returns <c>Null</c>.</para>
            <para>When you start sinking the property change events, an acknowledgement change is fired to acknowledge your event sink with the current value of the property, as if it's just being set. In this case there's no old value in the change.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyChangeEventArgsEx.IsRaising(JetBrains.DataFlow.PropertyChangedEventArgs{System.Boolean})">
            <summary>
            Gets whether the boolean property value is raising (changing from <c>False</c> or “unknown” to <c>True</c>).
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.PropertyValidationException">
            <summary>
            Thrown when a suggested property value fails to pass the validation.
            </summary>
        </member>
        <member name="T:JetBrains.Util.ValidationException">
            <summary>
            Thrown when a suggested value fails to pass the validation.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.PropertyValidationException.Property">
            <summary>
            The property that was attempted to be changed.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.PropertyValidationException.Value">
            <summary>
            The attempted new value.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.PropertyValidator">
            <summary>
            Validates properties by preventing certain values from being assigned to the property.
            Note that for the validator to attach, the original value must pass validation.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyValidator.CreateEnumValidator``1(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.Lifetime)">
            <summary>
            Creates the validtor. It's held by a reference from the property ever since.
            Attaches a validator to the property whose type is an <see cref="T:System.Enum"/>.
            Ensures that the value belongs to the enum values list.
            </summary>
            <param name="thіs">The proeprty to validate. Must be of an enum-based type.</param>
            <param name="lifetime">The lifetime for the validation constraint.</param>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyValidator.CreateMaximumValidator``1(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.Lifetime,``0)">
            <summary>
            Compares the suggested property values with the maximum, which is inclusive.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyValidator.CreateMinimumValidator``1(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.Lifetime,``0)">
            <summary>
            Compares the suggested property values with the minimum, which is inclusive.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyValidator.CreateNotEmptyValidator(JetBrains.DataFlow.IProperty{System.String},JetBrains.DataFlow.Lifetime)">
            <summary>
            Enforces non-empty values for the string property.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyValidator.CreateReadonlyValidator``1(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.StandardPreconditions.ReadonlyToken)">
            <summary>
            Makes a readonly property. All the legitimate setters must pass the <paramref name="token"/> as an argument.
            If the <paramref name="token"/> is invalid, an exception is thrown.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyValidator.CreateThreadAffinityValidator``1(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.Lifetime,System.Threading.Thread)">
            <summary>
            Ensures the <paramref name="thіs"/> is modified only on the given <paramref name="thread"/>.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyValidator.CreateThreadAffinityValidator``1(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.Lifetime,JetBrains.Threading.JetDispatcher)">
            <summary>
            Ensures the <paramref name="thіs"/> is modified only on the <paramref name="dispatcher"/>'s thread.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyValidator.Freeze``1(JetBrains.DataFlow.IProperty{``0},System.String)">
            <summary>
            Makes the property “Frozen”, which means its value cannot be changed from now on.
            Allows to specify a custom message.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyValidator.Freeze``1(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.Lifetime,System.String)">
            <summary>
            Makes the property “Frozen”, which means its value cannot be changed from now on.
            Allows to specify a custom message.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.PropertyValidatorFluent">
            <summary>
            Fluent-Api property validators from <see cref="T:JetBrains.DataFlow.PropertyValidator"/>.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyValidatorFluent.CoerceToRange``1(JetBrains.DataFlow.Property{``0},``0,``0)">
            <summary>
            Coerces the property values so that they fall into the given range, inclusive. No exceptions are thrown. The soft version of <see cref="M:JetBrains.DataFlow.PropertyValidatorFluent.EnsureNotOutside``1(JetBrains.DataFlow.Property{``0},``0,``0)"/>.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyValidatorFluent.EnsureEnum``1(JetBrains.DataFlow.Property{``0})">
            <summary>
            <see cref="M:JetBrains.DataFlow.PropertyValidator.CreateEnumValidator``1(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.Lifetime)"/>.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyValidatorFluent.EnsureEnum``1(JetBrains.DataFlow.IProperty{``0})">
            <summary>
            <see cref="M:JetBrains.DataFlow.PropertyValidator.CreateEnumValidator``1(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.Lifetime)"/>.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyValidatorFluent.EnsureInitonly``1(JetBrains.DataFlow.Property{``0})">
            <summary>
            Ensures that only one assignment to the property is allowed.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyValidatorFluent.EnsureNotAbove``1(JetBrains.DataFlow.Property{``0},``0)">
            <summary>
            Compares the suggested property values with the maximum, which is inclusive.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyValidatorFluent.EnsureNotBelow``1(JetBrains.DataFlow.Property{``0},``0)">
            <summary>
            Compares the suggested property values with the minimum, which is inclusive.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyValidatorFluent.EnsureNotOutside``1(JetBrains.DataFlow.Property{``0},``0,``0)">
            <summary>
            Ensures that property values fall into the given range, inclusive. Throws if values out of range. The hard version of <see cref="M:JetBrains.DataFlow.PropertyValidatorFluent.CoerceToRange``1(JetBrains.DataFlow.Property{``0},``0,``0)"/>.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyValidatorFluent.EnsureReadonly``1(JetBrains.DataFlow.Property{``0},JetBrains.DataFlow.StandardPreconditions.ReadonlyToken)">
            <summary>
            Makes a readonly property. All the legitimate setters must pass the <paramref name="token"/> as an argument.
            If the <paramref name="token"/> is invalid, an exception is thrown.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyValidatorFluent.EnsureReadonly``1(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.StandardPreconditions.ReadonlyToken)">
            <summary>
            Makes a readonly property. All the legitimate setters must pass the <paramref name="token"/> as an argument.
            If the <paramref name="token"/> is invalid, an exception is thrown.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyValidatorFluent.EnsureThisThread``1(JetBrains.DataFlow.Property{``0})">
            <summary>
            Ensures the <paramref name="property"/> is modified only on the thread this function was called on.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyValidatorFluent.EnsureThisThread``1(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.Lifetime)">
            <summary>
            Ensures the <paramref name="property"/> is modified only on the thread this function was called on.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.RegistryValueProperty">
            <summary>
            Creates <see cref="T:JetBrains.DataFlow.IProperty`1"/> that passively reflect the Registry values. Note that currently they do not track Registry changes.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.RegistryValueProperty.CreatePassive``1(JetBrains.DataFlow.Lifetime,Microsoft.Win32.RegistryKey,System.String,System.String,``0)">
            <summary>
            Creates a property that's passively mirrored into Registry (does not listen to Registry changes).
            Note that the Registry key is not kept open between the read/write sessions.
            </summary>
            <typeparam name="TValue">Value type.</typeparam>
            <param name="keyRoot">The root key, eg <see cref="F:Microsoft.Win32.Registry.ClassesRoot"/>.</param>
            <param name="sKeyPath">The relative path from the root key to the key that contains the data we're binding to.</param>
            <param name="sDataName">Name of the data. Null for the default value of the key.</param>
            <param name="defvalue">Default value for the data when reading it from Registry initially, in case it's missing.</param>
        </member>
        <member name="T:JetBrains.DataFlow.SignalValidator">
            <summary>
            Validations for signal firings.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.SignalValidator.EnsureReadonly``1(JetBrains.DataFlow.ISignal{``0},JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.StandardPreconditions.ReadonlyToken)">
            <summary>
            Makes a readonly signal. All the legitimate <see cref="M:JetBrains.DataFlow.ISignal`1.Fire(`0,System.Object)"/> calls must pass the <paramref name="token"/> as an argument.
            If the <paramref name="token"/> is invalid, an exception is thrown.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.SignalValidator.EnsureReadonly(JetBrains.DataFlow.SimpleSignal,JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.StandardPreconditions.ReadonlyToken)">
            <summary>
            Makes a readonly signal. All the legitimate <see cref="M:JetBrains.DataFlow.ISignal`1.Fire(`0,System.Object)"/> calls must pass the <paramref name="token"/> as an argument.
            If the <paramref name="token"/> is invalid, an exception is thrown.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.SignalValidator.EnsureThisThread``1(JetBrains.DataFlow.ISignal{``0},JetBrains.DataFlow.Lifetime)">
            <summary>
            Ensures the <paramref name="signal"/> is fired only on the current thread.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.SignalValidator.EnsureThisThread(JetBrains.DataFlow.SimpleSignal,JetBrains.DataFlow.Lifetime)">
            <summary>
            Ensures the <paramref name="signal"/> is fired only on the thread this function was called on.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.IHaveUntypedProperty">
            <summary>
            An interface for getting <see cref="T:JetBrains.DataFlow.IUntypedProperty"/> from a <see cref="T:JetBrains.DataFlow.IProperty`1"/> in an untyped manner.
            Allows to get the property value in a nongeneric method (e.g. in property value serializer).
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.IHaveUntypedProperty.AsUntyped">
            <summary>
            Gets the nongeneric version of the API to this object.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.IListEvents`1">
            <summary>
            A list that fires events when items are added or removed.
            </summary>
            <typeparam name="TValue">List values type.</typeparam>
        </member>
        <member name="M:JetBrains.DataFlow.IListEvents`1.Modify(JetBrains.DataFlow.AddRemove,`0,System.Int32,System.Object)">
            <summary>
            A universal method for modifications on the collection. Useful for data flow between the collections, when <see cref="P:JetBrains.DataFlow.IListEvents`1.AddRemove"/> signal handler is pumping into another collection.
            </summary>
            <param name="action">Whether to add or remove the item.</param>
            <param name="item">The item to add or remove. When doing the remove operation, this parameter is ignored and the index is used instead.</param>
            <param name="index">The index at which the modification should occur.</param>
            <param name="cookie">The optional modification cookie.</param>
            <returns>Success code.</returns>
        </member>
        <member name="M:JetBrains.DataFlow.IListEvents`1.Modify(JetBrains.DataFlow.AddRemove,System.Func{`0},System.Int32,System.Object)">
            <summary>
            A universal method for modifications on the collection. Useful for data flow between the collections, when <see cref="P:JetBrains.DataFlow.IListEvents`1.AddRemove"/> signal handler is pumping into another collection.
            </summary>
            <param name="action">Whether to add or remove the item.</param>
            <param name="funcGetItemIfAdding">A function that is called only when doing the <see cref="F:JetBrains.DataFlow.AddRemove.Add"/> operation and produces the new item to be added to the list. This allows to create a new item when pumping from one collection to another with creating the wrappers simultaneousely.</param>
            <param name="index">The index at which the modification should occur.</param>
            <param name="cookie">The optional modification cookie.</param>
            <returns>Success code.</returns>
        </member>
        <member name="P:JetBrains.DataFlow.IListEvents`1.AddRemove">
            <summary>
            Fires when an item is added or removed to your view on the collection.
            Throwing an exception does not prevent the item from being added or other handlers from being called.
            The event supports acknowledgement, which means that when you advise the event, all of the items currently in collection come into your view on the collection, so the add is fired for each. Similarly, remove is fired when you unadvise and all of the elements go away from your view on the collection.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.IListEvents`1.BeforeAddRemove">
            <summary>
            Fires before an item is added or removed.
            To prevent the add/remove operation, set <see cref="P:JetBrains.DataFlow.BeforeAddRemoveEventArgs`1.Cancel"/> to <c>True</c> (decline the operation silently) or throw an exception (the exception is let out to the caller). 
            After the first handler to cancel the operation, the remaining handlers may not be called.
            No <see cref="P:JetBrains.DataFlow.ICollectionEvents`1.AddRemove"/> are guaranteed to be executed if the operation is cancelled.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.Infra.SignalWithDelegates`1">
            <summary>
            A signal-inheritor that exposes the signal's virtual methods as delegates.
            The signal has virtual methods instead of delegates because it's cheaper to call the virtual method, which is essential for the property case, for example. Less performance-critical scenarios (like collections) would use delegates instead of inheriting custom classes.
            </summary>
            <typeparam name="TValue"></typeparam>
        </member>
        <member name="T:JetBrains.DataFlow.Signal`1">
            <summary>
            <para>An event-like signal that can be advised by any number of event sinks, fired by any number of external callers, and takes part in the data flow infrastructure.</para>
            <para>Suitable for use in MVC's codebehind, when the event should be fireable by the views.</para>
            </summary>
            <typeparam name="TValue">The type of the payload, should a signal have any. <see cref="T:System.Boolean"/> is the simplest default.</typeparam>
        </member>
        <member name="T:JetBrains.DataFlow.ISignal`1">
            <summary>
            An event-like signal that can be sinked by any number of listeners, fired by any number of external callers, and takes part in the data flow infrastructure.
            Suitable for use in MVC's codebehind, when the event should be fireable by the views.
            </summary>
            <typeparam name="TValue">The type of the payload, should a signal have any. <see cref="T:System.Boolean"/> is the simplest default.</typeparam>
            <remarks>
            <para>The signal uses an <see cref="P:JetBrains.DataFlow.PropertyChangedEventArgs`1.HasOld"/> as its underlying transport. 
            The signal is considered to be fired when the property value changes, 
            has both <see cref="T:JetBrains.DataFlow.PropertyChangedEventArgs`1"/> and <see cref="T:JetBrains.DataFlow.PropertyChangedEventArgs`1"/>, 
            and the value is falling (changes to <c>default(TValue)</c>).</para>
            <para>For the signal to take part in the data flow, use its underlying property in the bindings.</para>
            </remarks>
        </member>
        <member name="M:JetBrains.DataFlow.ISignal`1.Advise(JetBrains.DataFlow.Lifetime,System.Action{`0})">
            <summary>
            Advises the signal event for the duration of the <paramref name="lifetime"/> so that the <paramref name="handler"/> is called when the signal fires.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ISignal`1.Fire(`0)">
            <summary>
            Fires the signal.
            </summary>
            <param name="value">The payload of the signal. Must not be <c>default(TValue)</c>.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ISignal`1.Fire(`0,System.Object)">
            <summary>
            Fires the signal.
            </summary>
            <param name="value">The payload of the signal. Must not be <c>default(TValue)</c>.</param>
            <param name="cookie">A cookie for the <see cref="M:JetBrains.DataFlow.IProperty`1.SetValue(`0,System.Object)"/> of the underlying <see cref="P:JetBrains.DataFlow.ISignal`1.Property"/>.</param>
        </member>
        <member name="P:JetBrains.DataFlow.ISignal`1.Id">
            <summary>
            Gets the identifier of this signal.
            Getting the ID from the underlying property will lazy-create the property, while this getter is cheap.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.ISignal`1.Property">
            <summary>
            Gets the underlying property of the signal.
            Initially, the signal has no underlying property attached (unless you explicitly give it in the constructor).
            When the getter is accessed, an underlying property is created.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.ISignal`1.AsUntyped">
            <summary>
            Gets the nongeneric version of the API to this object.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.IUntypedSignal">
            <summary>
            A type-invariant interface to the <see cref="T:JetBrains.DataFlow.Signal`1"/>.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IUntypedSignal.Advise(System.Action{System.Object},JetBrains.DataFlow.Lifetime)">
            <summary>
            Advises the signal event for the duration of the <paramref name="lifetime"/> so that the <paramref name="handler"/> is called when the signal fires.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IUntypedSignal.Fire(System.Object,System.Object)">
            <summary>
            Fires the signal.
            </summary>
            <param name="value">The payload of the signal. Must not be <c>default(TValue)</c>.</param>
            <param name="cookie">A cookie for the <see cref="M:JetBrains.DataFlow.IProperty`1.SetValue(`0,System.Object)"/> of the underlying <see cref="P:JetBrains.DataFlow.IUntypedSignal.Property"/>.</param>
        </member>
        <member name="P:JetBrains.DataFlow.IUntypedSignal.Id">
            <summary>
            Gets the identifier of this signal.
            Getting the ID from the underlying property will lazy-create the property, while this getter is cheap.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.IUntypedSignal.Property">
            <summary>
            Gets the underlying property of the signal.
            Initially, the signal has no underlying property attached (unless you explicitly give it in the constructor).
            When the getter is accessed, an underlying property is created.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.IUntypedSignal.ArgumentType">
            <summary>
            Gets the type of the signal arguments object. This is the type parameter of the typed <see cref="T:JetBrains.DataFlow.ISignal`1"/>.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.StandardPreconditions.IThreadAffinityPrecondition">
            <summary>
            Makes the object operable for writing/firing on the given thread only.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.StandardPreconditions.IStandardPrecondition">
            <summary>
            <para>Base interface for standard preconditions.</para>
            <para>These exist to allow fast implementations for standard preconditions on signals and properties, such as thread affinity and readonly validators.</para>
            <para>When implemented as custom preconditions on a property, handlers are attached to <see cref="T:JetBrains.DataFlow.IProperty`1"/>'s <see cref="P:JetBrains.DataFlow.IProperty`1.BeforeChange"/> event. In case of a <see cref="T:JetBrains.DataFlow.ISignal`1"/> or <see cref="T:JetBrains.DataFlow.ISimpleSignal"/>, the handlers are attached to <see cref="P:JetBrains.DataFlow.IProperty`1.BeforeChange"/> of the underlying <see cref="P:JetBrains.DataFlow.ISignal`1.Property"/> of the signal, which causes the property to be created in the first place and cause all the firings routed thru it. Standard preconditions are implemented in the object core and do not cause any external handlers called or underlying properties created.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.StandardPreconditions.IThreadAffinityPrecondition.AffineToThread(JetBrains.DataFlow.Lifetime,System.Threading.Thread)">
            <summary>
            Makes the object operable for writing/firing on the given thread only.
            It's an error to call this method more than once (without disposing of the previous result first).
            </summary>
            <param name="lifetime">Lifetime of the validator.</param>
            <param name="thread">The thread to which the object should be affined for writing/firing from now on.</param>
            <returns>Undo token.</returns>
        </member>
        <member name="T:JetBrains.DataFlow.StandardPreconditions.IReadOnlyPrecondition">
            <summary>
            Locks writes/firings on the object by requiring all the modification attempts to provide a valid token equal to the given one.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.StandardPreconditions.IReadOnlyPrecondition.LockReadOnly(JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.StandardPreconditions.ReadonlyToken)">
             <summary>
             Locks writes/firings on the object by requiring all the modification attempts to provide a valid token equal to the given one.
             It's an error to call this method more than once (without disposing of the previous result first).
             </summary>
            <param name="lifetime">Lifetime for the readonly lock.</param>
            <param name="token">A token that must be provided by all the parties trying to change the object state.
            <c>Null</c>
            is ignored and no precondition is set.</param>
            <returns>Undo token.</returns>
             <remarks>A <c>Null</c> value for <paramref name="token"/> is allowed only to support temporary [debug] conditions where some component has a readonly token data field set to <c>Null</c> for use in both preconditions and callers, to temporarily allow foreign writers/firers.</remarks>
        </member>
        <member name="F:JetBrains.DataFlow.Signal`1.myId">
            <summary>
            Stores the identifier of the signal. This is always not <c>Null</c>.
            Used for lazy-creating the <see cref="F:JetBrains.DataFlow.Signal`1.myProperty"/> with this ID.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.Signal`1.myProperty">
            <summary>
            The underlying property useful for data flow bindings.
            Lazy-created at the moment when it's first requested externally via <see cref="P:JetBrains.DataFlow.Signal`1.Property"/>.
            Until that moment, is <c>Null</c> unless passed into the ctor.
            This is done to break the property-signal-property chain and allow for using both signals in the property and properties in the signal.
            Access must be synchronized via <see cref="F:JetBrains.DataFlow.Signal`1.myLock"/>.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.Signal`1.myReadOnlyLock">
            <summary>
            Non-<c>Null</c> when the object has a standard precondition on read-only lock set thru <see cref="T:JetBrains.DataFlow.StandardPreconditions.IReadOnlyPrecondition"/>.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.Signal`1.mySinks">
            <summary>
            Stores the event sinks.
            Write access must be synchronized with <see cref="F:JetBrains.DataFlow.Signal`1.myLock"/> and should do copy-on-write.
            Read access is free-threaded.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.Signal`1.myThreadAffinedTo">
            <summary>
            Non-<c>Null</c> when the object has a standard precondition on thread affinity set thru <see cref="T:JetBrains.DataFlow.StandardPreconditions.IThreadAffinityPrecondition"/>.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.Signal`1.myUnderlyingPropertyAffineToThread">
            <summary>
            Helps with propagating <see cref="M:JetBrains.DataFlow.StandardPreconditions.IThreadAffinityPrecondition.AffineToThread(JetBrains.DataFlow.Lifetime,System.Threading.Thread)"/> to the underlying property, if it exists.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.Signal`1.myUnderlyingPropertyReadOnlyLock">
            <summary>
            Helps with propagating <see cref="M:JetBrains.DataFlow.StandardPreconditions.IReadOnlyPrecondition.LockReadOnly(JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.StandardPreconditions.ReadonlyToken)"/> to the underlying property, if it exists.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Signal`1.#ctor(System.String)">
            <summary>Creates the signal.</summary>
            <param name="id">
            <para>ID for the signal. Allows to tell signals apart at runtime and when debugging.</para>
            <para>If callstack annotation is on, will appear on callstacks when signal is fired. Thus, only compile-time-defined values should be used, to avoid spawning too many dynamic methods at runtime.</para>
            </param>
        </member>
        <member name="M:JetBrains.DataFlow.Signal`1.#ctor(JetBrains.DataFlow.Lifetime,System.String)">
            <summary>Creates the signal.</summary>
            <param name="lifetime">
            <para>Defines the lifetime for the signal.</para>
            <para>When lifetime terminates, all of the handlers are forcibly detached, which helps with preventing memory leaks.</para>
            </param>
            <param name="id">
            <para>ID for the signal. Allows to tell signals apart at runtime and when debugging.</para>
            <para>If callstack annotation is on, will appear on callstacks when signal is fired. Thus, only compile-time-defined values should be used, to avoid spawning too many dynamic methods at runtime.</para>
            </param>
        </member>
        <member name="M:JetBrains.DataFlow.Signal`1.#ctor(JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.PropertyId{`0},JetBrains.Util.ILogger)">
            <summary>Creates the signal.</summary>
            <param name="lifetime">
            <para>Defines the lifetime for the signal.</para>
            <para>When lifetime terminates, all of the handlers are forcibly detached, which helps with preventing memory leaks.</para>
            </param>
            <param name="id">
            <para>ID for the signal. Allows to tell signals apart at runtime and when debugging.</para>
            <para>If callstack annotation is on, will appear on callstacks when signal is fired. Thus, only compile-time-defined values should be used, to avoid spawning too many dynamic methods at runtime.</para>
            </param>
            <param name="logger">Optional logging engine override.</param>
        </member>
        <member name="M:JetBrains.DataFlow.Signal`1.#ctor(JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.IProperty{`0})">
            <summary>
            Creates the signal on the existing underlying property.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Signal`1.OnAfterAdvise(System.Action{`0})">
            <summary>
            Called after a new sink is attached.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Signal`1.OnAfterUnadvise(System.Action{`0})">
            <summary>
            Called after a sink is detached.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Signal`1.OnBeforeAdvise(System.Action{`0})">
            <summary>
            Called before a new sink is attached.
            Returns whether the attachment is allowed.
            Throwing an exception will effectively cancel the attachment.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Signal`1.AdviseCore(System.Action{`0},JetBrains.DataFlow.Lifetime)">
            <summary>
            Core implementation of the Advise methods family
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Signal`1.AttachToProperty(JetBrains.DataFlow.IProperty{`0})">
            <summary>
            Attaches to the underlying property, either in ctor or upon lazy-creation.
            It's assumed that a lock is taken externally by the caller, as appropriate.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Signal`1.Init(JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.PropertyId{`0})">
            <summary>
            Shared part of the ctor.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Signal`1.NotifySinks(`0)">
            <summary>
            Iterates on the sinks registered for handling the signal.
            Invokes each in turn, maintaining the exception isolation.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Signal`1.OnUnderlyingPropertyChanged(JetBrains.DataFlow.PropertyChangedEventArgs{`0})">
            <summary>
            When working over a property, checks for its changes, whether to notify the sinks of the event happening.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Signal`1.ToString">
            <summary>
            Returns a <see cref="T:System.String"></see> that represents the current <see cref="T:System.Object"></see>.
            </summary>
            
            <returns>
            A <see cref="T:System.String"></see> that represents the current <see cref="T:System.Object"></see>.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.DataFlow.Signal`1.JetBrains#DataFlow#StandardPreconditions#IReadOnlyPrecondition#LockReadOnly(JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.StandardPreconditions.ReadonlyToken)">
             <summary>
             Locks writes/firings on the object by requiring all the modification attempts to provide a valid token equal to the given one.
             It's an error to call this method more than once (without disposing of the previous result first).
             </summary>
            <param name="lifetime"></param>
            <param name="token">A token that must be provided by all the parties trying to change the object state.
            <c>Null</c>
            is ignored and no precondition is set.</param>
            <returns>Undo token.</returns>
        </member>
        <member name="M:JetBrains.DataFlow.Signal`1.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
            <filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.DataFlow.Signal`1.Fire(`0)">
            <summary>
            Fires the signal.
            </summary>
            <param name="value">The payload of the signal. Must not be <c>default(TValue)</c>.</param>
        </member>
        <member name="M:JetBrains.DataFlow.Signal`1.Fire(`0,System.Object)">
            <summary>
            Fires the signal.
            </summary>
            <param name="value">The payload of the signal. Must not be <c>default(TValue)</c>.</param>
            <param name="cookie">A cookie for the <see cref="M:JetBrains.DataFlow.IProperty`1.SetValue(`0,System.Object)"/> of the underlying <see cref="P:JetBrains.DataFlow.ISignal`1.Property"/>.</param>
        </member>
        <member name="M:JetBrains.DataFlow.Signal`1.JetBrains#DataFlow#StandardPreconditions#IThreadAffinityPrecondition#AffineToThread(JetBrains.DataFlow.Lifetime,System.Threading.Thread)">
            <summary>
            Makes the object operable for writing/firing on the given thread only.
            It's an error to call this method more than once (without disposing of the previous result first).
            </summary>
            <param name="lifetime"></param>
            <param name="thread">The thread to which the object should be affined for writing/firing from now on.</param>
            <returns>Undo token.</returns>
        </member>
        <member name="P:JetBrains.DataFlow.Signal`1.Id">
            <summary>
            Gets the identifier of this signal.
            Getting the ID from the underlying property will lazy-create the property, while this getter is cheap.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.Signal`1.Property">
            <summary>
            Gets the underlying property of the signal.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Infra.SignalWithDelegates`1.OnAfterAdvise(System.Action{`0})">
            <summary>
            Called after a new sink is attached.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Infra.SignalWithDelegates`1.OnAfterUnadvise(System.Action{`0})">
            <summary>
            Called after a sink is detached.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Infra.SignalWithDelegates`1.OnBeforeAdvise(System.Action{`0})">
            <summary>
            Called before a new sink is attached.
            Returns whether the attachment is allowed.
            Throwing an exception will effectively cancel the attachment.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.Infra.SignalWithDelegates`1.AfterAdviseHandler">
            <summary>
            Called after a new sink is attached.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.Infra.SignalWithDelegates`1.AfterUnadviseHandler">
            <summary>
            Called after a sink is detached.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.Infra.SignalWithDelegates`1.BeforeAdviseHandler">
            <summary>
            Called before a new sink is attached.
            Returns whether the attachment is allowed.
            Throwing an exception will effectively cancel the attachment.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.InOutEventArgs`2">
            <summary>
            An event arguments class with one typed constant value, plus one typed mutable value that can be changed by any consumer.
            </summary>
            <typeparam name="TIn">Type of the incoming value that is constant and cannot be changed.</typeparam>
            <typeparam name="TOut">Type of the outgoing value that is intended to be set by the event sink.</typeparam>
        </member>
        <member name="M:JetBrains.DataFlow.InOutEventArgs`2.#ctor(`0,`1)">
            <summary>
            Constructs the universal event args with the <see cref="P:JetBrains.DataFlow.InOutEventArgs`2.Out"/> parameter set to its predefined value.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.InOutEventArgs`2.#ctor(`0)">
            <summary>
            Constructs the universal event args with the <see cref="P:JetBrains.DataFlow.InOutEventArgs`2.Out"/> parameter set to <c>Null</c>.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.InOutEventArgs`2.In">
            <summary>
            Gets the event data specified by the event source.
            Generally, it specifies which/how the <see cref="P:JetBrains.DataFlow.InOutEventArgs`2.Out"/> data should be filled.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.InOutEventArgs`2.Out">
            <summary>
            Data to be provided by the event sink, based on the event semantics and the <see cref="P:JetBrains.DataFlow.InOutEventArgs`2.In"/> value.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.DependencyPropertyChangeSink`1">
            <summary>
            Allows to know when a dependency property value changes.
            This is required for a two-way bridge between the Data Flow Properties and Dependency Properties.
            We cannot easily get events for changes in dependency objects, but if we implement our own dependency object, we can bind it to the object of interest and get events when it changes.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.DependencyPropertyChangeSink`1.CheckDependencyPropertyType(System.Windows.DependencyObject,System.Windows.DependencyProperty,System.Boolean)">
            <summary>
            Ensures that the property is of type <typeparamref name="TValue"/>.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.DependencyPropertyChangeSink`1.CreatePropertyId(System.Windows.DependencyObject,System.Windows.DependencyProperty)">
            <summary>
            Creates a new Data Flow Property ID, based on the dependency property identity.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.DependencyPropertyChangeSink`1.Property">
            <summary>
            Gets the Data Flow Property that mirrors the outer dependency property.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.DependencyPropertyChangeSink`1.Value">
            <summary>
            An infrastructure property that exposes the bridging dependency property.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.DependencyPropertyWrapper">
            <summary>
            Wraps a <see cref="T:System.Windows.DependencyProperty"/> into an <see cref="T:JetBrains.DataFlow.IProperty`1"/>.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.DependencyPropertyWrapper.Create``1(JetBrains.DataFlow.Lifetime,System.Windows.DependencyObject,System.Windows.DependencyProperty,System.Boolean)">
            <summary>
            Creates an <see cref="T:JetBrains.DataFlow.IProperty`1"/> that is synchronized to an Avalon property.
            </summary>
            <typeparam name="TValue">Type of the property value. Must coincide to the dependency property type.</typeparam>
            <param name="lifetime"></param>
            <param name="dependencyobject">The owning instance for the dependency property.</param>
            <param name="dependencyproperty">The property identifier.</param>
            <param name="bSinkEvents">Whether to sink the <see cref="T:System.ComponentModel.INotifyPropertyChanged"/> events from the owning object about the updates of the requested property.</param>
            <returns>The wrapping property.</returns>
        </member>
        <member name="M:JetBrains.DataFlow.DependencyPropertyWrapper.Create``1(JetBrains.DataFlow.Lifetime,System.Windows.UIElement,System.Windows.DependencyProperty,System.Windows.RoutedEvent)">
            <summary>
            Creates an <see cref="T:JetBrains.DataFlow.IProperty`1"/> that is synchronized to an Avalon property.
            </summary>
            <typeparam name="TValue">Type of the property value. Must coincide to the dependency property type.</typeparam>
            <param name="lifetime"></param>
            <param name="owner">The owning instance for the dependency property.</param>
            <param name="dependencyproperty">The property identifier.</param>
            <param name="event">If not <c>Null</c>, the specified event will be sinked from the <paramref name="owner"/> object.</param>
            <returns>The wrapping property.</returns>
        </member>
        <member name="M:JetBrains.DataFlow.DependencyPropertyWrapper.FlowInto``1(JetBrains.DataFlow.IProperty{``0},System.Windows.DependencyObject,System.Windows.DependencyProperty)">
            <summary>
            Flows DataFlow property values into a dependency property.
            </summary>
            <param name="propSource">The source DataFlow property.</param>
            <param name="doTarget">The dependency object that owns the property container.</param>
            <param name="dpropTarget">The target property identifier for the property container.</param>
            <returns>Undo token for the binding.</returns>
        </member>
        <member name="M:JetBrains.DataFlow.DependencyPropertyWrapper.FlowInto``1(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.Lifetime,System.Windows.DependencyObject,System.Windows.DependencyProperty)">
            <summary>
            Flows DataFlow property values into a dependency property.
            </summary>
            <param name="propSource">The source DataFlow property.</param>
            <param name="lifetime">Lifetime for the flow.</param>
            <param name="doTarget">The dependency object that owns the property container.</param>
            <param name="dpropTarget">The target property identifier for the property container.</param>
            <returns>Undo token for the binding.</returns>
        </member>
        <member name="M:JetBrains.DataFlow.DependencyPropertyWrapper.FlowInto``2(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.Lifetime,System.Windows.DependencyObject,System.Windows.DependencyProperty,System.Func{``0,``1})">
            <summary>
            Flows DataFlow property values into a dependency property.
            </summary>
            <param name="propSource">The source DataFlow property.</param>
            <param name="lifetime">Lifetime for the flow.</param>
            <param name="doTarget">The dependency object that owns the property container.</param>
            <param name="dpropTarget">The target property identifier for the property container.</param>
            <param name="FConvert">Applies conversion.</param>
            <returns>Undo token for the binding.</returns>
        </member>
        <member name="M:JetBrains.DataFlow.DependencyPropertyWrapper.BindDataFlowToDependency``1(JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.IProperty{``0},System.Windows.DependencyObject,System.Windows.DependencyProperty)">
            <summary>
            Binds two properties in the forward direction.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.DependencyPropertyWrapper.BindDependencyToDataFlow_RoutedEvent``1(JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.IProperty{``0},System.Windows.UIElement,System.Windows.DependencyProperty,System.Windows.RoutedEvent)">
            <summary>
            Binds two properties in the backward direction.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.IProperty`1">
            <summary>
            A property that tracks the changes, validates new values being assigned, and notifies of the change.
            </summary>
            <typeparam name="TValue">Type of the property.</typeparam>
        </member>
        <member name="M:JetBrains.DataFlow.IProperty`1.GetValue">
            <summary>
            Gets the property value.
            </summary>
            <returns>The current property value, whose nullability depends on <see cref="T:System.Nullable"/>.</returns>
        </member>
        <member name="M:JetBrains.DataFlow.IProperty`1.GetValue(System.Object)">
            <summary>
            Gets the property value.
            </summary>
            <param name="cookie">An optional cookie that comes along with the notification events data.</param>
            <returns>The current property value, whose nullability depends on <see cref="T:System.Nullable"/>.</returns>
        </member>
        <member name="M:JetBrains.DataFlow.IProperty`1.SetValue(`0)">
            <summary>
            Sets the property value, validates, notifies the sinks.
            </summary>
            <param name="value">The desired value of the property, whose nullability depends on <see cref="T:System.Nullable"/>.</param>
            <returns>Whether the value has actually been set (was not cancelled by the <see cref="P:JetBrains.DataFlow.IProperty`1.BeforeChange"/> handlers).</returns>
        </member>
        <member name="M:JetBrains.DataFlow.IProperty`1.SetValue(`0,System.Object)">
            <summary>
            Sets the property value, validates, notifies the sinks.
            </summary>
            <param name="value">The desired value of the property, whose nullability depends on <see cref="T:System.Nullable"/>.</param>
            <param name="cookie">An optional cookie that comes along with the notification events data.</param>
            <returns>Whether the value has actually been set (was not cancelled by the <see cref="P:JetBrains.DataFlow.IProperty`1.BeforeChange"/> handlers).</returns>
        </member>
        <member name="P:JetBrains.DataFlow.IProperty`1.BeforeChange">
            <summary>
            Gets the signal that fires when someone attempts to change the property value.
            Allows to cancel the change, either silently (by setting <see cref="P:JetBrains.DataFlow.BeforePropertyChangedEventArgs`1.Cancel"/> to <c>True</c>) or by throwing an exception from the handler.
            The handler is first called when sinking, and sinking is cancelled if the handler fails to pass the current value of the property.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.IProperty`1.Change">
            <summary>
            Gets the signal that fires when the sink's view on the property value changes.
            Note that the view changes from N/A to whatever value upon sinking, and back upon unsinking.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.IProperty`1.Id">
            <summary>
            Gets the identifier of this property.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.IProperty`1.Value">
            <summary>
            Gets or sets the value by wrapping the <see cref="M:JetBrains.DataFlow.IProperty`1.GetValue"/> and <see cref="M:JetBrains.DataFlow.IProperty`1.SetValue(`0)"/> calls.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.IProperty`1.IsNullValueAllowed">
            <summary>
            Gets whether the property can store NULL values of reference types and zero values of value types.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyBag.GetOrCreateProperty``1(JetBrains.DataFlow.PropertyId{``0},``0,System.Nullable{System.Boolean})">
            <summary>
            Creates a property in the bag, or picks an existing one.
            </summary>
            <param name="id">An identifier for the property.</param>
            <param name="defaultvalue">Default value to assign to the property initially.</param>
            <param name="isNullValueAllowed">Whether <c>Null</c> values are accepted by the property.</param>
            <returns>The newly-created property, or an existing one, if available.</returns>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyBag.Remove``1(JetBrains.DataFlow.PropertyId{``0})">
            <summary>
            Tries to remove an existing property from the bag, returns whether successful (ie there really was such a property in the bag).
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.IPropertyBag.AsUntyped">
            <summary>
            Gets the nongeneric version of the API to this object.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.IPropertyBinding`2">
            <summary>
            Binds together two <see cref="T:JetBrains.DataFlow.IProperty`1"/>s.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyBinding`2.CopySourceToTarget">
            <summary>
            Executes the binding by copying the source value to the target value.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyBinding`2.CopyTargetToSource">
            <summary>
            Executes the binding by copying the source value to the target value.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.IPropertyBinding`2.Source">
            <summary>
            Gets the binding source.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.IPropertyBinding`2.Target">
            <summary>
            Gets the binding target.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.IPropertyBinding`2.AsUntyped">
            <summary>
            Gets the nongeneric version of the API to this object.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.IPropertyBinding`2.Direction">
            <summary>
            Gets the binding direction.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.IPropertyBinding">
            <summary>
            A non-generic version of the <see cref="T:JetBrains.DataFlow.IPropertyBinding`2"/> interface for automated bulk processing.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyBinding.CopySourceToTarget">
            <summary>
            Executes the binding by copying the source value to the target value.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IPropertyBinding.CopyTargetToSource">
            <summary>
            Executes the binding by copying the source value to the target value.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.IPropertyBinding.Direction">
            <summary>
            Gets the binding direction.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.IPropertyBinding.Source">
            <summary>
            Gets the binding source.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.IPropertyBinding.Target">
            <summary>
            Gets the binding target.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.ISimpleSignal">
            <summary>
            A simple <see cref="T:JetBrains.DataFlow.ISignal`1"/> that has no payload.
            Stands for the simple <see cref="T:System.EventHandler"/>-based event, but encapsulates the firing method, can take part in data flow, can be fired by an external user.
            Suitable for use in MVC's codebehind, when the event should be fireable by the views.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ISimpleSignal.Fire">
            <summary>
            Fires the signal.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.IUntypedProperty">
            <summary>
            A non-generic version of the <see cref="T:JetBrains.DataFlow.IProperty`1"/> interface for automated bulk processing.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IUntypedProperty.GetValue(System.Object)">
            <summary>
            Gets the property value.
            </summary>
            <param name="cookie">An optional cookie that comes along with the notification events data.</param>
            <returns>The current property value, whose nullability depends on <see cref="P:JetBrains.DataFlow.IUntypedProperty.IsNullValueAllowed"/>.</returns>
        </member>
        <member name="M:JetBrains.DataFlow.IUntypedProperty.SetValue(System.Object,System.Object)">
            <summary>
            Sets the property value, validates, notifies the sinks.
            </summary>
            <param name="value">The desired value of the property, whose nullability depends on <see cref="P:JetBrains.DataFlow.IUntypedProperty.IsNullValueAllowed"/>.</param>
            <param name="cookie">An optional cookie that comes along with the notification events data.</param>
            <returns>Whether the value has actually been set (was not cancelled by the <see cref="P:JetBrains.DataFlow.IProperty`1.BeforeChange"/> handlers).</returns>
        </member>
        <member name="P:JetBrains.DataFlow.IUntypedProperty.BeforeChange">
            <summary>
            Gets the signal that fires when someone attempts to change the property value.
            Allows to cancel the change, either silently (by setting <see cref="P:JetBrains.DataFlow.BeforePropertyChangedEventArgs`1.Cancel"/> to <c>True</c>) or by throwing an exception from the handler.
            The handler is first called when sinking, and sinking is cancelled if the handler fails to pass the current value of the property.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.IUntypedProperty.Change">
            <summary>
            Gets the signal that fires when the sink's view on the property value changes.
            Note that the view changes from N/A to whatever value upon sinking, and back upon unsinking.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.IUntypedProperty.Id">
            <summary>
            Gets the identifier of this property.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.IUntypedProperty.IsNullValueAllowed">
            <summary>
            Gets whether the property can store NULL values of reference types and zero values of value types.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.IUntypedProperty.PropertyType">
            <summary>
            Gets the type of the generic property.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.IUntypedProperty.AsTyped">
            <summary>
            Gets the generic version of the API to this object (<see cref="T:JetBrains.DataFlow.IProperty`1"/> specialized with <see cref="P:JetBrains.DataFlow.IUntypedProperty.PropertyType"/>).
            </summary>
        </member>
        <member name="E:JetBrains.DataFlow.IUntypedProperty.Disposed">
            <summary>
            Fires when the property disposes.
            This event does not acknowlegde subscriptions.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.IUntypedPropertyBag.GetOrCreateProperty(JetBrains.DataFlow.PropertyId,System.Object,System.Nullable{System.Boolean})">
            <summary>
            Creates a property in the bag, or picks an existing one.
            The type is inferred from the generic data constant type <see cref="T:JetBrains.DataFlow.PropertyId`1"/>.
            </summary>
            <param name="id">An identifier for the property.</param>
            <param name="defaultvalue">Default value to assign to the property initially.</param>
            <param name="isNullValueAllowed"></param>
            <returns>The newly-created property, or an existing one, if available.</returns>
        </member>
        <member name="M:JetBrains.DataFlow.IUntypedPropertyBag.Remove(JetBrains.DataFlow.PropertyId)">
            <summary>
            Tries to remove an existing property from the bag, returns whether successful (ie there really was such a property in the bag).
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.Disposable">
            <summary>
            Serves two things: converts an <see cref="T:System.Action"/> into an <see cref="T:System.IDisposable"/>, and allows to replace a <c>try…finally</c> construct with a <c>using</c>, which keeps the opening/closing actions together.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.Disposable.Empty">
            <summary>
            A disposable class that does nothing on <see cref="M:System.IDisposable.Dispose"/>.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Disposable.CreateBracket(System.Action,System.Action,System.Boolean)">
            <summary>
            <para>Enters the TryFinally bracket.</para>
            <para>The <paramref name="opening"/> action is executed immediately, the <paramref name="closing"/> one is executed when the return value is disposed of.</para>
            <para>The disposal is optional, the <paramref name="closing"/> action will not be executed unless you explicitly call <see cref="M:System.IDisposable.Dispose"/>.</para>
            <para>Exceptions in actions are trapped.</para>
            </summary>
            <param name="opening">An action that opens the two-action bracket. Executes immediately on enter.</param>
            <param name="closing">An action that closes the two-action bracket. Executes when you dispose of the return value.</param>
            <param name="trapExceptions">Whethe we must catch exceptions in <paramref name="opening"/> and <paramref name="closing"/> and log them or throw futher</param>
            <returns>A token that executes the <paramref name="closing"/> action when you dispose of it. Disposal is optional.</returns>
        </member>
        <member name="M:JetBrains.DataFlow.Disposable.CreateCompositeDisposable``1(System.Func{``0}[])">
            <summary>
            Emulates behavior of nested disposables with proper exception throwing, so 
            <code>
            using (CreateCompositeDisposable(() => Cookie1(), () => Cookie2()))
            {
               ...
            }
            </code>
            
            is analogous to 
            
            <code>
            using (Cookie1()) 
            {
              using (Cookie2()) 
              {
               ...
              }
            }
            </code>
            </summary>
            
            <typeparam name="T">inheritor of disposable for client code simplification</typeparam>
            <param name="disposables">functions that returns disposables</param>
            <returns>Disposable that is analogous to nesting disposables in arguments</returns>
        </member>
        <member name="M:JetBrains.DataFlow.Disposable.CreateAction(System.Action)">
            <summary>
            <para>Enters the TryFinally bracket.</para>
            <para>The <paramref name="closing"/> action is executed when the return value is disposed of.</para>
            <para>The disposal is optional, the <paramref name="closing"/> action will not be executed unless you explicitly call <see cref="M:System.IDisposable.Dispose"/>.</para>
            <para>Exceptions in actions are trapped.</para>
            </summary>
            <param name="closing">An action that closes the two-action bracket. Executes when you dispose of the return value.</param>
            <returns>A token that executes the <paramref name="closing"/> action when you dispose of it. Disposal is optional.</returns>
        </member>
        <member name="M:JetBrains.DataFlow.Disposable.CreateAction_FinalizableFreeThreaded(System.String,System.Action,System.String)">
            <summary>
            <para>Enters the TryFinally bracket.</para>
            <para>The <paramref name="closing"/> action is executed when the return value is disposed of.</para>
            <para>The disposal is mandatory, an exception is reported if the <paramref name="closing"/> action is executed by the finalizer.</para>
            <para>Exceptions in actions are trapped.</para>
            </summary>
            <param name="id">Identifies the activity or its owner in case it fails or gets into the finalizer.</param>
            <param name="closing">An action that closes the two-action bracket. Executes when you dispose of the return value.</param>
            <param name="messageFinalization">Optional message to throw out as an exception in case of a missed dispose. If omitted, the default exception will be issued, including the object <paramref name="id"/> in its text. If you replace the message, it's up to you whether to include the identifier with the message text.</param>
            <returns>A token that executes the <paramref name="closing"/> action when you dispose of it. Must be disposed of.</returns>
        </member>
        <member name="M:JetBrains.DataFlow.Disposable.CreateBracket_FinalizableFreeThreaded(System.String,System.Action,System.Action,System.String)">
            <summary>
            <para>Enters the TryFinally bracket.</para>
            <para>The <paramref name="opening"/> action is executed immediately, the <paramref name="closing"/> one is executed when the return value is disposed of, or when the finalizer for the object is called.</para>
            <para>The disposal is mandatory, an exception is reported if the <paramref name="closing"/> action is executed by the finalizer.</para>
            <para>Exceptions in actions are trapped.</para>
            </summary>
            <param name="id">Identifies the activity or its owner in case it fails or gets into the finalizer.</param>
            <param name="opening">An action that opens the two-action bracket. Executes immediately on enter.</param>
            <param name="closing">An action that closes the two-action bracket. Executes when you dispose of the return value.</param>
            <param name="messageFinalization">Optional message to throw out as an exception in case of a missed dispose. If omitted, the default exception will be issued, including the object <paramref name="id"/> in its text. If you replace the message, it's up to you whether to include the identifier with the message text.</param>
            <returns>A token that executes the <paramref name="closing"/> action when you dispose of it. Must be disposed of.</returns>
        </member>
        <member name="M:JetBrains.DataFlow.Disposable.CreateBracket_FinalizableSingleThreaded(System.String,System.Action,System.Action,System.String)">
            <summary>
            <para>Enters the TryFinally bracket.</para>
            <para>The <paramref name="opening"/> action is executed immediately, the <paramref name="closing"/> one is executed when the return value is disposed of, or when the finalizer for the object is called.</para>
            <para>The disposal is mandatory, an exception is reported if the <paramref name="closing"/> action is executed by the finalizer, on the same thread as the opening action, if possible.</para>
            <para>Exceptions in actions are trapped.</para>
            </summary>
            <param name="id">Identifies the activity or its owner in case it fails or gets into the finalizer.</param>
            <param name="opening">An action that opens the two-action bracket. Executes immediately on enter.</param>
            <param name="closing">An action that closes the two-action bracket. Executes when you dispose of the return value.</param>
            <param name="messageFinalization">Optional message to throw out as an exception in case of a missed dispose. If omitted, the default exception will be issued, including the object <paramref name="id"/> in its text. If you replace the message, it's up to you whether to include the identifier with the message text.</param>
            <returns>A token that executes the <paramref name="closing"/> action when you dispose of it. Must be disposed of.</returns>
        </member>
        <member name="T:JetBrains.DataFlow.Disposable.EmptyDisposable">
            <summary>
            An <see cref="T:System.IDisposable"/> stub.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.Disposable.FinalizableDisposable">
            <summary>
            An <see cref="T:System.IDisposable"/> adapter for an <see cref="T:System.Action"/> (or a pair of actions) that supports finalization.
            Must be disposed of, otherwise, the finalizer will report an error and invoke the closing action.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.Disposable.NonFinalizableDisposable">
            <summary>
            An <see cref="T:System.IDisposable"/> adapter for an <see cref="T:System.Action"/> (or a pair of actions) that does not support finalization.
            Nothing happens if the object is not disposed of.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.Disposable.NonFinalizableDisposable.myId">
            <summary>
            Identifies the owner of a finalizable object.
            For non-finalizables this is optional (reverts to the default name).
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.Disposable.NonFinalizableDisposable.myOpeningStackTrace">
            <summary>
            Optionally, captures the originating stack trace for the debugging needs.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Disposable.NonFinalizableDisposable.#ctor(System.String,System.Action,System.Action,System.Boolean)">
            <summary>
            Defines the opening and closing bracket actions.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Disposable.NonFinalizableDisposable.Close">
            <summary>
            Exec the closing part.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Disposable.NonFinalizableDisposable.Open(System.Action)">
            <summary>
            Exec the opening part.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Disposable.NonFinalizableDisposable.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
            <filterpriority>2</filterpriority>
        </member>
        <member name="F:JetBrains.DataFlow.Disposable.FinalizableDisposable.myDispatcher">
            <summary>
            Non-Null if need to marshal from dtor.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Disposable.FinalizableDisposable.#ctor(System.String,System.Action,System.Action,System.Boolean,System.Boolean,System.String)">
            <summary>
            Defines the opening and closing bracket actions.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Disposable.FinalizableDisposable.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
            <filterpriority>2</filterpriority>
        </member>
        <member name="T:JetBrains.DataFlow.Disposable.FinallyException">
            <summary>
            An exception thrown from the <see cref="T:JetBrains.DataFlow.Disposable"/> class, or any other finalizer representing a missed <see cref="M:System.IDisposable.Dispose"/> or some other problem in dispose.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.Disposable.FinallyException.Id">
            <summary>
            ID of the object that caused the exception.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Disposable.FinallyException.LogMissedDispose(System.String,System.String,System.String)">
            <summary>
            Logs the error of a missed or failed dispose into the <see cref="T:JetBrains.Util.Logging.Logger"/> with <see cref="M:JetBrains.Util.Logging.Logger.LogException(System.Exception)"/>.
            </summary>
            <param name="id">The failed object identity.</param>
            <param name="message">The failure explanation message.</param>
            <param name="sOriginatingStackTrace">The stack trace where the object were created, if available.</param>
        </member>
        <member name="M:JetBrains.DataFlow.Disposable.FinallyException.LogMissedDispose(System.String)">
            <summary>
            Logs the error of a missed or failed dispose into the <see cref="T:JetBrains.Util.Logging.Logger"/> with <see cref="M:JetBrains.Util.Logging.Logger.LogException(System.Exception)"/>.
            </summary>
            <param name="id">The failed object identity.</param>
        </member>
        <member name="P:JetBrains.DataFlow.Disposable.FinallyException.StackTrace">
            <summary>
            Gets a string representation of the frames on the call stack at the time the current exception was thrown.
            </summary>
            
            <returns>
            A string that describes the contents of the call stack, with the most recent method call appearing first.
            </returns>
            <filterpriority>2</filterpriority><PermissionSet><IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" PathDiscovery="*AllFiles*" /></PermissionSet>
        </member>
        <member name="T:JetBrains.DataFlow.EternalLifetime">
            <summary>
            <para>A lifetime that never ends. Scheduling actions on such a lifetime has no effect.</para>
            <para>Do not call <see cref="M:JetBrains.DataFlow.Lifetime.AddRef(System.Object)"/> on such a lifetime, because it will not hold your object forever.</para>
            <para>As <see cref="!:Lifetimes.Define(JetBrains.DataFlow.Lifetime,string,System.Action&lt;JetBrains.DataFlow.LifetimeDefinition,JetBrains.DataFlow.Lifetime&gt;)"/> requires a parent lifetime, the lifetime that has no parent is rooted under <see cref="T:JetBrains.DataFlow.EternalLifetime"/>. Thus, this eternal lifetime is the parent of all the other lifetimes.</para>
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.EternalLifetime.Instance">
            <summary>
            <para>A lifetime that never ends. Scheduling actions on such a lifetime has no effect. Its <see cref="P:JetBrains.DataFlow.Lifetime.IsTerminated"/> always yields <c>False</c>.</para>
            <para>Do not call <see cref="M:JetBrains.DataFlow.Lifetime.AddRef(System.Object)"/> on such a lifetime, because it will not hold your object forever.</para>
            <para>As <see cref="!:Lifetimes.Define(JetBrains.DataFlow.Lifetime,string,System.Action&lt;JetBrains.DataFlow.LifetimeDefinition,JetBrains.DataFlow.Lifetime&gt;)"/> requires a parent lifetime, the lifetime that has no parent is rooted under <see cref="T:JetBrains.DataFlow.EternalLifetime"/>. Thus, this eternal lifetime is the parent of all the other lifetimes.</para>
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.EternalLifetime.Definition">
            <summary>
            <para>The definition of the <see cref="P:JetBrains.DataFlow.EternalLifetime.Instance">eternal lifetime</see>.</para>
            <para>Calling <see cref="M:JetBrains.DataFlow.LifetimeDefinition.Terminate"/> on such a definition is allowed, but has no effect. Its <see cref="P:JetBrains.DataFlow.LifetimeDefinition.IsTerminated"/> always yields <c>False</c>.</para>
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.Lifetime">
            <summary>
            <para>Represents the lifetime of the objects which have an explicit span of life and have actions to be executed upon termination. In that, replaces the <see cref="T:System.IDisposable"/> pattern.</para>
            <para>Objects get their lifetime in constructor and schedule termination actions on it. Instead of calling <see cref="M:System.IDisposable.Dispose"/>, the owner of the object terminates the lifetime it has given to the object with <see cref="M:JetBrains.DataFlow.LifetimeDefinition.Terminate"/>.</para>
            <para> If a function gets lifetime in parameters, the lifetime defines the duration of the effect of the function. For instance, adding an item to the collection under a lifetime means the item should be reclaimed from the collection when the lifetime ends. It is highly recommended to introduce lifetimed functions to APIs instead of pairing <c>Register</c>-<c>Unregister</c> methods, because this has far better guarantees on proper pairing of the activities on part of API users.</para>
            <para>To create a lifetime, use <see cref="M:JetBrains.DataFlow.Lifetimes.Define(JetBrains.DataFlow.Lifetime,System.String,System.Action{JetBrains.DataFlow.LifetimeDefinition,JetBrains.DataFlow.Lifetime},JetBrains.Util.ILogger)"/> or its overloads. Usually you should have a parent lifetime (component lifetime, etc) to pass in. You get the <see cref="T:JetBrains.DataFlow.LifetimeDefinition"/> object which means that you own this lifetime and can terminate it at your discretion. Take the lifetime itself out of it and pass to owned objects so that they were bound to your lifetime, but could not end it prematurely. In the rare cases when the child object might have its own lifetime considerations (i. e. a user-closeable non-modal dialog), pass the lifetime definition and be ready to handle its termination by the child object.</para>
            <para>If you need a function-scoped lifetime, like the <c>using{}</c> construct for <see cref="T:System.IDisposable"/>, use the <see cref="M:JetBrains.DataFlow.Lifetimes.Using(System.Action{JetBrains.DataFlow.Lifetime})"/> method.</para>
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.Lifetime.OptionThrowOnSchedullingInTerminated">
            <summary>
            Whether to throw if something it being scheduled on a terminated lifetime.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.Lifetime.OptionRevertSchedulledInTerminated">
            <summary>
            If the actions scheduled on a terminated lifetime should be executed immediately (for actions; brackets are just ignored; disposes are disposed; etc).
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.Lifetime.myItems">
            <summary>
            Stores the items to execute upon termination.
            Access must be synchronized thru <see cref="F:JetBrains.DataFlow.Lifetime.myLock"/>.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.Lifetime.myLogger">
            <summary>
            Logging facility for issues reported by this lifetime.
            For example, exceptions in lifetime termination activities should not prevent the rest of activities from being executed; such exceptions are reported to the logging facility.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Lifetime.AddDispose(System.IDisposable)">
            <summary>
             <para>Schedules an <see cref="T:System.IDisposable"/> object to be disposed of when the lifetime gets terminated.</para>
             <para>Upon termination, scheduled activities are executed in the reverse order (LIFO).</para>
             <para>Fluent.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Lifetime.ReportTerminatedLifetime(System.String)">
            <summary>
            Throws an exception reporting that we're attempting to schedule on an already-terminated lifetime.
            Adds lifetime ID if available.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Lifetime.AddAction(System.Action)">
            <summary>
             <para>Schedules an <see cref="T:System.Action"/> to be executed of when the lifetime gets terminated.</para>
             <para>Upon termination, scheduled activities are executed in the reverse order (LIFO).</para>
             <para>Fluent.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Lifetime.AddBracket(System.Action,System.Action)">
            <summary>
             <para>Opens a bracket of actions on the lifetime. The opening one is executed immediately, and the closing one executes when the lifetime gets terminated.</para>
             <para>All of the brackets added on the same lifetime are properly nested, as if on a stack (LIFO).</para>
             <para>Fluent.</para>
            </summary>
             <remarks>
             <para>This method is roughly equivalent to writing an opening action contents in the code and doing <see cref="M:JetBrains.DataFlow.Lifetime.AddAction(System.Action)"/> for the closing one.</para>
             <para>Its use is to visually highlight two groups of statements, one being an “undo sequence” for another, which helps with treating them as a solid group when reading or refactoring the code.</para>
             </remarks>
        </member>
        <member name="M:JetBrains.DataFlow.Lifetime.AddRef(System.Object)">
            <summary>
             <para>Keeps the <paramref name="object"/> alive and prevents it from being garbage collected for the duration of the lifetime.</para>
             <para>Fluent.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Lifetime.AttachNested(JetBrains.DataFlow.LifetimeDefinition,System.Boolean)">
            <summary>
            Nests one lifetime within another.
            The difference with just adding an action for terminating the nested lifetime to the parent lifetime is that with repeated use of short-lived nested lifetimes such actions will grow limitlessly within the parent lifetime.
            This method cleans up the parent lifetime's schedule for terminating the nested lifetime whenever the nested lifetime terminates prematurely.
            Internal: use methods like <see cref="!:Lifetimes.Define(JetBrains.DataFlow.Lifetime,string,System.Action&lt;JetBrains.DataFlow.LifetimeDefinition,JetBrains.DataFlow.Lifetime&gt;)"/> to define lifetimes nested in other ones.
            </summary>
            <param name="defNested">The nested lifetime to be attached to this lifetime.</param>
            <param name="isPossiblyAlreadyTerminated">Whether the nested lifetime could be expected to be terminated by smb. Possible cases: <see cref="!:Lifetimes.Define(JetBrains.DataFlow.Lifetime,string,System.Action&lt;JetBrains.DataFlow.LifetimeDefinition,JetBrains.DataFlow.Lifetime&gt;)"/> in whose atomic action the nested lifetime is scheduled for termination on another thread. In such a case the caller check if the nested has been terminated doesn't help because the termination occurs async. Without this flag, it's an error to pass in a terminated lifetime. With this flag, it's silently ignored. Anyway, the behavior is thread-safe.</param>
        </member>
        <member name="M:JetBrains.DataFlow.Lifetime.Terminate">
            <summary>
             Terminates this lifetime. For calling by <see cref="T:JetBrains.DataFlow.LifetimeDefinition"/> only.
             Only an owner of <see cref="T:JetBrains.DataFlow.LifetimeDefinition"/> is allowed to terminate a lifetime.
            </summary>
            <filterpriority>2</filterpriority>
        </member>
        <member name="F:JetBrains.DataFlow.Lifetime.Eternal">
            <summary>
            The instance of the eternal lifetime object. Get thru <see cref="T:JetBrains.DataFlow.EternalLifetime"/>.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.Lifetime.IsTerminated">
            <summary>
            <para>Gets whether this lifetime has already been terminated.</para>
            <para>It's an error to continue scheduling on a terminated lifetime.</para>
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.LifetimeDefinition">
            <summary>
            <para>An interface to the lifetime that only lifetime owner has. Allows to terminate the lifetime.</para>
            <para>Take the <see cref="P:JetBrains.DataFlow.LifetimeDefinition.Lifetime"/> property value to pass to methods or child objects that need the lifetime, or schedule any actions on it.</para>
            </summary>
            <remarks>
            <para>The <see cref="T:JetBrains.DataFlow.Lifetime"/> interface itself allows to schedule actions on the lifetime, but does not allow to terminate it, because it has been defined by the owner and only owner knows when to end the lifetime.</para>
            </remarks>
        </member>
        <member name="M:JetBrains.DataFlow.LifetimeDefinition.Terminate">
            <summary>
            Terminates the lifetime. All of the actions and disposes scheduled on this lifetime are executed, and all nested lifetimes are terminated. These activities are performed in the reverse scheduled order, so that the last entry scheduled is executed first (LIFO).
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.LifetimeDefinition.IsTerminated">
            <summary>
            Gets whether this lifetime has already been terminated.
            It's an error to continue scheduling on a terminated lifetime.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.LifetimeDefinition.Lifetime">
            <summary>
            Gets the lifetime defined by this instance.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.LifetimeEx.Add(JetBrains.DataFlow.Lifetime,System.IDisposable)">
            <summary>
             Adds an object that will be disposed of when the enclosing object is disposed of.
             Returns self to allow queueing the additions.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.LifetimeEx.Add(JetBrains.DataFlow.Lifetime,System.IDisposable[])">
            <summary>
             Adds an object that will be disposed of when the enclosing object is disposed of.
             Returns self to allow queueing the additions.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.LifetimeEx.AddDispose(JetBrains.DataFlow.Lifetime,System.IDisposable[])">
            <summary>
             <para>Adds a series of objects to be schedulled for disposal upon termination of the lifetime.</para>
             <para>It is preferrable to pass the lifetime object in the constructor of the object to be terminated rather than to dispose the object explicitly. If this is your own object, it should usually be refactored to take a lifetime instead of exposing an <see cref="T:System.IDisposable"/> interface.</para>
             <para>Fluent.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.LifetimeEx.AssertEverTerminated(JetBrains.DataFlow.Lifetime,System.String)">
            <summary>
            <para>If this lifetime never gets terminated (and all the references to it get lost), reports an exception to the logger.</para>
            <para>The lifetime will not be terminated automatically, because this is not a lifetime definition. See Remarks for options.</para>
            <para>Note that this method means certain load on the finalization queue, and can degrade performance if used in large amounts.</para>
            <para>Fluent.</para>
            </summary>
            <remarks>
            <para>As this method operates on a <see cref="T:JetBrains.DataFlow.Lifetime"/> object you do not own, it cannot terminate the lifetime automatically when a missed termination is detected.</para>
            <para>If you need to ensure the lifetime is terminated, get a <see cref="T:JetBrains.DataFlow.LifetimeDefinition"/> and call <see cref="M:JetBrains.DataFlow.LifetimeEx.EnsureEverTerminated_FreeThreaded(JetBrains.DataFlow.LifetimeDefinition,System.String)"/> or <see cref="M:JetBrains.DataFlow.LifetimeEx.EnsureEverTerminated_SingleThreaded(JetBrains.DataFlow.LifetimeDefinition,System.String)"/> on it.</para>
            <para>If you only have a lifetime and no definition, for example you have been given a lifetime in the component constructor, define a new lifetime (within the lifetime you got, with <see cref="!:Lifetimes.Define(JetBrains.DataFlow.Lifetime,string,System.Action&lt;JetBrains.DataFlow.LifetimeDefinition,JetBrains.DataFlow.Lifetime&gt;)"/>). Now you have a definitions to call the <c>Ensure…</c> methods on. Schedulle all of the termination-critical actions on this newly-defined lifetime.</para>
            </remarks>
        </member>
        <member name="M:JetBrains.DataFlow.LifetimeEx.EnsureEverTerminated_SingleThreaded(JetBrains.DataFlow.LifetimeDefinition,System.String)">
            <summary>
            <para>If this lifetime never gets terminated (and all the references to it get lost), reports an exception to the logger and terminates the lifetime on the same thread this method was called.</para>
            <para>Note that this method means certain load on the finalization queue, and can degrade performance if used in large amounts.</para>
            <para>Fluent.</para>
            </summary>
            <remarks>
            <para>The calling thread must have a <see cref="T:JetBrains.Threading.JetDispatcher"/> for which async operations are not prohibited (see <see cref="P:JetBrains.Threading.JetDispatcher.IsAsyncBehaviorProhibited"/>).</para>
            <para>Also, if the shutdown is already in progress, the thread might not have a chance to process the request.</para>
            <para>These limitations result from schedulling the request with <see cref="M:JetBrains.Threading.JetDispatcher.BeginInvoke(JetBrains.DataFlow.Lifetime,System.String,System.Action)"/>.</para>
            <para>Use this method if it's critical for you to terminate on the same thread (e.g. with COM Interop). Otherwise, prefer <see cref="M:JetBrains.DataFlow.LifetimeEx.EnsureEverTerminated_FreeThreaded(JetBrains.DataFlow.LifetimeDefinition,System.String)"/>.</para>
            </remarks>
            <seealso cref="M:JetBrains.DataFlow.LifetimeEx.AssertEverTerminated(JetBrains.DataFlow.Lifetime,System.String)"/>
            <seealso cref="M:JetBrains.DataFlow.LifetimeEx.EnsureEverTerminated_FreeThreaded(JetBrains.DataFlow.LifetimeDefinition,System.String)"/>
        </member>
        <member name="M:JetBrains.DataFlow.LifetimeEx.EnsureEverTerminated_FreeThreaded(JetBrains.DataFlow.LifetimeDefinition,System.String)">
            <summary>
            <para>If this lifetime never gets terminated (and all the references to it get lost), reports an exception to the logger and terminates the lifetime on the finalizer thread.</para>
            <para>Note that this method means certain load on the finalization queue, and can degrade performance if used in large amounts.</para>
            <para>Fluent.</para>
            </summary>
            <remarks>This method might not be suitable if you're guarding COM Interop termination or similar things because of their thread affinity. Consider using <see cref="M:JetBrains.DataFlow.LifetimeEx.EnsureEverTerminated_SingleThreaded(JetBrains.DataFlow.LifetimeDefinition,System.String)"/> if this is the case.</remarks>
            <seealso cref="M:JetBrains.DataFlow.LifetimeEx.AssertEverTerminated(JetBrains.DataFlow.Lifetime,System.String)"/>
            <seealso cref="M:JetBrains.DataFlow.LifetimeEx.EnsureEverTerminated_SingleThreaded(JetBrains.DataFlow.LifetimeDefinition,System.String)"/>
        </member>
        <member name="M:JetBrains.DataFlow.LifetimeEx.AssertIsAlive(JetBrains.DataFlow.OuterLifetime)">
            <summary>
            Throws an exception if the lifetime has already been terminated (<see cref="P:JetBrains.DataFlow.Lifetime.IsTerminated"/> is <c>True</c>).
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.LifetimeEx.LogAssertIsAlive(JetBrains.DataFlow.OuterLifetime)">
            <summary>
            Logs an exception if the lifetime has already been terminated (<see cref="P:JetBrains.DataFlow.Lifetime.IsTerminated"/> is <c>True</c>), and continues execution.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.LifetimeEx.AssertIsAlive(JetBrains.DataFlow.Lifetime)">
            <summary>
            Throws an exception if the lifetime has already been terminated (<see cref="P:JetBrains.DataFlow.Lifetime.IsTerminated"/> is <c>True</c>).
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.LifetimeEx.LogAssertIsAlive(JetBrains.DataFlow.Lifetime)">
            <summary>
            Logs an exception if the lifetime has already been terminated (<see cref="P:JetBrains.DataFlow.Lifetime.IsTerminated"/> is <c>True</c>), and continues execution.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.LifetimeEx.AssertIsAlive(JetBrains.DataFlow.LifetimeDefinition)">
            <summary>
            Throws an exception if the lifetime has already been terminated (<see cref="P:JetBrains.DataFlow.Lifetime.IsTerminated"/> is <c>True</c>).
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.LifetimeEx.LogAssertIsAlive(JetBrains.DataFlow.LifetimeDefinition)">
            <summary>
            Logs an exception if the lifetime has already been terminated (<see cref="P:JetBrains.DataFlow.Lifetime.IsTerminated"/> is <c>True</c>), and continues execution.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ObsoleteLifetimeEx.OpenNested(JetBrains.DataFlow.Lifetime)">
            <summary>
            <para>Opens the nested lifetime. It will be terminated whenever this lifetime is terminated.</para>
            <para>Note: unlike adding a new lifetime to this one, the nested lifetime will be forgotten upon termination. This allows to open short-lived nested lifetimes repeatedly without overpolluting the parent lifetime.</para>
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.Lifetimes">
            <summary>
            <see cref="T:JetBrains.DataFlow.Lifetime"/>s factory.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Lifetimes.Using(System.Action{JetBrains.DataFlow.Lifetime})">
            <summary>
            <para>Scopes your code in <paramref name="F"/> with a lifetime that is terminated automatically when <paramref name="F"/> completes execution, or when its execution is aborted by an exception.</para>
            <para>Analogous to the <c>using</c> statement of the C# language on everything that is added to the lifetime.</para>
            </summary>
            <param name="F">The code to execute with a temporary lifetime.</param>
        </member>
        <member name="M:JetBrains.DataFlow.Lifetimes.Using``1(System.Func{JetBrains.DataFlow.Lifetime,``0})">
            <summary>
            <para>Scopes your code in <paramref name="F"/> with a lifetime that is terminated automatically when <paramref name="F"/> completes execution, or when its execution is aborted by an exception.</para>
            <para>Analogous to the <c>using</c> statement of the C# language on everything that is added to the lifetime.</para>
            </summary>
            <param name="F">The code to execute with a temporary lifetime.</param>
        </member>
        <member name="M:JetBrains.DataFlow.Lifetimes.CreateAtomic(System.Action{JetBrains.DataFlow.Lifetime})">
            <summary>
            Executes the <paramref name="FAtomic"/> in the transactional manner: if an exception is thrown, all of the <see cref="T:JetBrains.DataFlow.ObsoleteLifetimeAndDefinitionAtTheSameTime"/> added during the execution are rolled back, and the exception is let out; in case of no exception, the <see cref="T:JetBrains.DataFlow.ObsoleteLifetimeAndDefinitionAtTheSameTime"/> produced by the <paramref name="FAtomic"/> are returned.
            The <see cref="T:JetBrains.DataFlow.ObsoleteLifetimeAndDefinitionAtTheSameTime"/> created for the <paramref name="FAtomic"/> are of the optional sort.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Lifetimes.Define(JetBrains.DataFlow.Lifetime,System.String,System.Action{JetBrains.DataFlow.LifetimeDefinition,JetBrains.DataFlow.Lifetime},JetBrains.Util.ILogger)">
            <summary>
            <para>Defines a new lifetime nested within the <paramref name="lifetime"/> you pass in.</para>
            </summary>
            <remarks>
            <para>In most cases, you should have some lifetime to use as a parent, such as the lifetime of your component. If this is not the case, and you just need a function-scoped lifetime, call <see cref="M:JetBrains.DataFlow.Lifetimes.Using(System.Action{JetBrains.DataFlow.Lifetime})"/> instead. It is terminated automatically when your action ends and thus does not need a parent.</para>
            <para>If the lifetime you're created is really not parented by any other lifetime, use the <see cref="T:JetBrains.DataFlow.EternalLifetime"/> as a parent.</para>
            </remarks>
            <param name="lifetime">
            <para>The parent lifetime.</para>
            <para>The newly-created lifetime will be nested within the parent lifetime and thus terminated automatically when the parent lifetime ends (unless the nested lifetime is terminated first).</para>
            <para>Nested lifetimes are listed within the parent lifetime, but as they're terminated, the records are removed. There will be no memory leak on the parent lifetime if the nested lifetimes are terminated.</para>
            </param>
            <param name="id">
            <para>Optional. The ID of the lifetime.</para>
            <para>Used for tracking and debugging. If the call stack annotations feature is ON, this ID will appear on the call stack when the lifetime object starts executing schedulled actions upon termination.</para>
            <para>In case of nested lifetimes and if schedulled actions are anonimous in their nature, it might be hard to tell what's happening from exception stack traces without this annotation. You're encouraged to specify IDs wherever such situations are suspected, but the IDs should better be statically defined (to avoid memory leaks on part of the call stacks annotation engine).</para>
            <para>If omitted, the default <see cref="F:JetBrains.DataFlow.Lifetimes.AnonymousLifetimeId"/> or the <see cref="T:JetBrains.DataFlow.Lifetime"/> should type name is used, depending on the context.</para>
            </param>
            <param name="FAtomic">
            <para>Optional. The code to be executed atomically on the newly-created lifetime.</para>
            <para>If this code succeeds (or is not specified), the definition of the new lifetime is returned from the method.</para>
            <para>If this code fails with an exception, the newly-created lifetime is terminated, all of the schedulled actions are executed (rolling back any activities already bound to the lifetime), the nested lifetime is not registered no the parent, and the exception is let out of this method.</para>
            </param>
            <param name="logger"><para>Optional logging facility override for the new lifetime.</para><para>For example, exceptions in lifetime termination activities should not prevent the rest of activities from being executed; such exceptions are reported to the logging facility.</para></param>
            <returns>
            <para>The definition to the new lifetime.</para>
            <para>As you own the lifetime, you can terminate it through this defintion at any time.</para>
            <para>To pass the lifetime to objects&amp;functions or schedulle termination actions on it, get it from the <see cref="P:JetBrains.DataFlow.LifetimeDefinition.Lifetime"/> property. Do not pass the definition itself to child objects, unless this is the intended scenario to allow them to terminate the lifetime upon their discretion (e. g. a user-cancelable non-modal dialog).</para>
            </returns>
            <seealso cref="M:JetBrains.DataFlow.Lifetimes.Using(System.Action{JetBrains.DataFlow.Lifetime})"/>
        </member>
        <member name="M:JetBrains.DataFlow.Lifetimes.CreateIntersection2(JetBrains.DataFlow.Lifetime[])">
            <summary>
            Creates an intersection of some lifetimes — a lifetime to terminate when either one terminates.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Lifetimes.CreateIntersection2(JetBrains.Util.ILogger,JetBrains.DataFlow.Lifetime[])">
            <summary>
            Creates an intersection of some lifetimes — a lifetime to terminate when either one terminates.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Lifetimes.Synchronize(JetBrains.DataFlow.LifetimeDefinition[])">
            <summary>
            Synchronizes termination of two lifetime definitions.
            Whenever any one is terminated, the other will be terminated also.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Lifetimes.Create">
            <summary>
            Creates a simple lifetime.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Lifetimes.Create(System.Boolean)">
            <summary>
            Creates a disposable container that either requires that it is disposed at some moment (<paramref name="finalize"/> = <c>True</c>) or just functions as a one-time composite without any obligations (<paramref name="finalize"/> = <c>False</c>).
            </summary>
            <param name="finalize"><c>False</c>.</param>
        </member>
        <member name="M:JetBrains.DataFlow.Lifetimes.Create(System.String)">
            <summary>
            Creates a disposable container that must be disposed of.
            If the <see cref="!:Dispose"/> method is never called, an exception is reported from the finalizer.
            </summary>
            <param name="id">An arbitrary string tag that helps to identify the origin of a particular disposables container that never gotten disposed of.</param>
        </member>
        <member name="M:JetBrains.DataFlow.Lifetimes.Create(System.String,System.Boolean)">
            <summary>
            Creates a disposable container that either requires that it is disposed at some moment (<paramref name="finalize"/> = <c>True</c>) or just functions as a one-time composite without any obligations (<paramref name="finalize"/> = <c>False</c>).
            </summary>
            <param name="id">An arbitrary string tag that helps to identify the origin of a particular disposables container that never gotten disposed of.</param>
            <param name="finalize">Whether the disposal is mandatory for the container. If yes, a finalizer is created that will report an exception. If no, the object does not add a strain to the finalization queue and does not do any implicit dispose on finalization.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ObsoleteLifetimeAndDefinitionAtTheSameTime.AddDispose(System.IDisposable)">
            <summary>
             Adds an object that will be disposed of when the enclosing object is disposed of.
             Returns self to allow queueing the additions.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ObsoleteLifetimeAndDefinitionAtTheSameTime.AddAction(System.Action)">
            <summary>
            Adds an action to be executed when the container is disposed of.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ObsoleteLifetimeAndDefinitionAtTheSameTime.AddBracket(System.Action,System.Action)">
            <summary>
            Adds a bracket of actions. The opening one is executed immediately, and the closing one — when the enclosing object is disposed of.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ObsoleteLifetimeAndDefinitionAtTheSameTime.AddRef(System.Object)">
            <summary>
            Holds a reference to the given object <paramref name="object"/> until the container is disposed of.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.ObsoleteLifetimeAndDefinitionAtTheSameTime.IsEmpty">
            <summary>
            Gets whether the container is empty of any disposable items.
            This means that the object is in either non-initialized or already-disposed state.
            The container is not eligible for finalization in this state.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Viewable.ToLiveHashSet``2(JetBrains.DataFlow.IViewable{``0},JetBrains.DataFlow.Lifetime,System.Func{``0,System.Collections.Generic.IEnumerable{``1}})">
            <summary>
            TODO: implement live hashset with multiple occurrenceos of elements.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Viewable.SelectMany``2(JetBrains.DataFlow.IViewable{``0},JetBrains.DataFlow.Lifetime,System.Func{``0,JetBrains.DataFlow.IViewable{``1}})">
            <summary>
            Similar to <see cref="M:System.Linq.Enumerable.SelectMany``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Collections.Generic.IEnumerable{``1}})"/> on <see cref="T:System.Collections.Generic.IEnumerable`1"/>, but live: as you have a live collection of providers each giving a live collection of items, builds a live flat collection of items from all the providers.
            </summary>
            <typeparam name="TItemsProvider">Provider type (has a collection of items inside).</typeparam>
            <typeparam name="TItem">Item type.</typeparam>
            <param name="thіs">Live collection of providers.</param>
            <param name="lifetime"></param>
            <param name="FGetItemsFromProvider">How to get the live collection of items out of each provider.</param>
            <returns>The live flat collection of items from all the providers.</returns>
        </member>
        <member name="T:JetBrains.DataFlow.ListBridge`2">
            <summary>
            Bridges two ordered lists of items.
            The items flow from the first collection to the second one. Conversion and filtering is supported on the items.
            The order of projected items in the target list is kept in sync with the original items order.
            </summary>
            <typeparam name="TSource">Type of the source collection items.</typeparam>
            <typeparam name="TTarget">Type of the target collection items.</typeparam>
        </member>
        <member name="F:JetBrains.DataFlow.ListBridge`2.myIndexMapping">
            <summary>
            Stores the mapping from indices in the <see cref="P:JetBrains.DataFlow.ListBridge`2.Source"/> list to those in the <see cref="P:JetBrains.DataFlow.ListBridge`2.Target"/> list.
            Indices in <see cref="F:JetBrains.DataFlow.ListBridge`2.myIndexMapping"/> correspond to those in <see cref="P:JetBrains.DataFlow.ListBridge`2.Source"/>, values — to those in <see cref="P:JetBrains.DataFlow.ListBridge`2.Target"/>.
            A value <c>-1</c> means that the source item is missing from the target list (has been filtered out).
            Items of the target collection missing from the source one (like those manually added) are just missing from the map.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.ListBridge`2.myMapItems">
            <summary>
            An optional map, can be <c>Null</c> if item-mapping is not needed.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ListBridge`2.#ctor(JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.IListEvents{`0},JetBrains.DataFlow.IListEvents{`1},System.Func{`0,`1},System.Func{`0,System.Boolean},JetBrains.DataFlow.ListBridge.MappingInfo,System.Object)">
            <summary>
            Wires up the bridge.
            </summary>
            <param name="lifetime">Lifetime for the bridge.</param>
            <param name="source">The source collection.</param>
            <param name="target">The target collection.</param>
            <param name="funcConverter">The conversion operator.</param>
            <param name="funcFilter">The mapping filter to exclude selected items from the target collection.</param>
            <param name="mappinginfo">Specifies whether the projection mapping information is maintained by the bridge.</param>
            <param name="oTaregtModificationCookie">An otpional cookie to be passed to the <paramref name="target"/> collection when performing modification operations on it.</param>
        </member>
        <member name="P:JetBrains.DataFlow.ListBridge`2.HaveMappingInfo">
            <summary>
            Gets whether the projection mapping information is maintained by the bridge.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.ListBridge`2.MapSourceToTarget">
            <summary>
            Gets the read-only source-to-target mapping.
            Available only if <see cref="P:JetBrains.DataFlow.ListBridge`2.HaveMappingInfo"/>. Otherwise, throws a <see cref="T:System.NotSupportedException"/>.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.ListBridge`2.MapTargetToSource">
            <summary>
            Gets the read-only target-to-source mapping.
            Available only if <see cref="P:JetBrains.DataFlow.ListBridge`2.HaveMappingInfo"/>. Otherwise, throws a <see cref="T:System.NotSupportedException"/>.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.ListBridge`2.Source">
            <summary>
            Gets the source list.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.ListBridge`2.Target">
            <summary>
            Gets the target list.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.ListBridge">
            <summary>
            Supplimentary class for the <see cref="T:JetBrains.DataFlow.ListBridge`2"/> utility.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ListBridge.BridgeInto``2(JetBrains.DataFlow.IListEvents{``0},JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.IListEvents{``1},System.Func{``0,``1},System.Func{``0,System.Boolean},JetBrains.DataFlow.ListBridge.MappingInfo,System.Object)">
            <summary>
            Mirrors one list into another thru a converter.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.ListBridge.MappingInfo">
            <summary>
            Specifies which mapping info should be collected by the bridge.
            The mapping allows to translate source items into target ones and vice versa.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.ListBridge.MappingInfo.None">
            <summary>
            No mapping information collected. No translation possible.
            Wastes less memory.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.ListBridge.MappingInfo.TwoWay">
            <summary>
            Full mapping information collected.
            Self-checks for consistency are also made on the mapping.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.ListEvents`1">
            <summary>
            A list that fires events when items are added or removed.
            </summary>
            <typeparam name="TValue">List values type.</typeparam>
            <remarks><see cref="T:System.Collections.IList"/> (yes, nongeneric) was added to support WPF scenarios eg XAML [de]serialization. <see cref="T:System.Windows.Markup.IAddChild"/> is also here for WPF support.</remarks>
        </member>
        <member name="F:JetBrains.DataFlow.ListEvents`1.myStorage">
            <summary>
            Sync thru <see cref="F:JetBrains.DataFlow.CollectionEvents`1.myLock"/>.
            </summary>
            <remarks>
            The storage must be passed to the base class in ctor, for the collection operations to work on the same data.
            </remarks>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.#ctor(JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.PropertyId{`0},System.Collections.Generic.IList{`0},System.Boolean,JetBrains.Util.ILogger)">
            <summary>
            <para>The universal constructor.</para>
            <para>Constructs the list over some list-like backing storage.</para>
            <para>Specifies whether items in the list must be unique (note: this option is performance-costly).</para>
            </summary>
            <param name="lifetime">
            <para>Defines the lifetime for the collection.</para>
            <para>When lifetime terminates, all of the handlers of the collection events are forcibly detached, which helps with preventing memory leaks.</para>
            </param>
            <param name="id">
            <para>An unique identifier for the list, to tell it apart in data flow chains.</para>
            <para>If callstack annotation is on, will appear on callstacks when collection is modified. Thus, only compile-time-defined values should be used, to avoid spawning too many dynamic methods at runtime.</para>
            </param>
            <param name="storage">The underlying collection, all the operations will be relayed to it.</param>
            <param name="bUniqueItems">If <c>True</c>, adding an item that is already present in the list is not allowed (unless <see cref="P:JetBrains.DataFlow.CollectionEvents`1.SuppressItemErrors"/>, an exception is thrown). If <c>False</c>, the duplicate item is just added to the list.</param>
            <param name="logger">Logging facility optional override.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.#ctor(JetBrains.DataFlow.PropertyId{`0},System.Collections.Generic.IList{`0},System.Boolean)">
            <summary>
            <para>Constructs the list over some list-like backing storage.</para>
            <para>Specifies whether items in the list must be unique (note: this option is performance-costly).</para>
            </summary>
            <param name="id">
            <para>An unique identifier for the list, to tell it apart in data flow chains.</para>
            <para>If callstack annotation is on, will appear on callstacks when collection is modified. Thus, only compile-time-defined values should be used, to avoid spawning too many dynamic methods at runtime.</para>
            </param>
            <param name="storage">The underlying collection, all the operations will be relayed to it.</param>
            <param name="bUniqueItems">If <c>True</c>, adding an item that is already present in the list is not allowed (unless <see cref="P:JetBrains.DataFlow.CollectionEvents`1.SuppressItemErrors"/>, an exception is thrown). If <c>False</c>, the duplicate item is just added to the list.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.#ctor(System.String,System.Collections.Generic.IList{`0},System.Boolean)">
            <summary>
            <para>Constructs the list over some list-like backing storage.</para>
            <para>Specifies whether items in the list must be unique (note: this option is performance-costly).</para>
            </summary>
            <param name="id">
            <para>An unique identifier for the list, to tell it apart in data flow chains.</para>
            <para>If callstack annotation is on, will appear on callstacks when collection is modified. Thus, only compile-time-defined values should be used, to avoid spawning too many dynamic methods at runtime.</para>
            </param>
            <param name="storage">The underlying collection, all the operations will be relayed to it.</param>
            <param name="bUniqueItems">If <c>True</c>, adding an item that is already present in the list is not allowed (unless <see cref="P:JetBrains.DataFlow.CollectionEvents`1.SuppressItemErrors"/>, an exception is thrown). If <c>False</c>, the duplicate item is just added to the list.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.#ctor(JetBrains.DataFlow.Lifetime,System.String,System.Collections.Generic.IList{`0},System.Boolean)">
            <summary>
            <para>Constructs the list over some list-like backing storage.</para>
            <para>Specifies whether items in the list must be unique (note: this option is performance-costly).</para>
            </summary>
            <param name="lifetime">
            <para>Defines the lifetime for the collection.</para>
            <para>When lifetime terminates, all of the handlers of the collection events are forcibly detached, which helps with preventing memory leaks.</para>
            </param>
            <param name="id">
            <para>An unique identifier for the list, to tell it apart in data flow chains.</para>
            <para>If callstack annotation is on, will appear on callstacks when collection is modified. Thus, only compile-time-defined values should be used, to avoid spawning too many dynamic methods at runtime.</para>
            </param>
            <param name="storage">The underlying collection, all the operations will be relayed to it.</param>
            <param name="bUniqueItems">If <c>True</c>, adding an item that is already present in the list is not allowed (unless <see cref="P:JetBrains.DataFlow.CollectionEvents`1.SuppressItemErrors"/>, an exception is thrown). If <c>False</c>, the duplicate item is just added to the list.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.#ctor(System.String)">
            <summary>
            Creates a new list that does not allow duplicate items, with a simple list storage inside.
            </summary>
            <param name="id">
            <para>An unique identifier for the list, to tell it apart in data flow chains.</para>
            <para>If callstack annotation is on, will appear on callstacks when collection is modified. Thus, only compile-time-defined values should be used, to avoid spawning too many dynamic methods at runtime.</para>
            </param>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.#ctor(JetBrains.DataFlow.Lifetime,System.String)">
            <summary>
            Creates a new list that does not allow duplicate items, with a simple list storage inside.
            </summary>
            <param name="lifetime">
            <para>Defines the lifetime for the collection.</para>
            <para>When lifetime terminates, all of the handlers of the collection events are forcibly detached, which helps with preventing memory leaks.</para>
            </param>
            <param name="id">
            <para>An unique identifier for the list, to tell it apart in data flow chains.</para>
            <para>If callstack annotation is on, will appear on callstacks when collection is modified. Thus, only compile-time-defined values should be used, to avoid spawning too many dynamic methods at runtime.</para>
            </param>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.#ctor(System.String,System.Boolean)">
            <summary>
            Creates a new list with a simple list storage inside.
            </summary>
            <param name="id">
            <para>An unique identifier for the list, to tell it apart in data flow chains.</para>
            <para>If callstack annotation is on, will appear on callstacks when collection is modified. Thus, only compile-time-defined values should be used, to avoid spawning too many dynamic methods at runtime.</para>
            </param>
            <param name="bUniqueItems">If <c>True</c>, adding an item that is already present in the list is not allowed (unless <see cref="P:JetBrains.DataFlow.CollectionEvents`1.SuppressItemErrors"/>, an exception is thrown). If <c>False</c>, the duplicate item is just added to the list.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.#ctor(JetBrains.DataFlow.PropertyId{`0},System.Boolean)">
            <summary>
            Creates a new list with a simple list storage inside.
            </summary>
            <param name="id">
            <para>An unique identifier for the list, to tell it apart in data flow chains.</para>
            <para>If callstack annotation is on, will appear on callstacks when collection is modified. Thus, only compile-time-defined values should be used, to avoid spawning too many dynamic methods at runtime.</para>
            </param>
            <param name="bUniqueItems">If <c>True</c>, adding an item that is already present in the list is not allowed (unless <see cref="P:JetBrains.DataFlow.CollectionEvents`1.SuppressItemErrors"/>, an exception is thrown). If <c>False</c>, the duplicate item is just added to the list.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.#ctor(JetBrains.DataFlow.Lifetime,System.String,System.Boolean)">
            <summary>
            Creates a new list with a simple list storage inside.
            </summary>
            <param name="lifetime">
            <para>Defines the lifetime for the collection.</para>
            <para>When lifetime terminates, all of the handlers of the collection events are forcibly detached, which helps with preventing memory leaks.</para>
            </param>
            <param name="id">
            <para>An unique identifier for the list, to tell it apart in data flow chains.</para>
            <para>If callstack annotation is on, will appear on callstacks when collection is modified. Thus, only compile-time-defined values should be used, to avoid spawning too many dynamic methods at runtime.</para>
            </param>
            <param name="bUniqueItems">If <c>True</c>, adding an item that is already present in the list is not allowed (unless <see cref="P:JetBrains.DataFlow.CollectionEvents`1.SuppressItemErrors"/>, an exception is thrown). If <c>False</c>, the duplicate item is just added to the list.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.FireAddRemove(JetBrains.DataFlow.AddRemove,`0,System.Int32,System.Object)">
            <summary>
            Fires the <see cref="P:JetBrains.DataFlow.ListEvents`1.AddRemove"/> event.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.FireBeforeAddRemove(JetBrains.DataFlow.AddRemove,`0,System.Int32,System.Object)">
            <summary>
            Fires the <see cref="P:JetBrains.DataFlow.ListEvents`1.BeforeAddRemove"/> event.
            Returns whether the operation has been cancelled.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.InternalAdd(`0,System.Int32,System.Object)">
            <summary>
            One of the core methods that implement the actual List functionality.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.InternalRemove(System.Int32,System.Object)">
            <summary>
            One of the core methods that implement the actual List functionality.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.OnAcknowledgeSinkAddRemove_Add(System.Action{JetBrains.DataFlow.AddRemoveIndexEventArgs{`0}})">
            <summary>
            Ackhowledges the handler.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.OnAcknowledgeSinkAddRemove_Remove(System.Action{JetBrains.DataFlow.AddRemoveIndexEventArgs{`0}})">
            <summary>
            Ackhowledges the handler.
            Cannot be merged with <see cref="M:JetBrains.DataFlow.ListEvents`1.OnAcknowledgeSinkAddRemove_Add(System.Action{JetBrains.DataFlow.AddRemoveIndexEventArgs{`0}})"/> because the iteration should go in the reverse order.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.OnAcknowledgeSinkBeforeAddRemove(System.Action{JetBrains.DataFlow.BeforeAddRemoveIndexEventArgs{`0}})">
            <summary>
            Called when someone attempts to sink the <see cref="P:JetBrains.DataFlow.ListEvents`1.BeforeAddRemove"/> signal. Acknowledges the handler.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.InternalAdd(`0,System.Object)">
            <summary>
            One of the core methods that implement the actual functionality.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.InternalRemove(`0,System.Object)">
            <summary>
            One of the core methods that implement the actual functionality.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.IndexOf(`0)">
            <summary>
            Determines the index of a specific item in the <see cref="T:System.Collections.Generic.IList`1"></see>.
            </summary>
            
            <returns>
            The index of item if found in the list; otherwise, -1.
            </returns>
            
            <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.IList`1"></see>.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.Insert(System.Int32,`0)">
            <summary>
            Inserts an item to the <see cref="T:System.Collections.Generic.IList`1"></see> at the specified index.
            </summary>
            
            <param name="item">The object to insert into the <see cref="T:System.Collections.Generic.IList`1"></see>.</param>
            <param name="index">The zero-based index at which item should be inserted.</param>
            <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.IList`1"></see> is read-only.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">index is not a valid index in the <see cref="T:System.Collections.Generic.IList`1"></see>.</exception>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.Modify(JetBrains.DataFlow.AddRemove,`0,System.Int32,System.Object)">
            <summary>
            A universal method for modifications on the collection. Useful for data flow between the collections, when <see cref="P:JetBrains.DataFlow.ICollectionEvents`1.AddRemove"/> signal handler is pumping into another collection.
            </summary>
            <param name="action">Whether to add or remove the item.</param>
            <param name="item">The item to add or remove.</param>
            <param name="index">The index at which the modification should occur.</param>
            <param name="cookie">The optional modification cookie.</param>
            <returns>Success code.</returns>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.Modify(JetBrains.DataFlow.AddRemove,System.Func{`0},System.Int32,System.Object)">
            <summary>
            A universal method for modifications on the collection. Useful for data flow between the collections, when <see cref="P:JetBrains.DataFlow.ListEvents`1.AddRemove"/> signal handler is pumping into another collection.
            </summary>
            <param name="action">Whether to add or remove the item.</param>
            <param name="funcGetItemIfAdding">A function that is called only when doing the <see cref="F:JetBrains.DataFlow.AddRemove.Add"/> operation and produces the new item to be added to the list. This allows to create a new item when pumping from one collection to another with creating the wrappers simultaneousely.</param>
            <param name="index">The index at which the modification should occur.</param>
            <param name="cookie">The optional modification cookie.</param>
            <returns>Success code.</returns>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.RemoveAt(System.Int32)">
            <summary>
            Removes the <see cref="T:System.Collections.Generic.IList`1"></see> item at the specified index.
            </summary>
            
            <param name="index">The zero-based index of the item to remove.</param>
            <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.IList`1"></see> is read-only.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">index is not a valid index in the <see cref="T:System.Collections.Generic.IList`1"></see>.</exception>
        </member>
        <member name="P:JetBrains.DataFlow.ListEvents`1.Item(System.Int32)">
            <summary>
            Gets or sets the element at the specified index.
            </summary>
            
            <returns>
            The element at the specified index.
            </returns>
            
            <param name="index">The zero-based index of the element to get or set.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">index is not a valid index in the <see cref="T:System.Collections.Generic.IList`1"></see>.</exception>
            <exception cref="T:System.NotSupportedException">The property is set and the <see cref="T:System.Collections.Generic.IList`1"></see> is read-only.</exception>
        </member>
        <member name="P:JetBrains.DataFlow.ListEvents`1.AddRemove">
            <summary>
            Fires when an item is added or removed to your view on the collection.
            Throwing an exception does not prevent the item from being added or other handlers from being called.
            The event supports acknowledgement, which means that when you sink the event, all of the items currently in collection come into your view on the collection, so the add is fired for each. Similarly, remove is fired when you unsink and all of the elements go away from your view on the collection.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.ListEvents`1.BeforeAddRemove">
            <summary>
            Fires before an item is added or removed.
            To prevent the add/remove operation, set <see cref="P:JetBrains.DataFlow.BeforeAddRemoveEventArgs`1.Cancel"/> to <c>True</c> (decline the operation silently) or throw an exception (the exception is let out to the caller).
            After the first handler to cancel the operation, the remaining handlers may not be called.
            No <see cref="P:JetBrains.DataFlow.ICollectionEvents`1.AddRemove"/> are guaranteed to be executed if the operation is cancelled.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.ManualProperty">
            <summary>
            Creates properties bound to simple .NET properties or other manual data sources.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ManualProperty.Create``1(System.String,System.Action{``0})">
            <summary>
            Creates a set-only property manually-bound to some external source via delegates.
            A set-only property is useful for placing at the end of the data flow.
            </summary>
            <typeparam name="TValue">Type of the property.</typeparam>
            <param name="id">An identifier to tell the property apart.</param>
            <param name="setter">External value setter.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ManualProperty.Create``1(JetBrains.DataFlow.Lifetime,System.String,System.Action{``0})">
            <summary>
            Creates a set-only property manually-bound to some external source via delegates.
            A set-only property is useful for placing at the end of the data flow.
            </summary>
            <typeparam name="TValue">Type of the property.</typeparam>
            <param name="lifetime">Lifetime for the property.</param>
            <param name="id">An identifier to tell the property apart.</param>
            <param name="setter">External value setter.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ManualProperty.Create``1(System.String,``0,System.Action{``0})">
            <summary>
            Creates a property manually-bound to some external source via delegates.
            </summary>
            <typeparam name="TValue">Type of the property.</typeparam>
            <param name="id">An identifier to tell the property apart.</param>
            <param name="initialvalue">The initial value for the property.</param>
            <param name="setter">External value setter.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ManualProperty.Create``1(JetBrains.DataFlow.Lifetime,System.String,``0,System.Action{``0})">
            <summary>
            Creates a property manually-bound to some external source via delegates.
            </summary>
            <typeparam name="TValue">Type of the property.</typeparam>
            <param name="lifetime">Lifetime for the property.</param>
            <param name="id">An identifier to tell the property apart.</param>
            <param name="initialvalue">The initial value for the property.</param>
            <param name="setter">External value setter.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ManualProperty.Create``1(System.String,System.Func{``0},System.Action{``0})">
            <summary>
            Creates a property manually-bound to some external source via delegates.
            </summary>
            <typeparam name="TValue">Type of the property.</typeparam>
            <param name="id">An identifier to tell the property apart.</param>
            <param name="getter">External value getter.</param>
            <param name="setter">External value setter.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ManualProperty.Create``1(JetBrains.DataFlow.Lifetime,System.String,System.Func{``0},System.Action{``0})">
            <summary>
            Creates a property manually-bound to some external source via delegates.
            </summary>
            <typeparam name="TValue">Type of the property.</typeparam>
            <param name="lifetime">Lifetime for the property.</param>
            <param name="id">An identifier to tell the property apart.</param>
            <param name="getter">External value getter.</param>
            <param name="setter">External value setter.</param>
        </member>
        <member name="T:JetBrains.DataFlow.MarshallingBehaviors">
            <summary>
            Defines how the data flow is marshalled to another thread.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.MarshallingBehaviors.QueueAlways">
            <summary>
            Any data flow occurs asynchronously, even within a single thread.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.MarshallingBehaviors.QueueIfNeeded">
            <summary>
            Only cross-thread data flow is async, within a single thread it works just like a simple <see cref="T:JetBrains.DataFlow.PropertyBinding"/>.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.MarshallingPropertyBinding`2">
            <summary>
            A property binding that marshals all of the updates to the primary thread.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.PropertyBinding`2">
            <summary>
            Binds together two <see cref="T:JetBrains.DataFlow.IProperty`1"/>s.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.PropertyBinding`2.myConverterSourceToTarget">
            <summary>
            The convertor implementation.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.PropertyBinding`2.myConverterTargetToSource">
            <summary>
            The convertor implementation.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.PropertyBinding`2.myDirection">
            <summary>
            Data flow direction, set to None initially to allow for initialization of the properties from their <c>Null</c> values.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.PropertyBinding`2.mySource">
            <summary>
            Stores the source property in yet another property, to allow for changing it later.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.PropertyBinding`2.myTarget">
            <summary>
            Stores the target property in yet another property, to allow for changing it later.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.PropertyBinding`2.myFreeze">
            <summary>
            Prevents recursion.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyBinding`2.#ctor(JetBrains.DataFlow.IProperty{`0},JetBrains.DataFlow.IProperty{`1},System.Func{`0,`1})">
            <summary>
            Creates a one-way binding.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyBinding`2.#ctor(JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.IProperty{`0},JetBrains.DataFlow.IProperty{`1},System.Func{`0,`1})">
            <summary>
            Creates a one-way binding.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyBinding`2.#ctor(JetBrains.DataFlow.IProperty{`0},JetBrains.DataFlow.IProperty{`1},System.Func{`0,`1},System.Func{`1,`0})">
            <summary>
            Creates a two-way binding.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyBinding`2.#ctor(JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.IProperty{`0},JetBrains.DataFlow.IProperty{`1},System.Func{`0,`1},System.Func{`1,`0})">
            <summary>
            Creates a two-way binding.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyBinding`2.#ctor(JetBrains.DataFlow.IProperty{`0},JetBrains.DataFlow.IProperty{`1},JetBrains.DataFlow.DataFlowDirection)">
            <summary>
            Creates a binding.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyBinding`2.#ctor(JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.IProperty{`0},JetBrains.DataFlow.IProperty{`1},JetBrains.DataFlow.DataFlowDirection)">
            <summary>
            Creates a binding.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyBinding`2.#ctor(JetBrains.DataFlow.IProperty{`0},JetBrains.DataFlow.IProperty{`1},JetBrains.DataFlow.DataFlowDirection,System.Func{`0,`1},System.Func{`1,`0})">
            <summary>
            Creates a binding.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyBinding`2.#ctor(JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.IProperty{`0},JetBrains.DataFlow.IProperty{`1},JetBrains.DataFlow.DataFlowDirection,System.Func{`0,`1},System.Func{`1,`0})">
            <summary>
            Creates a binding.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyBinding`2.#ctor(JetBrains.DataFlow.IProperty{`0},JetBrains.DataFlow.IProperty{`1},JetBrains.DataFlow.DataFlowDirection,System.Func{`0,`1},System.Func{`1,`0},System.Object,System.Object)">
            <summary>
            Creates a binding.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyBinding`2.#ctor(JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.IProperty{`0},JetBrains.DataFlow.IProperty{`1},JetBrains.DataFlow.DataFlowDirection,System.Func{`0,`1},System.Func{`1,`0},System.Object,System.Object)">
            <summary>
            The ultimate ctor.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyBinding`2.OnConvertSourceToTargetDefault(`0)">
            <summary>
            The default converter.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyBinding`2.OnConvertTargetToSourceDefault(`1)">
            <summary>
            The default converter.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyBinding`2.CopySourceToTarget">
            <summary>
            Executes the binding by copying the source value to the target value.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyBinding`2.CopyTargetToSource">
            <summary>
            Executes the binding by copying the source value to the target value.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyBinding`2.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
            <filterpriority>2</filterpriority>
        </member>
        <member name="P:JetBrains.DataFlow.PropertyBinding`2.SourceCookie">
            <summary>
            An optional readonly cookie for reading and writing the source property values.
            <c>Null</c> by default.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.PropertyBinding`2.Tag">
            <summary>
            A freehand tag for marking the instance, mostly for the debugging needs.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.PropertyBinding`2.TargetCookie">
            <summary>
            An optional readonly cookie for reading and writing the target property values.
            <c>Null</c> by default.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.PropertyBinding`2.Direction">
            <summary>
            Gets or sets the binding direction.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.PropertyBinding`2.Source">
            <summary>
            Gets or sets the binding source.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.PropertyBinding`2.Target">
            <summary>
            Gets or sets the binding target.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.PropertyBinding`2.JetBrains#DataFlow#IPropertyBinding#Source">
            <summary>
            Gets the binding source.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.PropertyBinding`2.JetBrains#DataFlow#IPropertyBinding#Target">
            <summary>
            Gets the binding target.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.MarshallingPropertyBinding`2.#ctor(JetBrains.DataFlow.Lifetime,JetBrains.Threading.JetDispatcher,JetBrains.DataFlow.IProperty{`0},JetBrains.DataFlow.IProperty{`1},JetBrains.DataFlow.DataFlowDirection,System.Func{`0,`1},System.Func{`1,`0})">
            <summary>
            The ultimate ctor.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.MarshallingPropertyBinding`2.CopySourceToTarget">
            <summary>
            Executes the binding by copying the source value to the target value.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.MarshallingPropertyBinding`2.CopyTargetToSource">
            <summary>
            Executes the binding by copying the source value to the target value.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.MarshallingPropertyBinding`2.Dispatcher">
            <summary>
            Gets the dispatcher that defines the thread into which the operations are marshalled.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.MarshallingPropertyBinding`2.MarshallingBehavior">
            <summary>
            Gets or sets how the marshaller should behave, see <see cref="T:JetBrains.DataFlow.MarshallingBehaviors"/> for details.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.NullProperty`1">
            <summary>
            The single instance of a <see cref="T:JetBrains.DataFlow.IProperty`1">Property</see> whose value is always <c>Null</c>.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.NullProperty`1.Instance">
            <summary>
            The single instance of a <see cref="T:JetBrains.DataFlow.IProperty`1">Property</see> whose value is always <c>Null</c>.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.CompositeProperty`3">
            <summary>
            Creates a new composite property that composes the values of two source ones.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.CompositeProperty`3.Create(JetBrains.DataFlow.IProperty{`0},JetBrains.DataFlow.IProperty{`1},JetBrains.DataFlow.CompositeProperty{`0,`1,`2}.ComposerDelegate)">
            <summary>
            Creates a new composite property that composes the values of two source ones.
            </summary>
            <param name="propertySourceOne">The source property.</param>
            <param name="propertySourceTwo">The source property.</param>
            <param name="composer">The composer that produces the target from the sources.</param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.DataFlow.CompositeProperty`3.Create(JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.IProperty{`0},JetBrains.DataFlow.IProperty{`1},JetBrains.DataFlow.CompositeProperty{`0,`1,`2}.ComposerDelegate)">
            <summary>
            Creates a new composite property that composes the values of two source ones.
            </summary>
            <param name="lifetime"></param>
            <param name="propertySourceOne">The source property.</param>
            <param name="propertySourceTwo">The source property.</param>
            <param name="composer">The composer that produces the target from the sources.</param>
            <returns></returns>
        </member>
        <member name="T:JetBrains.DataFlow.CompositeProperty`3.ComposerDelegate">
            <summary>
            Composes a target value from two source ones.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.PropertyChangedEventArgs`2">
            <summary>
            When something changes, presents the details about the change.
            </summary>
            <typeparam name="TIdentity">The identity of the item that changes.</typeparam>
            <typeparam name="TValue">The old and new values for the item.</typeparam>
        </member>
        <member name="P:JetBrains.DataFlow.PropertyChangedEventArgs`2.Identity">
            <summary>
            Gets the name of the entity that has changed, eg property name.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.PropertyChangedEventArgs`2.New">
            <summary>
            Gets the new value.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.PropertyChangedEventArgs`2.Old">
            <summary>
            Gets the old value.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.OutEventArgs`1">
            <summary>
            An event arguments class with one typed mutable value that can be changed by any consumer.
            </summary>
            <typeparam name="TOut">Type of the outgoing value that is intended to be set by the event sink.</typeparam>
        </member>
        <member name="M:JetBrains.DataFlow.OutEventArgs`1.#ctor(`0)">
            <summary>
            Constructs the universal event args with the <see cref="P:JetBrains.DataFlow.OutEventArgs`1.Out"/> parameter set to its predefined value.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.OutEventArgs`1.#ctor">
            <summary>
            Constructs the universal event args with the <see cref="P:JetBrains.DataFlow.OutEventArgs`1.Out"/> parameter set to <c>Null</c>.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.OutEventArgs`1.Out">
            <summary>
            Data to be provided by the event sink, based on the event semantics.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.Property`1">
            <summary>
            A property that tracks the changes, validates new values being assigned, and notifies of the change.
            </summary>
            <typeparam name="TValue">Type of the property.</typeparam>
        </member>
        <member name="F:JetBrains.DataFlow.Property`1.myHandlersDisposed">
            <summary>
            Stores the <see cref="E:JetBrains.DataFlow.Property`1.Disposed"/> handlers.
            Synth thru <see cref="F:JetBrains.DataFlow.Property`1.myLock"/>.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.Property`1.myId">
            <summary>
            ID.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.Property`1.myIsNullValueAllowed">
            <summary>
            Determines whether the property can store NULL values.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.Property`1.mySignalBeforeChange">
            <summary>
            The signal for the BeforeChange on the property.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.Property`1.mySignalChange">
            <summary>
            The signal for the Change on the property.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.Property`1.myValue">
            <summary>
            Stores the value of the property.
            Sync thru <see cref="F:JetBrains.DataFlow.Property`1.myLock"/>.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Property`1.#ctor(System.String)">
            <summary>
            <para>Initializes the roperty with the default initial value for its type.</para> 
            <para>The property will <see cref="P:JetBrains.DataFlow.Property`1.IsNullValueAllowed">have <c>Null</c> values allowed</see>, because it's required by the initial value of the property.</para>
            </summary>
            <param name="id">
            <para>ID for the property. Allows to tell properties apart at runtime and when debugging.</para>
            <para>If callstack annotation is on, will appear on callstacks when property is modified. Thus, only compile-time-defined values should be used, to avoid spawning too many dynamic methods at runtime.</para>
            </param>
        </member>
        <member name="M:JetBrains.DataFlow.Property`1.#ctor(JetBrains.DataFlow.Lifetime,System.String)">
            <summary>
            <para>Initializes the roperty with the default initial value for its type.</para> 
            <para>The property will <see cref="P:JetBrains.DataFlow.Property`1.IsNullValueAllowed">have <c>Null</c> values allowed</see>, because it's required by the initial value of the property.</para>
            </summary>
            <param name="lifetime">
            <para>Defines the lifetime for the property.</para>
            <para>When lifetime terminates, all of the handlers of the property events are forcibly detached, which helps with preventing memory leaks.</para>
            </param>
            <param name="id">
            <para>ID for the property. Allows to tell properties apart at runtime and when debugging.</para>
            <para>If callstack annotation is on, will appear on callstacks when property is modified. Thus, only compile-time-defined values should be used, to avoid spawning too many dynamic methods at runtime.</para>
            </param>
        </member>
        <member name="M:JetBrains.DataFlow.Property`1.#ctor(JetBrains.DataFlow.PropertyId{`0},`0)">
            <summary>
            <para>Initializes the roperty with the initial value.</para>
            <para>The property <see cref="P:JetBrains.DataFlow.Property`1.IsNullValueAllowed">allows <c>Null</c> values</see> if it's of a value type, and does not allow <c>Null</c> values if it's a reference type (unless explicitly initialized with <c>Null</c>).</para>
            </summary>
            <param name="id">
            <para>ID for the property. Allows to tell properties apart at runtime and when debugging.</para>
            <para>If callstack annotation is on, will appear on callstacks when property is modified. Thus, only compile-time-defined values should be used, to avoid spawning too many dynamic methods at runtime.</para>
            </param>
            <param name="value">
            <para>The initial value of the property.</para>
            <para>If set to a non-<c>Null</c> value (of a reference type), the property will not allow setting <c>Null</c> values at runtime (<see cref="P:JetBrains.DataFlow.Property`1.IsNullValueAllowed"/> = <c>False</c>).</para>
            </param>
        </member>
        <member name="M:JetBrains.DataFlow.Property`1.#ctor(System.String,`0)">
            <summary>
            <para>Initializes the roperty with the initial value.</para>
            <para>The property <see cref="P:JetBrains.DataFlow.Property`1.IsNullValueAllowed">allows <c>Null</c> values</see> if it's of a value type, and does not allow <c>Null</c> values if it's a reference type (unless explicitly initialized with <c>Null</c>).</para>
            </summary>
            <param name="id">
            <para>ID for the property. Allows to tell properties apart at runtime and when debugging.</para>
            <para>If callstack annotation is on, will appear on callstacks when property is modified. Thus, only compile-time-defined values should be used, to avoid spawning too many dynamic methods at runtime.</para>
            </param>
            <param name="value">
            <para>The initial value of the property.</para>
            <para>If set to a non-<c>Null</c> value (of a reference type), the property will not allow setting <c>Null</c> values at runtime (<see cref="P:JetBrains.DataFlow.Property`1.IsNullValueAllowed"/> = <c>False</c>).</para>
            </param>
        </member>
        <member name="M:JetBrains.DataFlow.Property`1.#ctor(JetBrains.DataFlow.Lifetime,System.String,`0)">
            <summary>
            <para>Initializes the roperty with the initial value.</para>
            <para>The property <see cref="P:JetBrains.DataFlow.Property`1.IsNullValueAllowed">allows <c>Null</c> values</see> if it's of a value type, and does not allow <c>Null</c> values if it's a reference type (unless explicitly initialized with <c>Null</c>).</para>
            </summary>
            <param name="lifetime">
            <para>Defines the lifetime for the property.</para>
            <para>When lifetime terminates, all of the handlers of the property events are forcibly detached, which helps with preventing memory leaks.</para>
            </param>
            <param name="id">
            <para>ID for the property. Allows to tell properties apart at runtime and when debugging.</para>
            <para>If callstack annotation is on, will appear on callstacks when property is modified. Thus, only compile-time-defined values should be used, to avoid spawning too many dynamic methods at runtime.</para>
            </param>
            <param name="value">
            <para>The initial value of the property.</para>
            <para>If set to a non-<c>Null</c> value (of a reference type), the property will not allow setting <c>Null</c> values at runtime (<see cref="P:JetBrains.DataFlow.Property`1.IsNullValueAllowed"/> = <c>False</c>).</para>
            </param>
        </member>
        <member name="M:JetBrains.DataFlow.Property`1.#ctor(JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.PropertyId{`0},`0,System.Nullable{System.Boolean},JetBrains.Util.ILogger)">
            <summary>
            <para>The ultimate ctor.</para>
            <para>Initializes the roperty with the initial value.</para>
            <para>The property <see cref="P:JetBrains.DataFlow.Property`1.IsNullValueAllowed">allows <c>Null</c> values</see> if it's of a value type, and does not allow <c>Null</c> values if it's a reference type (unless explicitly initialized with <c>Null</c>).</para>
            </summary>
            <param name="lifetime">
            <para>Defines the lifetime for the property.</para>
            <para>When lifetime terminates, all of the handlers of the property events are forcibly detached, which helps with preventing memory leaks.</para>
            </param>
            <param name="id">
            <para>ID for the property. Allows to tell properties apart at runtime and when debugging.</para>
            <para>If callstack annotation is on, will appear on callstacks when property is modified. Thus, only compile-time-defined values should be used, to avoid spawning too many dynamic methods at runtime.</para>
            </param>
            <param name="value">Initial value for the property. Must agree to <paramref name="isNullValueAllowed"/>.</param>
            <param name="isNullValueAllowed">
            <para>Specifies whether <c>Null</c> values can be assigned to the property. Note that this applies to value types also; a <c>Null</c>-disallowing <see cref="T:System.Int32"/> property will not allow assigning values of <c>0</c>.</para>
            <para>Overloads without this parameter use the Null value which means the default strategy: value types are allowed any values, and reference types are allowed <c>Null</c> values only if the initial <paramref name="value"/> is <c>Null</c>.</para>
            <para>This fits nearly all the cases, and you're encouraged to use overloads which do not set this parameter explicitly.</para>
            </param>
            <param name="logger">Logging facility optional override.</param>
        </member>
        <member name="M:JetBrains.DataFlow.Property`1.ThrowReadonlyFail(JetBrains.DataFlow.BeforePropertyChangedEventArgs{`0},System.Object)">
            <summary>
            Helper to throw an annotated exception whenever a property fails the readonly lock precondition.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Property`1.ThrowThreadAffinityFail(JetBrains.DataFlow.BeforePropertyChangedEventArgs{`0},System.Threading.Thread)">
            <summary>
            Helper to throw an annotated exception whenever a property fails the threading affinity precondition.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Property`1.FireBeforeChange(`0,`0,System.Object)">
            <summary>
            Fires the <see cref="P:JetBrains.DataFlow.Property`1.BeforeChange"/> event, in course of assigning a new value to the property.
            If <c>False</c>, the transaction has been cancelled.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Property`1.FireChange(`0,`0,System.Object)">
            <summary>
            Fires the <see cref="P:JetBrains.DataFlow.Property`1.Change"/> event, in course of assigning a new value to the property.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Property`1.FireDisposed">
            <summary>
            Fires the <see cref="E:JetBrains.DataFlow.Property`1.Disposed"/> event to the pre-stored list of handlers.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Property`1.FirePropertyChanged">
            <summary>
            Fires the <see cref="E:JetBrains.DataFlow.Property`1.PropertyChanged"/> event.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Property`1.FirePropertyChanging">
            <summary>
            Fires the <see cref="E:JetBrains.DataFlow.Property`1.PropertyChanging"/> event.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Property`1.ToString">
            <summary>
            Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
            </summary>
            
            <returns>
            A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.DataFlow.Property`1.Clone">
            <summary>
            Creates a new object that is a copy of the current instance.
            </summary>
            
            <returns>
            A new object that is a copy of this instance.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.DataFlow.Property`1.System#IDisposable#Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
            <filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.DataFlow.Property`1.GetValue">
            <summary>
            Gets the property value.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Property`1.GetValue(System.Object)">
            <summary>
            Gets the property value.
            </summary>
            <param name="cookie">An optional cookie that comes along with the notification events data.</param>
            <returns>The current property value, whose nullability depends on <see cref="P:JetBrains.DataFlow.IUntypedProperty.IsNullValueAllowed"/>.</returns>
        </member>
        <member name="M:JetBrains.DataFlow.Property`1.SetValue(`0)">
            <summary>
            Sets the property value, validates, notifies the sinks.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Property`1.SetValue(`0,System.Object)">
            <summary>
            Sets the property value, validates, notifies the sinks.
            </summary>
            <param name="value">The desired value of the property, whose nullability depends on <see cref="P:JetBrains.DataFlow.IUntypedProperty.IsNullValueAllowed"/>.</param>
            <param name="cookie">An optional cookie that comes along with the notification events data.</param>
            <returns>Whether the value has actually been set (was not cancelled by the <see cref="P:JetBrains.DataFlow.IProperty`1.BeforeChange"/> handlers).</returns>
        </member>
        <member name="M:JetBrains.DataFlow.Property`1.JetBrains#DataFlow#IUntypedProperty#GetValue(System.Object)">
            <summary>
            Gets the property value.
            </summary>
            <param name="cookie">An optional cookie that comes along with the notification events data.</param>
            <returns>The current property value, whose nullability depends on <see cref="P:JetBrains.DataFlow.IUntypedProperty.IsNullValueAllowed"/>.</returns>
        </member>
        <member name="M:JetBrains.DataFlow.Property`1.JetBrains#DataFlow#IUntypedProperty#SetValue(System.Object,System.Object)">
            <summary>
            Sets the property value, validates, notifies the sinks.
            </summary>
            <param name="value">The desired value of the property, whose nullability depends on <see cref="P:JetBrains.DataFlow.IUntypedProperty.IsNullValueAllowed"/>.</param>
            <param name="cookie">An optional cookie that comes along with the notification events data.</param>
            <returns>Whether the value has actually been set (was not cancelled by the <see cref="P:JetBrains.DataFlow.IProperty`1.BeforeChange"/> handlers).</returns>
        </member>
        <member name="E:JetBrains.DataFlow.Property`1.Disposed">
            <summary>
            Fires when the property disposes.
            </summary>
        </member>
        <member name="E:JetBrains.DataFlow.Property`1.PropertyChanged">
            <summary>
            Occurs when a property value changes.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.Property`1.BeforeChange">
            <summary>
            Gets the signal that fires when someone attempts to change the property value.
            Allows to cancel the change, either silently (by setting <see cref="P:JetBrains.DataFlow.BeforePropertyChangedEventArgs`1.Cancel"/> to <c>True</c>) or by throwing an exception from the handler.
            The handler is first called when sinking, and sinking is cancelled if the handler fails to pass the current value of the property.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.Property`1.Change">
            <summary>
            Gets the signal that fires when the sink's view on the property value changes.
            Note that the view changes from N/A to whatever value upon sinking, and back upon unsinking.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.Property`1.Id">
            <summary>
            Gets the identifier of this property.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.Property`1.IsNullValueAllowed">
            <summary>
            Gets whether the property can store NULL values of reference types and zero values of value types.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.Property`1.Value">
            <summary>
            Gets or sets the value by wrapping the <see cref="M:JetBrains.DataFlow.Property`1.GetValue"/> and <see cref="M:JetBrains.DataFlow.Property`1.SetValue(`0)"/> calls.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.Property`1.JetBrains#DataFlow#IUntypedProperty#BeforeChange">
            <summary>
            Gets the signal that fires when someone attempts to change the property value.
            Allows to cancel the change, either silently (by setting <see cref="P:JetBrains.DataFlow.BeforePropertyChangedEventArgs`1.Cancel"/> to <c>True</c>) or by throwing an exception from the handler.
            The handler is first called when sinking, and sinking is cancelled if the handler fails to pass the current value of the property.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.Property`1.JetBrains#DataFlow#IUntypedProperty#Change">
            <summary>
            Gets the signal that fires when the sink's view on the property value changes.
            Note that the view changes from N/A to whatever value upon sinking, and back upon unsinking.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.Property`1.JetBrains#DataFlow#IUntypedProperty#Id">
            <summary>
            Gets the identifier of this property.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.Property`1.JetBrains#DataFlow#IUntypedProperty#PropertyType">
            <summary>
            Gets the type of the generic property.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.Property`1.PropertyBeforeChangeSignal">
            <summary>
            Handles the signals on the property events.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Property`1.PropertyBeforeChangeSignal.Acknowledge(System.Action{JetBrains.DataFlow.BeforePropertyChangedEventArgs{`0}},JetBrains.DataFlow.AddRemove)">
            <summary>
            Acknowledges the <see cref="P:JetBrains.DataFlow.Property`1.BeforeChange"/> sinks.
            Returns whether the change is allowed.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Property`1.PropertyBeforeChangeSignal.OnBeforeAdvise(System.Action{JetBrains.DataFlow.BeforePropertyChangedEventArgs{`0}})">
            <summary>
            Called before a new sink is attached.
            Returns whether the attachment is allowed.
            Throwing an exception will effectively cancel the attachment.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.Property`1.PropertyChangeSignal">
            <summary>
            Handles the signals on the property events.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Property`1.PropertyChangeSignal.Acknowledge(System.Action{JetBrains.DataFlow.PropertyChangedEventArgs{`0}},JetBrains.DataFlow.AddRemove)">
            <summary>
            Acknowledges the given handler with the property value, either on add or remove of the handler.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Property`1.PropertyChangeSignal.OnAfterAdvise(System.Action{JetBrains.DataFlow.PropertyChangedEventArgs{`0}})">
            <summary>
            Called after a new sink is attached.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.Property`1.PropertyChangeSignal.OnAfterUnadvise(System.Action{JetBrains.DataFlow.PropertyChangedEventArgs{`0}})">
            <summary>
            Called after a sink is detached.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyBag.Remove``1(JetBrains.DataFlow.PropertyId{``0})">
            <summary>
            Tries to remove an existing property from the bag, returns whether successful (ie there really was such a property in the bag).
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyBag.JetBrains#DataFlow#IUntypedPropertyBag#Remove(JetBrains.DataFlow.PropertyId)">
            <summary>
            Tries to remove an existing property from the bag, returns whether successful (ie there really was such a property in the bag).
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyBag.JetBrains#DataFlow#IUntypedPropertyBag#GetOrCreateProperty(JetBrains.DataFlow.PropertyId,System.Object,System.Nullable{System.Boolean})">
            <summary>
            Creates a property in the bag, or picks an existing one.
            The type is inferred from the generic data constant type <see cref="T:JetBrains.DataFlow.PropertyId`1"/>.
            </summary>
            <param name="id">An identifier for the property.</param>
            <param name="defaultvalue">Default value to assign to the property initially.</param>
            <param name="isNullValueAllowed">Whether <c>Null</c> values are accepted by the property.</param>
            <returns>The newly-created property, or an existing one, if available.</returns>
        </member>
        <member name="T:JetBrains.DataFlow.PropertyBinding">
            <summary>
            A non-generic static class that helps creating specific property bindings.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.PropertyBinding.False">
            <summary>
            Gets a cached instance of a property that always has the same value.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.PropertyBinding.True">
            <summary>
            Gets a cached instance of a property that always has the same value.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.PropertyBinding.Zero">
            <summary>
            Gets a cached instance of a property that always has the same value.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyBinding.CreateBidirectional``2(JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.IProperty{``1},System.Func{``0,``1},System.Func{``1,``0})">
            <summary>
            Creates a two-way property binding.
            Initially, <paramref name="target"/> will be assighned the value of <paramref name="source"/>.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyBinding.CreateBidirectional``2(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.IProperty{``1})">
            <summary>
            Creates a two-way property binding.
            Initially, <paramref name="target"/> will be assighned the value of <paramref name="source"/>.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyBinding.CreateBidirectional``2(JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.IProperty{``1})">
            <summary>
            Creates a two-way property binding.
            Initially, <paramref name="target"/> will be assighned the value of <paramref name="source"/>.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyBinding.CreateBidirectional``1(JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.IProperty{``0},System.Windows.DependencyObject,System.Windows.DependencyProperty,System.Boolean)">
            <summary>
            Creates a two-way property binding.
            Initially, <paramref name="targetproperty"/> will be assighned the value of <paramref name="source"/>.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyBinding.CreateBidirectional``2(JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.IProperty{``0},System.Windows.DependencyObject,System.Windows.DependencyProperty,System.Func{``0,``1},System.Func{``1,``0})">
            <summary>
            Creates a two-way property binding.
            Initially, <paramref name="targetproperty"/> will be assighned the value of <paramref name="source"/>.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyBinding.Create2``3(JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.IProperty{``1},JetBrains.DataFlow.IProperty{``2},System.Func{``0,``1,``2},System.Object)">
            <summary>
            Creates a simple many-to-one binding.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyBinding.Create3``4(JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.IProperty{``1},JetBrains.DataFlow.IProperty{``2},JetBrains.DataFlow.IProperty{``3},System.Func{``0,``1,``2,``3},System.Object)">
            <summary>
            Creates a simple many-to-one binding.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyBinding.Create4``5(JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.IProperty{``1},JetBrains.DataFlow.IProperty{``2},JetBrains.DataFlow.IProperty{``3},JetBrains.DataFlow.IProperty{``4},System.Func{``0,``1,``2,``3,``4},System.Object)">
            <summary>
            Creates a simple many-to-one binding.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyBinding.CreateAnd(JetBrains.DataFlow.IProperty{System.Boolean},JetBrains.DataFlow.IProperty{System.Boolean})">
            <summary>
            ANDs two boolean properties.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyBinding.CreateAnd(JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.IProperty{System.Boolean},JetBrains.DataFlow.IProperty{System.Boolean})">
            <summary>
            ANDs two boolean properties.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyBinding.CreateAndMultibinding(JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.IProperty{System.Boolean},JetBrains.DataFlow.IProperty{System.Boolean},JetBrains.DataFlow.IProperty{System.Boolean})">
            <summary>
            Binds two <see cref="T:System.Boolean"/> properties to a third by ANDing their values.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyBinding.CreateCascading``3(JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.IProperty{``0},System.Func{``0,JetBrains.DataFlow.IProperty{``1}},JetBrains.DataFlow.IProperty{``1},JetBrains.DataFlow.IProperty{``2},JetBrains.DataFlow.DataFlowDirection)">
            <summary>
            Creates a cascading binding, Owner.Source ↔ Target, where Source is a property inside the Owner. Owner may change, and each time the Source is taken from the new Owner, and its changes are tracked.
            </summary>
            <param name="lifetime">Lifetime for the binding.</param>
            <param name="sourceowner">The owner object that may change with time, from which the Source for the binding is extracted by the means of the <paramref name="FGetSourceFromOwner"/> converter. Its value may become <c>Null</c>.</param>
            <param name="FGetSourceFromOwner">A function that knows how to find a source for the binding in each new <paramref name="sourceowner"/>. The owner object passed to it is always non-<c>Null</c>, because the <paramref name="propSourceWhenNoOwner"/> value is used automatically when <paramref name="sourceowner"/>'s value gets <c>Null</c>.</param>
            <param name="propSourceWhenNoOwner">When the <paramref name="sourceowner"/>'s <see cref="P:JetBrains.DataFlow.IProperty`1.Value"/> gets <c>Null</c>, this property is used for the binding source instead.</param>
            <param name="target">The target property for the binding.</param>
            <param name="direction">Binding direction.</param>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyBinding.CreateIsNotNull``1(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.Lifetime)">
            <summary>
            Creates a bool property that is bound to whether <paramref name="source"/> is not <c>Null</c>.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyBinding.CreateIsNull``1(JetBrains.DataFlow.IProperty{``0},JetBrains.DataFlow.Lifetime)">
            <summary>
            Creates a bool property that is bound to whether <paramref name="source"/> is <c>Null</c>.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyBinding.CreateNot(JetBrains.DataFlow.IProperty{System.Boolean},JetBrains.DataFlow.Lifetime)">
            <summary>
            Creates a binding that negates a value of the boolean property.
            The negated property is created inplace, and returned as a result.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyBinding.CreateOr(JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.IProperty{System.Boolean},JetBrains.DataFlow.IProperty{System.Boolean})">
            <summary>
            ORs two boolean properties.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyBinding.CreateOrMultibinding(JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.IProperty{System.Boolean},JetBrains.DataFlow.IProperty{System.Boolean},JetBrains.DataFlow.IProperty{System.Boolean})">
            <summary>
            Binds two <see cref="T:System.Boolean"/> properties to a third by ORing their values.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyBinding.Null``1">
            <summary>
            Gets the single instance of a <see cref="T:JetBrains.DataFlow.IProperty`1">Property</see> whose value is always <c>Null</c>.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.PropertyBindingDeferred`1">
            <summary>
            Establishes a one-way property binding that defers application of the changes for some grace period.
            If a new change occurs within the grace period, the period is prolongated.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyBindingDeferred`1.#ctor(JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.IProperty{`0},JetBrains.DataFlow.IProperty{`0},System.TimeSpan,System.Object)">
            <summary>
            The ultimate ctor.
            Wires up the binding.
            </summary>
            <param name="lifetime">Lifetime of the binding. Recommended, but not 100% necessary, as the timer is held on weak ref.</param>
            <param name="source">The source property.</param>
            <param name="target">The target property.</param>
            <param name="graceperiod">The grace period for the changes to be withheld and accumulated.</param>
            <param name="targetcookie">An optional cookie for the <paramref name="target"/>'s write access.</param>
        </member>
        <member name="F:JetBrains.DataFlow.PropertyBindingDeferred`1.GracePeriod">
            <summary>
            Gets or sets the grace period in which the changes to the <see cref="P:JetBrains.DataFlow.PropertyBindingDeferred`1.Source"/> are accumulated.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.PropertyBindingDeferred`1.IncomingCommit">
            <summary>
            Immediately applies the pending changes, if there are any. Otherwise, does nothing.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.PropertyBindingDeferred`1.IsPending">
            <summary>
            Gets whether there currently are any pending changes.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.PropertyBindingDeferred`1.Source">
            <summary>
            Gets the binding source.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.PropertyBindingDeferred`1.Target">
            <summary>
            Gets the binding target.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.PropertyId`1">
            <summary>
            A typed identifier for a <see cref="T:JetBrains.DataFlow.Property`1"/> that specifies the property name and sets its type.
            Works as a typesafe <see cref="T:JetBrains.DataFlow.PropertyBag"/> accessor.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.PropertyId">
            <summary>
            The untyped base class for a <see cref="T:JetBrains.DataFlow.PropertyId`1">property identifier</see>.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyId.Create``1(System.String)">
            <summary>
            Creates a new strongly-typed property ID.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.PropertyId.Id">
            <summary>
            Gets the non-empty identifier text.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyId`1.#ctor(System.String)">
            <summary>
            Creates the identifier.
            </summary>
            <param name="id">A non-empty string identifier.</param>
        </member>
        <member name="M:JetBrains.DataFlow.PropertyId`1.ToString">
            <summary>
            Returns a <see cref="T:System.String"></see> that represents the current <see cref="T:System.Object"></see>.
            </summary>
            
            <returns>
            A <see cref="T:System.String"></see> that represents the current <see cref="T:System.Object"></see>.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="P:JetBrains.DataFlow.PropertyId`1.Id">
            <summary>
            Gets the non-empty identifier text.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.SequentialLifetimes">
            <summary>
            Maintains a sequence of lifetimes, so that the previous lifetime is closed before the new one is opened.
            Good for implementing a sequence of non-simultaneous activities when it's nice to guarantee only one is active at a time.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.SequentialLifetimes.#ctor(JetBrains.DataFlow.Lifetime)">
            <summary>
            Creates and binds to the lifetime.
            </summary>
            <param name="lifetime">When this lifetime is closed, the last of the sequential lifetimes is closed too.</param>
        </member>
        <member name="M:JetBrains.DataFlow.SequentialLifetimes.Next(System.Action{JetBrains.DataFlow.Lifetime})">
            <summary>
            Terminates the current lifetime and calls your handler with the new lifetime.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.SequentialLifetimes.DefineNext(System.Action{JetBrains.DataFlow.LifetimeDefinition,JetBrains.DataFlow.Lifetime})">
            <summary>
            Terminates the current lifetime and calls your handler with the new lifetime.
            The lifetime definition allows to terminate it as desired. Also, the lifetime will be terminated when either parent lifetime is terminated, or <see cref="M:JetBrains.DataFlow.SequentialLifetimes.TerminateCurrent"/> is called, or <see cref="M:JetBrains.DataFlow.SequentialLifetimes.DefineNext(System.Action{JetBrains.DataFlow.LifetimeDefinition,JetBrains.DataFlow.Lifetime})"/>/<see cref="M:JetBrains.DataFlow.SequentialLifetimes.Next(System.Action{JetBrains.DataFlow.Lifetime})"/> is called.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.SequentialLifetimes.TerminateCurrent">
            <summary>
            Terminates the current lifetime.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.SequentialLifetimes.SetCurrentLifetime(JetBrains.DataFlow.LifetimeDefinition)">
            <summary>
            Atomically, assigns the new lifetime and terminates the old one.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.SignalStatics.SequentialLifetimesFactory">
            <summary>
            Pulled out to avoid swarming separate instances for different generic params.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.SimpleSignal">
            <summary>
            A simple <see cref="T:JetBrains.DataFlow.ISignal`1"/> that has no payload.
            Stands for the simple <see cref="T:System.EventHandler"/>-based event, but encapsulates the firing method, can take part in data flow, can be fired by an external user.
            Suitable for use in MVC's codebehind, when the event should be fireable by the views.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.SimpleSignal.#ctor(System.String)">
            <summary>Creates the signal.</summary>
            <param name="id">
            <para>ID for the signal. Allows to tell signals apart at runtime and when debugging.</para>
            <para>If callstack annotation is on, will appear on callstacks when signal is fired. Thus, only compile-time-defined values should be used, to avoid spawning too many dynamic methods at runtime.</para>
            </param>
        </member>
        <member name="M:JetBrains.DataFlow.SimpleSignal.#ctor(JetBrains.DataFlow.Lifetime,System.String)">
            <summary>Creates the signal.</summary>
            <param name="lifetime">
            <para>Defines the lifetime for the signal.</para>
            <para>When lifetime terminates, all of the handlers are forcibly detached, which helps with preventing memory leaks.</para>
            </param>
            <param name="id">
            <para>ID for the signal. Allows to tell signals apart at runtime and when debugging.</para>
            <para>If callstack annotation is on, will appear on callstacks when signal is fired. Thus, only compile-time-defined values should be used, to avoid spawning too many dynamic methods at runtime.</para>
            </param>
        </member>
        <member name="M:JetBrains.DataFlow.SimpleSignal.#ctor(JetBrains.DataFlow.Lifetime,JetBrains.DataFlow.PropertyId{System.Boolean},JetBrains.Util.ILogger)">
            <summary>Creates the signal.</summary>
            <param name="lifetime">
            <para>Defines the lifetime for the signal.</para>
            <para>When lifetime terminates, all of the handlers are forcibly detached, which helps with preventing memory leaks.</para>
            </param>
            <param name="id">
            <para>ID for the signal. Allows to tell signals apart at runtime and when debugging.</para>
            <para>If callstack annotation is on, will appear on callstacks when signal is fired. Thus, only compile-time-defined values should be used, to avoid spawning too many dynamic methods at runtime.</para>
            </param>
            <param name="logger">Optional logging engine override.</param>
        </member>
        <member name="M:JetBrains.DataFlow.SimpleSignal.Fire">
            <summary>
            Fires the signal.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.SingleDisposable">
            <summary>
            Holds one disposable at most. When a new one is assigned, the old one goes away.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.SingleDisposable.myContainee">
            <summary>
            The current value.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.SingleDisposable.Clear">
            <summary>
            <para>Disposes of the current contained value, if any.</para>
            <para>If you'd like to make sure the old value is disposed of BEFORE you evaluate the new one, either use <see cref="M:JetBrains.DataFlow.SingleDisposable.Put(System.Func{System.IDisposable})"/> or pipe a <see cref="M:JetBrains.DataFlow.SingleDisposable.Clear"/> call before the <see cref="M:JetBrains.DataFlow.SingleDisposable.Put(System.IDisposable)"/> call. This might be necessary for sequencing the disposables brackets, to close the previous bracked before opening the new one.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.SingleDisposable.Put(System.IDisposable)">
            <summary>
            <para>Disposes of the old contained value, and places a new one instead.</para>
            <para>If you'd like to make sure the old value is disposed of BEFORE you evaluate the new one, either use <see cref="M:JetBrains.DataFlow.SingleDisposable.Put(System.Func{System.IDisposable})"/> or pipe a <see cref="M:JetBrains.DataFlow.SingleDisposable.Clear"/> call before the <see cref="M:JetBrains.DataFlow.SingleDisposable.Put(System.IDisposable)"/> call. This might be necessary for sequencing the disposables brackets, to close the previous bracked before opening the new one.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.SingleDisposable.Put(System.Func{System.IDisposable})">
            <summary>
            <para>Disposes of the old contained value, and places a new one instead.
            Guarantees that the old value is disposed of BEFORE the new value is evaluated by <paramref name="funcNew"/>.</para>
            <para>If you'd like to make sure the old value is disposed of BEFORE you evaluate the new one, either use <see cref="M:JetBrains.DataFlow.SingleDisposable.Put(System.Func{System.IDisposable})"/> or pipe a <see cref="M:JetBrains.DataFlow.SingleDisposable.Clear"/> call before the <see cref="M:JetBrains.DataFlow.SingleDisposable.Put(System.IDisposable)"/> call. This might be necessary for sequencing the disposables brackets, to close the previous bracked before opening the new one.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.SingleDisposable.PutBracket(System.Action,System.Action)">
            <summary>
            Disposes of the old contained value first. Then executes the <paramref name="FEnter"/> action and schedulles <paramref name="FLeave"/> for execution when the contained value is disposed of.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.SingleDisposable.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
            <filterpriority>2</filterpriority>
        </member>
        <member name="T:JetBrains.DataFlow.StandardPreconditions.ReadonlyToken">
            <summary>
            <para>A special object that locks property writes to the authorized owner, one who can provide the correct token.</para>
            <para>Even though the token has a comment string, it's used for failure diagnostic only and does not affect tokens equality. Each new token instance is unique, regardless of the comment string.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.StandardPreconditions.ReadonlyToken.#ctor(System.String)">
            <summary>
            Creates a special object that locks property writes to the authorized owner, one who can provide the correct token.
            </summary>
            <param name="info">Provides information about the readonly lock: who the owner of the lock is (usually, the owner of the locked object), and why the object is locked.</param>
            <remarks>Even though the token has a comment string, it's used for failure diagnostic only and does not affect tokens equality. Each new token instance is unique, regardless of the comment string.</remarks>
        </member>
        <member name="F:JetBrains.DataFlow.StandardPreconditions.ReadonlyToken.Info">
            <summary>
            Provides information about the readonly lock: who the owner of the lock is (usually, the owner of the locked object), and why the object is locked.
            </summary>
            <remarks>Even though the token has a comment string, it's used for failure diagnostic only and does not affect tokens equality. Each new token instance is unique, regardless of the comment string.</remarks>
        </member>
        <member name="T:JetBrains.DataFlow.StandardPreconditions.StandardPreconditionOptions">
            <summary>
            Some options related to <see cref="T:JetBrains.DataFlow.StandardPreconditions.IStandardPrecondition"/> entities, mostly for tests/debug.
            </summary>
        </member>
        <member name="F:JetBrains.DataFlow.StandardPreconditions.StandardPreconditionOptions.UseStandardPreconditionsInHelperMethods">
            <summary>
            <para>Whether helper extension methods should use standard preconditions whenever possible.</para>
            <para><c>True</c>: production setting. Hard-coded standard preconditions are used wherever possible for speed.</para>
            <para><c>False</c>: test environment settings. Slower, but allows to test the code paths not available with standard preconditions.</para>
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.WinFormsProperty">
            <summary>
            Wraps a property with an event into an <see cref="T:JetBrains.DataFlow.IProperty`1"/>.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.WinFormsProperty.Create``2(JetBrains.DataFlow.Lifetime,``0,System.Linq.Expressions.Expression{System.Func{``0,``1}},System.Boolean)">
            <summary>
            Returns a data flow property bound to a WinForms standard property (one usually coupled with an event).
            </summary>
            <typeparam name="TSource">Source object type.</typeparam>
            <typeparam name="TValue">Property value type.</typeparam>
            <param name="lifetime"></param>
            <param name="source">The source winforms property owner.</param>
            <param name="propertyExpression">Expression to retrieve property</param>
            <param name="sinkEvents">Whether to sink the events from the WinForms property about its updates. Looks for an event with the {PropertyName}+“Changed” name.</param>
        </member>
        <member name="M:JetBrains.DataFlow.WinFormsProperty.Create``2(``0,System.Linq.Expressions.Expression{System.Func{``0,``1}},System.Boolean)">
            <summary>
            Returns a data flow property bound to a WinForms standard property (one usually coupled with an event).
            </summary>
            <typeparam name="TSource">Source object type.</typeparam>
            <typeparam name="TValue">Property value type.</typeparam>
            <param name="source">The source winforms property owner.</param>
            <param name="propertyExpression">Expression to retrieve property</param>
            <param name="sinkEvents">Whether to sink the events from the WinForms property about its updates. Looks for an event with the {PropertyName}+“Changed” name.</param>
        </member>
        <member name="M:JetBrains.DataFlow.WinFormsProperty.Create``1(System.Object,System.String,System.Boolean)">
            <summary>
            Returns a data flow property bound to a WinForms standard property (one usually coupled with an event).
            </summary>
            <typeparam name="TValue">Property value type.</typeparam>
            <param name="source">The source winforms property owner.</param>
            <param name="propertyName">The source winforms property name.</param>
            <param name="sinkEvents">Whether to sink the events from the WinForms property about its updates. Looks for an event with the {PropertyName}+“Changed” name.</param>
        </member>
        <member name="T:JetBrains.Util.dataStructures.Boxed`1">
            <summary>
            Turns a value type into a reference type — similarly to <see cref="T:System.Nullable`1"/>, but the resulting type is a reference type not a value type.
            </summary>
        </member>
        <member name="T:JetBrains.Util.dataStructures.Boxed">
            <summary>
            Supports <see cref="T:JetBrains.Util.dataStructures.Boxed`1"/>, mostly taken from <see cref="T:System.Nullable"/>.
            </summary>
        </member>
        <member name="T:JetBrains.Util.dataStructures.ChunkedMemoryStream">
            <summary>
            A stream that resides in memory and allocates more chunks of data instead of reallocating the large continuous chunk.
            </summary>
        </member>
        <member name="F:JetBrains.Util.dataStructures.ChunkedMemoryStream.myBuffers">
            <summary>
            Chunk buffers (non-zero-length only — required for index two-way translation).
            </summary>
        </member>
        <member name="F:JetBrains.Util.dataStructures.ChunkedMemoryStream.myCurrentBufferIndex">
            <summary>
            The buffer from <see cref="F:JetBrains.Util.dataStructures.ChunkedMemoryStream.myBuffers"/> the <see cref="F:JetBrains.Util.dataStructures.ChunkedMemoryStream.myPositionIncludingStartOffset"/> is currently in. "Before first byte" is preferred to "After last byte" (even if at end of stream). Could be equal to number of buffers (eg pointing beyond the end of list of buffers) — when exactly at the end of the stream.
            </summary>
        </member>
        <member name="F:JetBrains.Util.dataStructures.ChunkedMemoryStream.myCurrentBufferOffset">
            <summary>
            Offset of the <see cref="F:JetBrains.Util.dataStructures.ChunkedMemoryStream.myPositionIncludingStartOffset"/> from the beginning of its current buffer (<see cref="F:JetBrains.Util.dataStructures.ChunkedMemoryStream.myCurrentBufferIndex"/>).
            Shouldn't be equal to current buffer length (should be zero in the next buffer instead).
            </summary>
        </member>
        <member name="F:JetBrains.Util.dataStructures.ChunkedMemoryStream.myIsOnUserBuffers">
            <summary>
            Whether we're running on user buffers (as passed to ctor) and should not be modifying them.
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.ChunkedMemoryStream.TrimExcess">
            <summary>
            Works similarly to <see cref="M:System.Collections.Generic.List`1.TrimExcess"/>.
            Frees the unused buffers, but does not free the unused leftovers of the last buffer.
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.ChunkedMemoryStream.TryGetBufferAndOffsetOfPosition(System.Int64,System.Int32@,System.Int32@)">
            <summary>
            Gets the buffer and offset in it where the <paramref name="lPositionIncludingStartOffset"/> falls.
            Offset can be zero and never can be equal to the length of the buffer. At the very end, the buffer index is equal to the number of buffers.
            Returns <c>-1</c> of OK and the total max length of the buffers-allocated space (including start offset) if the position does not fall within the allocated space.
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.ChunkedMemoryStream.GetBufferAndOffsetOfPosition(System.Int64,System.Int32@,System.Int32@)">
            <summary>
            Gets the buffer and offset in it where the <paramref name="lPositionIncludingStartOffset"/> falls.
            Offset can be zero and never can be equal to the length of the buffer. At the very end, the buffer index is equal to the number of buffers.
            Throws when the length is outside the buffers span.
            </summary>
        </member>
        <member name="M:JetBrains.Util.DataStructures.ChunkSparseArray`1.#ctor(System.Int32)">
            <summary>
            Create chunk array with pre-allocated given size
            </summary>
            <param name="initialSize"></param>
        </member>
        <member name="T:JetBrains.Util.dataStructures.FrugalLocalList`1">
            <summary>
            <para>A frugal version of a generic variable-size list.</para>
            <para>Properties:</para>
            <para>• Is a value type (non-POD though), thus merges into the memory of the owning type.</para>
            <para>• Stores first <see cref="F:JetBrains.Util.dataStructures.FrugalLocalList`1.LocalItemsCount"/> items within own memory.</para>
            <para>• Stores the remaining items, if any, in a dynamic list. If there aren't any more items, the dynamic list is not created.</para>
            <para>• Does not create any new objects when there are just <c>0</c>,<c>1</c>...<see cref="F:JetBrains.Util.dataStructures.FrugalLocalList`1.LocalItemsCount"/> items in the list.</para>
            <para>Memory: <see cref="F:JetBrains.Util.dataStructures.FrugalLocalList`1.LocalItemsCount"/> pointers for first items, plus one pointer for the lazily-created list of remaining items items.</para>
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.FrugalLocalList`1.Clone">
            <summary>
            <para>Clones the list.</para>
            <para>We're a value type, but not a POD. Unlike assignment, cloning also clones the tail list correctly.</para>
            <para>Does NOT clone the items (unless they're PODs of course).</para>
            </summary>
        </member>
        <member name="T:JetBrains.Util.DataStructures.HybridCollection`1">
            <summary>
            Collection which optmized to store single item without allocating array.
            The collection cannot contain <c>null</c> elements!
            </summary>
        </member>
        <member name="T:JetBrains.Util.dataStructures.StringConcat">
            <summary>
            Represents string that consists from other strings. The way of avoiding string concatenation and high memory traffic.
            Works fast for small number of parts. Typical replace for: namespace + "." + typeName
            </summary>
        </member>
        <member name="T:JetBrains.Text.IBuffer">
            <summary>
            Buffer that allows retrieval of contents by position
            </summary>
        </member>
        <member name="T:JetBrains.ActivityCollector.ActivityCollector">
            <summary>
            Logs disposable activities to a temporary file (%TEMP%\ReSharper_ActivityCollector-[time-and-random-stuff].txt)
            Activity is <see cref="T:System.IDisposable"/> with name. Basic usage pattern:
            <code>
            var activity = ActivityCollector.GetEndpoint().StartActivity(new Key("activity name"))
            [do some stuff]
            activity.Dispose()
            </code>
            After dispose call thread id, activity name, start time and end time will be written to log.
            
            
            </summary>
        </member>
        <member name="T:JetBrains.UI.Anchoring">
            <summary>
            Linear anchoring constants.
            </summary>
        </member>
        <member name="F:JetBrains.UI.Anchoring.NearWithout">
            <summary>
            Left or top, anchored outside the area.
            </summary>
        </member>
        <member name="F:JetBrains.UI.Anchoring.NearWithin">
            <summary>
            Left or top, anchored inside the area.
            </summary>
        </member>
        <member name="F:JetBrains.UI.Anchoring.MiddleWithin">
            <summary>
            Center or middle, anchored inside the area. Preferrably, in the center.
            </summary>
        </member>
        <member name="F:JetBrains.UI.Anchoring.FarWithin">
            <summary>
            Right or bottom, anchored inside the area.
            </summary>
        </member>
        <member name="F:JetBrains.UI.Anchoring.FarWithout">
            <summary>
            Right or bottom, anchored outside the area.
            </summary>
        </member>
        <member name="T:JetBrains.UI.Anchoring2D">
            <summary>
            Describes the anchoring in two dimensions.
            </summary>
        </member>
        <member name="F:JetBrains.UI.Anchoring2D.myAnchorAside">
            <summary>
            Backup for <see cref="P:JetBrains.UI.Anchoring2D.AnchorAside"/>.
            </summary>
        </member>
        <member name="F:JetBrains.UI.Anchoring2D.myAnchorBottomOrTop">
            <summary>
            Backup for <see cref="P:JetBrains.UI.Anchoring2D.AnchorBottomOrTop"/>.
            </summary>
        </member>
        <member name="F:JetBrains.UI.Anchoring2D.myAnchorLeftOrRightOnly">
            <summary>
            Backup for <see cref="P:JetBrains.UI.Anchoring2D.AnchorLeftOrRightOnly"/>.
            </summary>
        </member>
        <member name="F:JetBrains.UI.Anchoring2D.myAnchorTop">
            <summary>
            Backup for <see cref="P:JetBrains.UI.Anchoring2D.AnchorTop"/>.
            </summary>
        </member>
        <member name="F:JetBrains.UI.Anchoring2D.myAnchorTopOrBottom">
            <summary>
            Backup for <see cref="P:JetBrains.UI.Anchoring2D.AnchorTopOrBottom"/>.
            </summary>
        </member>
        <member name="F:JetBrains.UI.Anchoring2D.Value">
            <summary>
            The raw value combining both vertical and horizontal anchoring.
            </summary>
        </member>
        <member name="M:JetBrains.UI.Anchoring2D.#ctor(System.Int32)">
            <summary>
            Initializes from a raw value.
            </summary>
        </member>
        <member name="M:JetBrains.UI.Anchoring2D.#ctor(JetBrains.UI.Anchoring,JetBrains.UI.Anchoring)">
            <summary>
            Initializes the instance.
            </summary>
        </member>
        <member name="M:JetBrains.UI.Anchoring2D.IsFar(JetBrains.UI.Anchoring)">
            <summary>
            Checks whether the given <paramref name="anchoring"/> is one of the Far— anchorings, namely, <see cref="F:JetBrains.UI.Anchoring.FarWithin"/> or <see cref="F:JetBrains.UI.Anchoring.FarWithout"/>.
            </summary>
        </member>
        <member name="M:JetBrains.UI.Anchoring2D.IsNear(JetBrains.UI.Anchoring)">
            <summary>
            Checks whether the given <paramref name="anchoring"/> is one of the Near— anchorings, namely, <see cref="F:JetBrains.UI.Anchoring.NearWithin"/> or <see cref="F:JetBrains.UI.Anchoring.NearWithout"/>.
            </summary>
        </member>
        <member name="M:JetBrains.UI.Anchoring2D.ToArray">
            <summary>
            Creates an array consisting of just one item.
            </summary>
        </member>
        <member name="M:JetBrains.UI.Anchoring2D.ToString">
            <summary>
            Returns a <see cref="T:System.String"></see> that represents the current <see cref="T:System.Object"></see>.
            </summary>
            
            <returns>
            A <see cref="T:System.String"></see> that represents the current <see cref="T:System.Object"></see>.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="P:JetBrains.UI.Anchoring2D.AnchorAside">
            <summary>
            Gets the list of anchoring to place the entity aside the anchor, preferrably, left, right, then bottom and top.
            </summary>
        </member>
        <member name="P:JetBrains.UI.Anchoring2D.AnchorBottomOrTop">
            <summary>
            Gets the list of side-anchoring dispositions in descending order of preferrability.
            The preferred side is bottom, then top, then right and left.
            </summary>
        </member>
        <member name="P:JetBrains.UI.Anchoring2D.AnchorLeftOrRightOnly">
            <summary>
            Gets the list of side-anchoring dispositions in descending order of preferrability.
            The preferred side is right, then left. That's all.
            </summary>
        </member>
        <member name="P:JetBrains.UI.Anchoring2D.AnchorTop">
            <summary>
            Gets the list of side-anchoring dispositions in descending order of preferrability.
            The preferred side is top, sides top to bottom, then bottom.
            </summary>
        </member>
        <member name="P:JetBrains.UI.Anchoring2D.AnchorTopOrBottom">
            <summary>
            Gets the list of side-anchoring dispositions in descending order of preferrability.
            The preferred side is top, then bottom, then left and right.
            </summary>
        </member>
        <member name="P:JetBrains.UI.Anchoring2D.Horizontal">
            <summary>
            Gets or sets the hotizontal component of the anchoring.
            </summary>
        </member>
        <member name="P:JetBrains.UI.Anchoring2D.IsInside">
            <summary>
            Gets whether the anchoring is inside the rect against both dimensions.
            </summary>
        </member>
        <member name="P:JetBrains.UI.Anchoring2D.Vertical">
            <summary>
            Gets or sets the hotizontal component of the anchoring.
            </summary>
        </member>
        <member name="M:JetBrains.Util.ArrayUtil.MurmurHash3(System.Byte*,System.Int32,System.UInt32)">
            <summary>
            Murmur Hash, which is a public domain algorithm.
            </summary>
        </member>
        <member name="M:JetBrains.Util.ArrayUtil.MurmurHash3_Parts(System.Byte*,System.Int32,System.Byte*,System.Int32,System.UInt32)">
            <summary>
            Murmur Hash, which is a public domain algorithm.
            This version works on a buffer split into two parts.
            </summary>
        </member>
        <member name="M:JetBrains.BooleanUtil.Not(System.Boolean)">
            <summary>
            Allows to negate a boolean expression when your caret is at the end, and then a Replace Pattern turns it into a simple "!" negation.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Collections.EnumerableCollection`1">
            <summary>
            This class adapts <see cref="T:System.Collections.Generic.IEnumerable`1"/> to read-only <see cref="T:System.Collections.Generic.ICollection`1"/> involving count of items. Methods <see cref="M:JetBrains.Util.Collections.EnumerableCollection`1.Contains(`0)"/>
            and <see cref="M:JetBrains.Util.Collections.EnumerableCollection`1.CopyTo(`0[],System.Int32)"/> are not supported.
            Used to optimize getting count of items only. Count is specified in constructor - it IS NOT counted automatically by enumerable. 
            </summary>
            <typeparam name="T">The type of the elements in the collection.</typeparam>
        </member>
        <member name="T:System.Linq.EnumerableExJet">
            <summary>
            Extension methods that mimic or extend the standard <see cref="T:System.Linq.Enumerable"/> methods, sharing the same names.
            Thus, this class MUST be in the same namespace, so that there were no problems when importing one of them at random.
            </summary>
        </member>
        <member name="M:System.Linq.EnumerableExJet.First``1(System.Collections.Generic.IEnumerable{``0},System.String)">
            <summary>
            Returns the first element of a sequence. 
            </summary>
            <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
            <param name="source">The <see cref="T:System.Collections.Generic.IEnumerable`1"/> to return the first element of. </param>
            <param name="sExceptionMessageEmpty">The message for an exception to be thrown if the <paramref name="source"/> is empty.</param>
            <returns>The first element in the specified sequence. </returns>
        </member>
        <member name="M:System.Linq.EnumerableExJet.Single``1(System.Collections.Generic.IEnumerable{``0},System.String,System.String)">
            <summary>
            Returns the only element of a sequence that satisfies a specified condition, and throws an exception if more than one such element exists.
            </summary>
            <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
            <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> to return a single element from. </param>
            <param name="sExceptionMessageEmpty">The message for an exception to be thrown if the <paramref name="source"/> is empty.</param>
            <param name="sExceptionMessageAmbiguous">The message for an exception to be thrown if the <paramref name="source"/> contains more than one element.</param>
            <returns>The single element of the input sequence that satisfies a condition.</returns>
        </member>
        <member name="T:JetBrains.Util.Collections.HashMap`2">
            <summary>
            Reimplementation of Dictionary.
            </summary>
            <typeparam name="TKey"></typeparam>
            <typeparam name="TValue"></typeparam>
        </member>
        <member name="F:JetBrains.Util.Collections.HashMap`2.Entry.HashCode">
            <summary>
            Cached hash code of the key, -1 means entry is free
            </summary>
        </member>
        <member name="F:JetBrains.Util.Collections.HashMap`2.Entry.NextEntryIndex">
            <summary>
            Index of next entry in the chain of keys with the same hashcodes (modulo size), -1 means last
            </summary>
        </member>
        <member name="F:JetBrains.Util.Collections.HashMap`2.Entry.PrevEntryIndex">
            <summary>
            Index of previous entry in the chain of keys with the same hashcodes (modulo size), -1 means first
            </summary>
        </member>
        <member name="T:JetBrains.Util.DictionaryWrapper`2">
            <summary>
            Dictionary with <see cref="F:JetBrains.Util.DictionaryWrapper`2.Statistics"/> for each operation. Can be serialized/deserialized seamlessly.
            </summary>
            <typeparam name="TKey"></typeparam>
            <typeparam name="TValue"></typeparam>
        </member>
        <member name="T:JetBrains.Util.DataStructures.ReadOnlyException">
            <summary>Represents the exception that is thrown when you try to change the value of a read-only entity.</summary>
        </member>
        <member name="F:JetBrains.Util.StrongToWeakDictionary`2.Entry.HashCode">
            <summary>
            Cached hash code of the key, -1 means entry is free
            </summary>
        </member>
        <member name="F:JetBrains.Util.StrongToWeakDictionary`2.Entry.NextEntryIndex">
            <summary>
            Index of next entry in the chain of keys with the same hashcodes (modulo size), -1 means last
            </summary>
        </member>
        <member name="F:JetBrains.Util.StrongToWeakDictionary`2.Entry.PrevEntryIndex">
            <summary>
            Index of previous entry in the chain of keys with the same hashcodes (modulo size), -1 means first
            </summary>
        </member>
        <member name="T:JetBrains.Util.TypeOf">
            <summary>
            Caches <see cref="T:System.Type"/> instances for popular types.
            </summary>
        </member>
        <member name="T:JetBrains.Concurrency.Fiber">
            <summary>
            Implements the fibers (non-preemptive multitasking).
            </summary>
        </member>
        <member name="T:JetBrains.Concurrency.IFiber">
            <summary>
            Common interface for various fiber incarnations.
            </summary>
        </member>
        <member name="M:JetBrains.Concurrency.IFiber.YieldTo">
            <summary>
            Yields execution to this fiber.
            </summary>
        </member>
        <member name="P:JetBrains.Concurrency.IFiber.IsCompleted">
            <summary>
            Whether the fiber coroutine has started running and completed its run successfully.
            A primary fiber is never considered completed, as its code has no specific end.
            </summary>
        </member>
        <member name="P:JetBrains.Concurrency.IFiber.IsPrimary">
            <summary>
            Whether this is the primary fiber, a wrapper over the thread's main execution flow, rather than a specifically created coroutine.
            </summary>
        </member>
        <member name="M:JetBrains.Concurrency.Fiber.#ctor(System.Action)">
            <summary>
            Creates a new secondary fiber.
            </summary>
        </member>
        <member name="M:JetBrains.Concurrency.Fiber.#ctor">
            <summary>
            Wraps the primary fiber.
            </summary>
        </member>
        <member name="M:JetBrains.Concurrency.Fiber.CreateSecondaryFiber(System.Action)">
            <summary>
            Creates a new fiber to execute the <paramref name="action"/> in.
            To start execution, <see cref="M:JetBrains.Concurrency.Fiber.YieldTo"/> this fiber.
            </summary>
        </member>
        <member name="M:JetBrains.Concurrency.Fiber.GetPrimaryFiber">
            <summary>
            Gets the primary fiber for this thread. It represents the main execution path of the thread.
            </summary>
        </member>
        <member name="M:JetBrains.Concurrency.Fiber.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
            <filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.Concurrency.Fiber.YieldTo">
            <summary>
            Yields execution to this fiber.
            </summary>
        </member>
        <member name="P:JetBrains.Concurrency.Fiber.IsCompleted">
            <summary>
            Whether the fiber coroutine has started running and completed its run successfully.
            A primary fiber is never considered completed, as its code has no specific end.
            </summary>
        </member>
        <member name="P:JetBrains.Concurrency.Fiber.IsPrimary">
            <summary>
            Whether this is the primary fiber, a wrapper over the thread's main execution flow (<see cref="M:JetBrains.Concurrency.Fiber.GetPrimaryFiber"/>), rather than a specifically created coroutine (<see cref="M:JetBrains.Concurrency.Fiber.CreateSecondaryFiber(System.Action)"/>).
            </summary>
        </member>
        <member name="T:JetBrains.Concurrency.Fiber.FiberProc">
            <summary>
            Fiber proc prototype. Cannot use a generic <see cref="T:System.Action`1"/> for marshalling.
            </summary>
        </member>
        <member name="T:JetBrains.Concurrency.FiberOverThread">
            <summary>
            Manages multiple threads of execution via fiber-like API.
            </summary>
        </member>
        <member name="F:JetBrains.Concurrency.FiberOverThread._current">
            <summary>
            The current fiber for this thread, or <c>Null</c> if no active one available.
            </summary>
        </member>
        <member name="M:JetBrains.Concurrency.FiberOverThread.#ctor">
            <summary>
            Primary.
            </summary>
        </member>
        <member name="M:JetBrains.Concurrency.FiberOverThread.#ctor(System.Action)">
            <summary>
            Secondary.
            </summary>
        </member>
        <member name="M:JetBrains.Concurrency.FiberOverThread.CreateSecondaryFiber(System.Action)">
            <summary>
            Creates a new fiber to execute the <paramref name="action"/> in.
            To start execution, <see cref="M:JetBrains.Concurrency.FiberOverThread.YieldTo"/> this fiber.
            </summary>
        </member>
        <member name="M:JetBrains.Concurrency.FiberOverThread.GetPrimaryFiber">
            <summary>
            Gets the primary fiber for this thread. It represents the main execution path of the thread.
            </summary>
        </member>
        <member name="M:JetBrains.Concurrency.FiberOverThread.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
            <filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.Concurrency.FiberOverThread.YieldTo">
            <summary>
            Yields execution to this fiber.
            </summary>
        </member>
        <member name="P:JetBrains.Concurrency.FiberOverThread.IsCompleted">
            <summary>
            Whether the fiber coroutine has started running and completed its run successfully.
            A primary fiber is never considered completed, as its code has no specific end.
            </summary>
        </member>
        <member name="P:JetBrains.Concurrency.FiberOverThread.IsPrimary">
            <summary>
            Whether this is the primary fiber, a wrapper over the thread's main execution flow, rather than a specifically created coroutine.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Concurrency.FrugalLocalLazy`1">
            <summary>
            <para>Provides support for several common patterns of lazy initialization, including the ability to initialize value types and to use null values.</para>
            <para>This is a frugal version of <see cref="T:JetBrains.Util.Lazy.Lazy`1"/> and <see cref="T:JetBrains.Util.Concurrency.LocalLazy`1"/> that does not create any objects until the lazy value is initialized to a reference type.</para>
            <para>This class only supports creating reference types with default constructors in a thread-unsafe manner, but its added memory usage is exactly zero (it takes as much space in the containing class as a field with a reference to the lazily-created value would do).</para>
            <para>For use in private fields only. Do not expose! Assigning this object to any variables breaks the pattern.</para>
            </summary>
            <typeparam name="T">Specifies the type of element being laziliy initialized.</typeparam>
        </member>
        <member name="T:JetBrains.Threading.GuardAttribute">
            <summary>
            Defines the guarded context affinity of the method: whether it expects to be always executed in a guarded context, or is considered an “outer world” method.
            </summary>
        </member>
        <member name="M:JetBrains.Threading.GuardAttribute.#ctor(JetBrains.Threading.Rgc)">
            <summary>
            Defines the guarded context affinity of the method: whether it expects to be always executed in a guarded context, or is considered an “outer world” method.
            </summary>
        </member>
        <member name="T:JetBrains.Threading.Rgc">
            <summary>
            <c>ReentrancyGuardContext</c>
            Defines the guarded context affinity of the method: whether it expects to be always executed in a guarded context, or is considered an “outer world” method.
            </summary>
        </member>
        <member name="F:JetBrains.Threading.Rgc.NotSpecified">
            <summary>
            There is no information regarding guarded context affinity yet.
            </summary>
        </member>
        <member name="F:JetBrains.Threading.Rgc.Guarded">
            <summary>
            Must be guarded from reentrancy. Make sure to either take a <see cref="T:JetBrains.Threading.ReentrancyGuard"/> or call it from the guarded context.
            </summary>
        </member>
        <member name="F:JetBrains.Threading.Rgc.Unguarded">
            <summary>
            Assumed to be executed in the “outer world” and must tage a <see cref="T:JetBrains.Threading.ReentrancyGuard"/> before calling any <see cref="F:JetBrains.Threading.Rgc.Guarded"/> things.
            </summary>
        </member>
        <member name="F:JetBrains.Threading.Rgc.Invariant">
            <summary>
            Does not deal with <see cref="F:JetBrains.Threading.Rgc.Guarded"/> entities and can thus be used both in guarded and unguarded contexts.
            </summary>
        </member>
        <member name="F:JetBrains.Threading.Rgc.Special">
            <summary>
            Neither <see cref="F:JetBrains.Threading.Rgc.Guarded"/> nor <see cref="F:JetBrains.Threading.Rgc.Unguarded"/> nor <see cref="F:JetBrains.Threading.Rgc.Invariant"/>.
            </summary>
        </member>
        <member name="T:JetBrains.UI.Application.LocalReentrancyGuard">
            <summary>
            In the local scope, prevents reentrancy with own methods only.
            Thread-safe.
            </summary>
        </member>
        <member name="M:JetBrains.UI.Application.LocalReentrancyGuard.TryExecute(System.Action)">
            <summary>
            Executes the action, if not yet executing another one.
            </summary>
            <param name="action">Action.</param>
            <returns>Whether the action were executed.</returns>
        </member>
        <member name="M:JetBrains.UI.Application.LocalReentrancyGuard.Execute(System.Action)">
            <summary>
            Executes the action, if not yet executing another one.
            </summary>
            <param name="action">Action.</param>
        </member>
        <member name="T:JetBrains.Util.Concurrency.UnguardedCallbackMerger">
            <summary>
            <para>Allows to join expected callbacks from unguarded context into the current guarded context.</para>
            <para>When running in the guarded context, nest the actions that might cause callbacks from unguarded context within a <see cref="M:JetBrains.Util.Concurrency.UnguardedCallbackMerger.ExpectUnguardedCallback(System.Action)"/> call. <see cref="P:JetBrains.Util.Concurrency.UnguardedCallbackMerger.IsExpectingUnguardedCallback"/> will come <c>True</c>.</para>
            <para>In the callback handler, use <see cref="M:JetBrains.Util.Concurrency.UnguardedCallbackMerger.ExecuteOrQueueOrMerge(System.String,System.Action)"/>. If <see cref="P:JetBrains.Util.Concurrency.UnguardedCallbackMerger.IsExpectingUnguardedCallback"/>, it will be merged into the current guarded context (this is considered a reentrant-safe activity). Otherwise, <see cref="!:Threading.ReentrancyGuard.ExecuteOrQueue"/> will be used.</para>
            <para>Can be reused.</para>
            </summary>
        </member>
        <member name="M:JetBrains.Util.Concurrency.UnguardedCallbackMerger.#ctor(JetBrains.DataFlow.Lifetime,JetBrains.Threading.ReentrancyGuard,JetBrains.Util.Concurrency.UnguardedCallbackMerger.BehaviorFlags)">
            <summary>
            Init.
            </summary>
            <param name="lifetime"></param>
            <param name="guard">Identifies the thread.</param>
            <param name="flags">Behavior flags &amp; options.</param>
        </member>
        <member name="M:JetBrains.Util.Concurrency.UnguardedCallbackMerger.ExecuteOrQueueOrMerge(System.String,System.Action)">
            <summary>
            <para>Executes the <paramref name="F"/> in the guarded context.</para>
            <para>If <see cref="P:JetBrains.Util.Concurrency.UnguardedCallbackMerger.IsExpectingUnguardedCallback"/> (ie running inside <see cref="M:JetBrains.Util.Concurrency.UnguardedCallbackMerger.ExpectUnguardedCallback(System.Action)"/>), merges the call into the current guarded context. Otherwise, does the regular <see cref="!:Threading.ReentrancyGuard.ExecuteOrQueue"/>.</para>
            <para>Executes sync or async. Must be run on the <see cref="F:JetBrains.Util.Concurrency.UnguardedCallbackMerger.ReentrancyGuard"/> thread.</para>
            <para>Catches all exceptions.</para>
            <para>The lifetime of this schedulled request is limited by the lifetime of this unguarded callbacks merger.</para>
            </summary>
        </member>
        <member name="M:JetBrains.Util.Concurrency.UnguardedCallbackMerger.ExecuteOrQueueOrMerge(JetBrains.DataFlow.Lifetime,System.String,System.Action)">
            <summary>
            <para>Executes the <paramref name="F"/> in the guarded context.</para>
            <para>If <see cref="P:JetBrains.Util.Concurrency.UnguardedCallbackMerger.IsExpectingUnguardedCallback"/> (ie running inside <see cref="M:JetBrains.Util.Concurrency.UnguardedCallbackMerger.ExpectUnguardedCallback(System.Action)"/>), merges the call into the current guarded context. Otherwise, does the regular <see cref="!:Threading.ReentrancyGuard.ExecuteOrQueue"/>.</para>
            <para>Executes sync or async. Must be run on the <see cref="F:JetBrains.Util.Concurrency.UnguardedCallbackMerger.ReentrancyGuard"/> thread.</para>
            <para>Catches all exceptions.</para>
            <returns><c>True</c> if executed immediately, <c>False</c> if queued (<see cref="!:Threading.ReentrancyGuard.TryExecute"/>-compatible behavior).</returns>
            </summary>
        </member>
        <member name="M:JetBrains.Util.Concurrency.UnguardedCallbackMerger.ExpectUnguardedCallback(System.Action)">
            <summary>
            <para>Says that we're expecting callbacks from the unguarded context, and they should be allowed into the current context if they use <see cref="M:JetBrains.Util.Concurrency.UnguardedCallbackMerger.ExecuteOrQueueOrMerge(System.String,System.Action)"/>.</para>
            </summary>
        </member>
        <member name="P:JetBrains.Util.Concurrency.UnguardedCallbackMerger.IsExpectingUnguardedCallback">
            <summary>
            Whether we're inside <see cref="M:JetBrains.Util.Concurrency.UnguardedCallbackMerger.ExpectUnguardedCallback(System.Action)"/>.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Concurrency.UnguardedCallbackMerger.BehaviorFlags">
            <summary>
            <see cref="T:JetBrains.Util.Concurrency.UnguardedCallbackMerger"/> behavior aspects.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Concurrency.UnguardedCallbackMerger.BehaviorFlags.ExecutePendingLeftovers">
            <summary>
            <para>Use the default <see cref="F:JetBrains.Util.Concurrency.UnguardedCallbackMerger.ReentrancyGuard"/> behavior: if the callbacks were queued for execution with <see cref="!:ReentrancyGuard.Queue"/>, they're not reclaimed after the owning object is disposed of, and will still have a chance to execute.</para>
            <para>This is the default.</para>
            </summary>
        </member>
        <member name="F:JetBrains.Util.Concurrency.UnguardedCallbackMerger.BehaviorFlags.DropPendingLeftovers">
            <summary>
            <para>If there're any pending callbacks queued for execution with <see cref="!:ReentrancyGuard.Queue"/> at the moment the owning object is disposed of, they're dropped.</para>
            <para>No code submitted through this object will execute after it is disposed of.</para>
            </summary>
        </member>
        <member name="F:JetBrains.Util.Concurrency.UnguardedCallbackMerger.BehaviorFlags.ProhibitNestedExpectations">
            <summary>
            <para>When running inside <see cref="M:JetBrains.Util.Concurrency.UnguardedCallbackMerger.ExpectUnguardedCallback(System.Action)"/>, nested calls to <see cref="M:JetBrains.Util.Concurrency.UnguardedCallbackMerger.ExpectUnguardedCallback(System.Action)"/> are prohibited. An attempt to place such a call will result in an exception.</para>
            <para>This is the default.</para>
            </summary>
        </member>
        <member name="F:JetBrains.Util.Concurrency.UnguardedCallbackMerger.BehaviorFlags.AllowNestedExpectations">
            <summary>
            <para>When running inside <see cref="M:JetBrains.Util.Concurrency.UnguardedCallbackMerger.ExpectUnguardedCallback(System.Action)"/>, nested calls to <see cref="M:JetBrains.Util.Concurrency.UnguardedCallbackMerger.ExpectUnguardedCallback(System.Action)"/> are allowed.</para>
            </summary>
        </member>
        <member name="M:JetBrains.Util.DataStructures.ChunkArray`1.#ctor(System.Int32,System.Int32)">
            <summary>
            Creates array that can exceed 2Gb per object limit of .NET
            </summary>
            <param name="length">The length of the array</param>
            <param name="chunkLength">The length of the one chunk. Must be pow of 2</param>
        </member>
        <member name="M:JetBrains.Util.DataStructures.ChunkArray`1.#ctor(System.Int32)">
            <summary>
            Creates array with guarantee that data will not be allocated in LOH
            </summary>
            <param name="length">The count of array elements</param>
        </member>
        <member name="T:JetBrains.DataStructures.CyclicBuffer">
            <summary>
            A cyclic buffer, like a queue for bytes, but optimized for byte block operations. For reading and writing, use the provided <see cref="T:System.IO.Stream"/> interface.
            </summary>
        </member>
        <member name="F:JetBrains.DataStructures.CyclicBuffer._end">
            <summary>
            End of used data range in <see cref="F:JetBrains.DataStructures.CyclicBuffer._storage"/>, non-inclusive (points after the last used byte, might be equal to storage length). Might be below <see cref="F:JetBrains.DataStructures.CyclicBuffer._start"/>, in which case the data loops around the buffer end.
            </summary>
        </member>
        <member name="F:JetBrains.DataStructures.CyclicBuffer._start">
            <summary>
            Starts of used data range in <see cref="F:JetBrains.DataStructures.CyclicBuffer._storage"/>.
            </summary>
        </member>
        <member name="F:JetBrains.DataStructures.CyclicBuffer._storage">
            <summary>
            The cyclic storage.
            </summary>
        </member>
        <member name="M:JetBrains.DataStructures.CyclicBuffer.ReadCore(System.Byte[],System.Int32,System.Int32,JetBrains.DataStructures.CyclicBuffer.OutputStream.BehaviorFlags,System.Boolean)">
            <summary>
            Implements reading from the stream (and also peeking at the data without spending the stored bytes).
            </summary>
            <param name="arTarget">Target for reading (as in <see cref="M:System.IO.Stream.Read(System.Byte[],System.Int32,System.Int32)"/>).</param>
            <param name="nTargetOffset">Target for reading (as in <see cref="M:System.IO.Stream.Read(System.Byte[],System.Int32,System.Int32)"/>).</param>
            <param name="nTargetCount">Target for reading (as in <see cref="M:System.IO.Stream.Read(System.Byte[],System.Int32,System.Int32)"/>).</param>
            <param name="behavior">Behavior when running out of buffer.</param>
            <param name="bAdvanceReadPosition">Spend the read bytes and decrease the number of bytes available in the storage. If <c>False</c>, just peeks at the stored data without modifying the storage.</param>
            <returns>The number of bytes actually read.</returns>
        </member>
        <member name="M:JetBrains.DataStructures.CyclicBuffer.WriteCore(System.Byte[],System.Int32,System.Int32,JetBrains.DataStructures.CyclicBuffer.InputStream.BehaviorFlags)">
            <summary>
            Implements writing to the stream.
            </summary>
            <param name="arSource">Source for writing (as in <see cref="M:System.IO.Stream.Write(System.Byte[],System.Int32,System.Int32)"/>).</param>
            <param name="nSourceOffset">Source for writing (as in <see cref="M:System.IO.Stream.Write(System.Byte[],System.Int32,System.Int32)"/>).</param>
            <param name="nSourceCount">Source for writing (as in <see cref="M:System.IO.Stream.Write(System.Byte[],System.Int32,System.Int32)"/>).</param>
            <param name="behavior">Behavior when running out of buffer.</param>
            <returns>The number of bytes actually written.</returns>
        </member>
        <member name="M:JetBrains.DataStructures.CyclicBuffer.Add(System.Byte)">
            <summary>
            Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
            <param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
            <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.</exception>
        </member>
        <member name="M:JetBrains.DataStructures.CyclicBuffer.Clear">
            <summary>
            Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
            <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only. </exception>
        </member>
        <member name="M:JetBrains.DataStructures.CyclicBuffer.Contains(System.Byte)">
            <summary>
            Determines whether the <see cref="T:System.Collections.Generic.ICollection`1" /> contains a specific value.
            </summary>
            <returns>
            true if <paramref name="item" /> is found in the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false.
            </returns>
            <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
        </member>
        <member name="M:JetBrains.DataStructures.CyclicBuffer.CopyTo(System.Byte[],System.Int32)">
            <summary>
            Copies the elements of the <see cref="T:System.Collections.Generic.ICollection`1" /> to an <see cref="T:System.Array" />, starting at a particular <see cref="T:System.Array" /> index.
            </summary>
            <param name="array">The one-dimensional <see cref="T:System.Array" /> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.ICollection`1" />. The <see cref="T:System.Array" /> must have zero-based indexing.</param>
            <param name="arrayIndex">The zero-based index in <paramref name="array" /> at which copying begins.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="array" /> is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="arrayIndex" /> is less than 0.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="array" /> is multidimensional.-or-<paramref name="arrayIndex" /> is equal to or greater than the length of <paramref name="array" />.-or-The number of elements in the source <see cref="T:System.Collections.Generic.ICollection`1" /> is greater than the available space from <paramref name="arrayIndex" /> to the end of the destination <paramref name="array" />.-or-Type <c>T</c> cannot be cast automatically to the type of the destination <paramref name="array" />.</exception>
        </member>
        <member name="M:JetBrains.DataStructures.CyclicBuffer.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.
            </returns>
            <filterpriority>1</filterpriority>
        </member>
        <member name="M:JetBrains.DataStructures.CyclicBuffer.Remove(System.Byte)">
            <summary>
            Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
            <returns>
            true if <paramref name="item" /> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false. This method also returns false if <paramref name="item" /> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1" />.
            </returns>
            <param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
            <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.</exception>
        </member>
        <member name="M:JetBrains.DataStructures.CyclicBuffer.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="P:JetBrains.DataStructures.CyclicBuffer.Capacity">
            <summary>
            Gets or sets the capacity of the buffer storage, which is the maximum <see cref="P:JetBrains.DataStructures.CyclicBuffer.Count"/> it can hold without growing, which growing could be prohibited by setting the <see cref="P:JetBrains.DataStructures.CyclicBuffer.Input"/> <see cref="P:JetBrains.DataStructures.CyclicBuffer.InputStream.Behavior"/>.
            </summary>
        </member>
        <member name="P:JetBrains.DataStructures.CyclicBuffer.Input">
            <summary>
            Gets the stream for writing to the buffer.
            </summary>
        </member>
        <member name="P:JetBrains.DataStructures.CyclicBuffer.Output">
            <summary>
            Gets the stream for reading from the buffer.
            </summary>
        </member>
        <member name="P:JetBrains.DataStructures.CyclicBuffer.Count">
            <summary>
            Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
            <returns>
            The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </returns>
        </member>
        <member name="P:JetBrains.DataStructures.CyclicBuffer.IsReadOnly">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
            </summary>
            <returns>
            true if the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only; otherwise, false.
            </returns>
        </member>
        <member name="T:JetBrains.DataStructures.CyclicBuffer.InputStream">
            <summary>
            <see cref="T:System.IO.Stream"/> for the <see cref="P:JetBrains.DataStructures.CyclicBuffer.Input"/>.
            </summary>
        </member>
        <member name="M:JetBrains.DataStructures.CyclicBuffer.InputStream.Flush">
            <summary>
            When overridden in a derived class, clears all buffers for this stream and causes any buffered data to be written to the underlying device.
            </summary>
            <exception cref="T:System.IO.IOException">An I/O error occurs. </exception><filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.DataStructures.CyclicBuffer.InputStream.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            When overridden in a derived class, reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
            </summary>
            <returns>
            The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached.
            </returns>
            <param name="buffer">An array of bytes. When this method returns, the buffer contains the specified byte array with the values between <paramref name="offset" /> and (<paramref name="offset" /> + <paramref name="count" /> - 1) replaced by the bytes read from the current source. </param>
            <param name="offset">The zero-based byte offset in <paramref name="buffer" /> at which to begin storing the data read from the current stream. </param>
            <param name="count">The maximum number of bytes to be read from the current stream. </param>
            <exception cref="T:System.ArgumentException">The sum of <paramref name="offset" /> and <paramref name="count" /> is larger than the buffer length. </exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="buffer" /> is null. </exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="offset" /> or <paramref name="count" /> is negative. </exception>
            <exception cref="T:System.IO.IOException">An I/O error occurs. </exception>
            <exception cref="T:System.NotSupportedException">The stream does not support reading. </exception>
            <exception cref="T:System.ObjectDisposedException">Methods were called after the stream was closed. </exception><filterpriority>1</filterpriority>
        </member>
        <member name="M:JetBrains.DataStructures.CyclicBuffer.InputStream.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>
            When overridden in a derived class, sets the position within the current stream.
            </summary>
            <returns>
            The new position within the current stream.
            </returns>
            <param name="offset">A byte offset relative to the <paramref name="origin" /> parameter. </param>
            <param name="origin">A value of type <see cref="T:System.IO.SeekOrigin" /> indicating the reference point used to obtain the new position. </param>
            <exception cref="T:System.IO.IOException">An I/O error occurs. </exception>
            <exception cref="T:System.NotSupportedException">The stream does not support seeking, such as if the stream is constructed from a pipe or console output. </exception>
            <exception cref="T:System.ObjectDisposedException">Methods were called after the stream was closed. </exception><filterpriority>1</filterpriority>
        </member>
        <member name="M:JetBrains.DataStructures.CyclicBuffer.InputStream.SetLength(System.Int64)">
            <summary>
            When overridden in a derived class, sets the length of the current stream.
            </summary>
            <param name="value">The desired length of the current stream in bytes. </param>
            <exception cref="T:System.IO.IOException">An I/O error occurs. </exception>
            <exception cref="T:System.NotSupportedException">The stream does not support both writing and seeking, such as if the stream is constructed from a pipe or console output. </exception>
            <exception cref="T:System.ObjectDisposedException">Methods were called after the stream was closed. </exception><filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.DataStructures.CyclicBuffer.InputStream.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
            </summary>
            <param name="buffer">An array of bytes. This method copies <paramref name="count" /> bytes from <paramref name="buffer" /> to the current stream. </param>
            <param name="offset">The zero-based byte offset in <paramref name="buffer" /> at which to begin copying bytes to the current stream. </param>
            <param name="count">The number of bytes to be written to the current stream. </param>
            <exception cref="T:System.ArgumentException">The sum of <paramref name="offset" /> and <paramref name="count" /> is greater than the buffer length. </exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="buffer" /> is null. </exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="offset" /> or <paramref name="count" /> is negative. </exception>
            <exception cref="T:System.IO.IOException">An I/O error occurs. </exception>
            <exception cref="T:System.NotSupportedException">The stream does not support writing. </exception>
            <exception cref="T:System.ObjectDisposedException">Methods were called after the stream was closed. </exception><filterpriority>1</filterpriority>
        </member>
        <member name="P:JetBrains.DataStructures.CyclicBuffer.InputStream.CanRead">
            <summary>
            When overridden in a derived class, gets a value indicating whether the current stream supports reading.
            </summary>
            <returns>
            true if the stream supports reading; otherwise, false.
            </returns>
            <filterpriority>1</filterpriority>
        </member>
        <member name="P:JetBrains.DataStructures.CyclicBuffer.InputStream.CanSeek">
            <summary>
            When overridden in a derived class, gets a value indicating whether the current stream supports seeking.
            </summary>
            <returns>
            true if the stream supports seeking; otherwise, false.
            </returns>
            <filterpriority>1</filterpriority>
        </member>
        <member name="P:JetBrains.DataStructures.CyclicBuffer.InputStream.CanWrite">
            <summary>
            When overridden in a derived class, gets a value indicating whether the current stream supports writing.
            </summary>
            <returns>
            true if the stream supports writing; otherwise, false.
            </returns>
            <filterpriority>1</filterpriority>
        </member>
        <member name="P:JetBrains.DataStructures.CyclicBuffer.InputStream.Length">
            <summary>
            When overridden in a derived class, gets the length in bytes of the stream.
            </summary>
            <returns>
            A long value representing the length of the stream in bytes.
            </returns>
            <exception cref="T:System.NotSupportedException">A class derived from Stream does not support seeking. </exception>
            <exception cref="T:System.ObjectDisposedException">Methods were called after the stream was closed. </exception><filterpriority>1</filterpriority>
        </member>
        <member name="P:JetBrains.DataStructures.CyclicBuffer.InputStream.Position">
            <summary>
            When overridden in a derived class, gets or sets the position within the current stream.
            </summary>
            <returns>
            The current position within the stream.
            </returns>
            <exception cref="T:System.IO.IOException">An I/O error occurs. </exception>
            <exception cref="T:System.NotSupportedException">The stream does not support seeking. </exception>
            <exception cref="T:System.ObjectDisposedException">Methods were called after the stream was closed. </exception><filterpriority>1</filterpriority>
        </member>
        <member name="F:JetBrains.DataStructures.CyclicBuffer.InputStream.BehaviorFlags.WhenFullGrow">
            <summary>
            When there is no more room for writing, grows the storage.
            </summary>
        </member>
        <member name="F:JetBrains.DataStructures.CyclicBuffer.InputStream.BehaviorFlags.WhenFullThrow">
            <summary>
            When there is no more room for writing, throws an exception.
            </summary>
        </member>
        <member name="T:JetBrains.DataStructures.CyclicBuffer.OutputStream">
            <summary>
            <see cref="T:System.IO.Stream"/> for the <see cref="P:JetBrains.DataStructures.CyclicBuffer.Output"/>.
            </summary>
        </member>
        <member name="M:JetBrains.DataStructures.CyclicBuffer.OutputStream.Flush">
            <summary>
            When overridden in a derived class, clears all buffers for this stream and causes any buffered data to be written to the underlying device.
            </summary>
            <exception cref="T:System.IO.IOException">An I/O error occurs. </exception><filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.DataStructures.CyclicBuffer.OutputStream.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            When overridden in a derived class, reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
            </summary>
            <returns>
            The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached.
            </returns>
            <param name="buffer">An array of bytes. When this method returns, the buffer contains the specified byte array with the values between <paramref name="offset" /> and (<paramref name="offset" /> + <paramref name="count" /> - 1) replaced by the bytes read from the current source. </param>
            <param name="offset">The zero-based byte offset in <paramref name="buffer" /> at which to begin storing the data read from the current stream. </param>
            <param name="count">The maximum number of bytes to be read from the current stream. </param>
            <exception cref="T:System.ArgumentException">The sum of <paramref name="offset" /> and <paramref name="count" /> is larger than the buffer length. </exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="buffer" /> is null. </exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="offset" /> or <paramref name="count" /> is negative. </exception>
            <exception cref="T:System.IO.IOException">An I/O error occurs. </exception>
            <exception cref="T:System.NotSupportedException">The stream does not support reading. </exception>
            <exception cref="T:System.ObjectDisposedException">Methods were called after the stream was closed. </exception><filterpriority>1</filterpriority>
        </member>
        <member name="M:JetBrains.DataStructures.CyclicBuffer.OutputStream.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>
            When overridden in a derived class, sets the position within the current stream.
            </summary>
            <returns>
            The new position within the current stream.
            </returns>
            <param name="offset">A byte offset relative to the <paramref name="origin" /> parameter. </param>
            <param name="origin">A value of type <see cref="T:System.IO.SeekOrigin" /> indicating the reference point used to obtain the new position. </param>
            <exception cref="T:System.IO.IOException">An I/O error occurs. </exception>
            <exception cref="T:System.NotSupportedException">The stream does not support seeking, such as if the stream is constructed from a pipe or console output. </exception>
            <exception cref="T:System.ObjectDisposedException">Methods were called after the stream was closed. </exception><filterpriority>1</filterpriority>
        </member>
        <member name="M:JetBrains.DataStructures.CyclicBuffer.OutputStream.SetLength(System.Int64)">
            <summary>
            When overridden in a derived class, sets the length of the current stream.
            </summary>
            <param name="value">The desired length of the current stream in bytes. </param>
            <exception cref="T:System.IO.IOException">An I/O error occurs. </exception>
            <exception cref="T:System.NotSupportedException">The stream does not support both writing and seeking, such as if the stream is constructed from a pipe or console output. </exception>
            <exception cref="T:System.ObjectDisposedException">Methods were called after the stream was closed. </exception><filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.DataStructures.CyclicBuffer.OutputStream.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
            </summary>
            <param name="buffer">An array of bytes. This method copies <paramref name="count" /> bytes from <paramref name="buffer" /> to the current stream. </param>
            <param name="offset">The zero-based byte offset in <paramref name="buffer" /> at which to begin copying bytes to the current stream. </param>
            <param name="count">The number of bytes to be written to the current stream. </param>
            <exception cref="T:System.ArgumentException">The sum of <paramref name="offset" /> and <paramref name="count" /> is greater than the buffer length. </exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="buffer" /> is null. </exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="offset" /> or <paramref name="count" /> is negative. </exception>
            <exception cref="T:System.IO.IOException">An I/O error occurs. </exception>
            <exception cref="T:System.NotSupportedException">The stream does not support writing. </exception>
            <exception cref="T:System.ObjectDisposedException">Methods were called after the stream was closed. </exception><filterpriority>1</filterpriority>
        </member>
        <member name="P:JetBrains.DataStructures.CyclicBuffer.OutputStream.CanRead">
            <summary>
            When overridden in a derived class, gets a value indicating whether the current stream supports reading.
            </summary>
            <returns>
            true if the stream supports reading; otherwise, false.
            </returns>
            <filterpriority>1</filterpriority>
        </member>
        <member name="P:JetBrains.DataStructures.CyclicBuffer.OutputStream.CanSeek">
            <summary>
            When overridden in a derived class, gets a value indicating whether the current stream supports seeking.
            </summary>
            <returns>
            true if the stream supports seeking; otherwise, false.
            </returns>
            <filterpriority>1</filterpriority>
        </member>
        <member name="P:JetBrains.DataStructures.CyclicBuffer.OutputStream.CanWrite">
            <summary>
            When overridden in a derived class, gets a value indicating whether the current stream supports writing.
            </summary>
            <returns>
            true if the stream supports writing; otherwise, false.
            </returns>
            <filterpriority>1</filterpriority>
        </member>
        <member name="P:JetBrains.DataStructures.CyclicBuffer.OutputStream.Length">